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”?
如果项目中没有使用预编译头,请将源文件的“创建/使用预编译头”属性设置为“不使用预编译头”。若要设置此编译器选项,请遵循以下这些步骤:
在项目的“解决方案资源管理器”窗格中,右击项目名称,再单击“属性”。
在左窗格中单击“C/C++”文件夹。
单击“预编译头”节点。
在右窗格中单击“创建/使用预编译头”,再单击“不使用预编译头”。
确保您没有在不注意的情况下从当前项目中删除、重命名或移除头文件(默认为 stdafx.h)。还需要使用 #include "stdafx.h" 在源文件中的任何其他代码之前包含这一文件。(此头文件被指定为“通过文件创建/使用 PCH”项目属性)
9.xml文件的注释为
<!--内容-->
10.第三方编译库包含
在VS的 工具->属性->项目和解决方案->VC++目录中,分别对:
include file \ library file\ source file 进行设置:直接指定到要连接的第三方库目录。
11.codejock
模板库