1.dependency walker 可以帮助调试,查看运行库德依赖;

2.改变子窗口的背景颜色方式,响应下面的函数

   afx_msgHBRUSHOnCtlColor(CDC*pDC,   CWnd*pWnd,   UINTnCtlColor);

   对应宏  ON_WM_CTLCOLOR

3.获取活动窗口的名字

   CWnd*AFXAPI AfxGetMainWnd();

4.设置窗口的透明化

   参见:

    SetLayeredWindowAttributes

5.设置内存泄露检查

   _CrtSetDbgFlag

6.国际化

原型:

int main()

{

   sdt::cout<<"hello world!"<<endle;

   return 0;

}

国际化格式:

int main()

{

   Translator* _pTr = new Translator();

   _pTr->loadLang("lang.xml");

   std::cout<<_pTr->Local("hello world!")<<endle;

}

操作过程:

   Translator配置第一次运行的时候,将"hello world!"写入xml文件;格式形如:

<nodes Index = "1">

   <nodes src = "hello world!" local = "hello world!">

</nodes>

   翻译之后:

<nodes Index = "1">

   <nodes src = "hello world!" local = "你好,世界!">

</nodes>

   可见Translator的loadLang就是提工这么一个查找和转换的过程。

7.一些框架理念

   统一数据管理:方便数据在模块之间的传递、共享、保存、转换;

   统一视图管理:方便视图的复用;

   统一设备管理:所以逻辑模块抽象为设备,方便模块复用的统一调度管理;

8.在查找预编译头时遇到意外的文件结尾。是否忘记了向源代码中添加“#include name”?

  • 如果项目中没有使用预编译头,请将源文件的“创建/使用预编译头”属性设置为“不使用预编译头”。若要设置此编译器选项,请遵循以下这些步骤:

    1. 在项目的“解决方案资源管理器”窗格中,右击项目名称,再单击“属性”

    2. 在左窗格中单击“C/C++”文件夹。

    3. 单击“预编译头”节点。

    4. 在右窗格中单击“创建/使用预编译头”,再单击“不使用预编译头”

  • 确保您没有在不注意的情况下从当前项目中删除、重命名或移除头文件(默认为 stdafx.h)。还需要使用 #include "stdafx.h" 在源文件中的任何其他代码之前包含这一文件。(此头文件被指定为“通过文件创建/使用 PCH”项目属性)

9.xml文件的注释为

<!--内容-->

10.第三方编译库包含

   在VS的 工具->属性->项目和解决方案->VC++目录中,分别对:

   include file \ library file\ source file 进行设置:直接指定到要连接的第三方库目录。

11.codejock

   模板库