1. SendMessage和PostMessage的区别
a) SendMessage和将代码直接放置到SendMessage位置的效果一样
b) PostMessage是将消息放置到消息队列之中,立即返回,这时候消息等待处理
2. 移动窗口:MoveWindow
3. SetWindowText 设置窗口文本。这个可以是一个状态栏
4. SetMessageText这个函数的作用主要是用来设置状态栏的信息。这个一般是最左的,最长的面板。ID为0的。
5. GetDescendantWindow获取一个子孙窗口
6. AFX_IDW_STATUS_BAR 系统默认的状态栏的ID
7. 系统给我们定义好了很多标准的控制条的ID号。只要知道了一个ID,然后用go to definition就可以找到其它的了。
8. 增加启动画面
a) 在project->add to project->component and control->Visual C++ Components,选择Splashscreen
b) 在OnCreate中修改SetTimer中的时间。
9. 修改工具栏——给工具栏增加一个按钮
a) 工具栏的按钮和菜单中的选项的功能是一一对应的,所以,他们有着一样的ID
b) 基于他们拥有同一个ID,那么我们只需要对菜单栏上的MenuItem进行消息处理,即可使工具栏上面的按钮拥有同样的功能
c) 首先在工具栏上新建一个图标(一个位图),然后再在菜单栏新建一个MenuItem,给MenuItem添加消息相应,最后将工具栏中新建的图标的ID设置成和MenuItem一样即可
d) 修改图标的ID需要在所要修改的图标上面双击,这样就打开了它的属性对话框。
e) 想在工具栏上建立一个分隔符,只需要拖动所要插入分割符后面的图标向后移动即可
f) 想要删除一个工具栏上面的图标,只需要将图标拖出工具栏即可。
10. 增加一个工具栏
a) 新建一个工具栏资源,然后在上面随便建几个按钮
b) 到CMainFrame这个类中添加成员变量 CToolBar m_newToolBar;
c) 找到CMainFrame这个类的OnCreate函数,然后找到添加默认的工具栏的代码,如下
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
TRACE0("Failed to create toolbar/n");
return -1; // fail to create
}
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);//使工具栏具有停靠的属性
EnableDocking(CBRS_ALIGN_ANY);//允许当前窗口被工具栏停靠
DockControlBar(&m_wndToolBar);//停靠工具栏
然后将复制,将其中的m_wndToolBar改称我们新定义的m_newToolBar即可