孙鑫MFC学习笔记9:状态栏与工具栏编程

时间:2023-11-11 19:33:50

1.在窗口创建之前就应该修改窗口的样式

2.单文档应用程序会把文档名作为应用程序标题,应该去掉FWS_ADDTOTITLE属性,然后修改lpszName为标题

3.在窗口创建完成后,可以通过SetWindowLong改变窗口外观

孙鑫MFC学习笔记9:状态栏与工具栏编程

孙鑫MFC学习笔记9:状态栏与工具栏编程

4.GetWindowLong可以获取指定窗口信息

5.AfxGetInstanceHandle获取当前应用程序句柄

6.全局与CWnd中都有DefWindowProc函数,在类中使用要加作用域标识符

7.改变图标光标等可以通过在类中重新定义窗口类,并注册,把cs中的窗口类改为自定义类型

孙鑫MFC学习笔记9:状态栏与工具栏编程

8.在MainFrame中改变不会影响到View类,要想都改变,需要把View类中一起改变

9.在窗口已经创建完成后,通过SetClassLong可以改变外观(GetClassLong)(框架类)

10.对于视类,需要对WM_CREATE进行消息响应

11.可以插入光标资源,图标资源等为应用程序改变外观

12.LoadIcon等函数第一个参数是应用程序实例句柄,可以通过AfxGetInstanceHandle获得

13.可以通过MAKEINTRESOURCE将ID号转为资源类型

14.CWinApp类有一个成员m_hInstance存储当前应用程序句柄,其派生类有一个全局变量theApp,可以通过声明theApp,然后直接使用m_hInstance

(在一个源文件中使用另一个源文件中定义的全局变量的方法)

15.AfxGetApp可以获取App对象的指针,通过指针使用内部成员

总结:获取应用程序实例句柄的三种方法:

*AfxGetInstanceHandle

*使用全局变量theApp,然后使用其内部成员(需声明)

*通过AfxGetApp获取App对象指针,通过指针使用成员

孙鑫MFC学习笔记9:状态栏与工具栏编程

16.SetTimer设置一个时钟

17.在工具栏添加图标,然后在ClassWizard中添加消息响应函数,类似菜单项

18.向右拖动可以产生分隔符

19.创建工具栏方式:

孙鑫MFC学习笔记9:状态栏与工具栏编程

20.一个ID号可以表示多种资源

21.工具栏EnableDocking设置可以停靠,窗口EnableDocking设置可以被停靠,缺一不可

22.DockControlBar停靠窗口

23.IsWindowVisible判断窗口是否可见

24.RecalcLayout 可以重排控件

25.ShowControlBar控制是否显示工具栏

26.SetCheck设置菜单选择

pCmdUI成员变量的使用

27.GetCurrentTime获取当前时间

通过Format格式化

28.SetPaneText设置状态栏文本

29.CommandToIndex通过字符串ID获取索引

30.SetPaneInfo设置状态栏属性

31.CProgressCtrl、Create创建进度条对象

32.SetRange设置进度条最小值,最大值

33.SetPos设置进度条位置

34.GetItemRect获取控件矩形

35.WM_USER以下是系统保留消息

发送消息,声明响应函数,关联响应函数(ON_MESSAGE(消息,函数))

36.SendMessage类似函数调用,PostMessage才是把消息投递到消息队列

37.在OnCreate返回之前,窗口并没有创建完成

孙鑫MFC学习笔记9:状态栏与工具栏编程 用菊子曰博客,就是爽!