孙鑫MFC学习笔记9:状态栏与工具栏编程
1.在窗口创建之前就应该修改窗口的样式
2.单文档应用程序会把文档名作为应用程序标题,应该去掉FWS_ADDTOTITLE属性,然后修改lpszName为标题
3.在窗口创建完成后,可以通过SetWindowLong改变窗口外观


4.GetWindowLong可以获取指定窗口信息
5.AfxGetInstanceHandle获取当前应用程序句柄
6.全局与CWnd中都有DefWindowProc函数,在类中使用要加作用域标识符
7.改变图标光标等可以通过在类中重新定义窗口类,并注册,把cs中的窗口类改为自定义类型

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对象指针,通过指针使用成员

16.SetTimer设置一个时钟
17.在工具栏添加图标,然后在ClassWizard中添加消息响应函数,类似菜单项
18.向右拖动可以产生分隔符
19.创建工具栏方式:

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:状态栏与工具栏编程的更多相关文章
- 孙鑫MFC学习笔记13:文档
1.CArchive类保存内存数据 2.CAchive类重载了>>与<<操作符,类似C++文件流 3.在OnNewDocument中通过SetTitle设置标题 4.字符串资源 ...
- 孙鑫MFC学习笔记12:文件读写
1.指向常量的指针 2.指针常量 3.C语言对文件操作是在缓冲区,在缓冲区满或文件关闭时写入文件 读取相同 4.fflush刷新缓冲区,使缓冲区数据写入文件 5.fseek改变文件指针偏移量 6.st ...
- 孙鑫MFC学习笔记4:MFC画图
1.画线方法 *1.捕获鼠标按下和弹起消息,获取两个点 *2.消息响应,画线 2.在CMainFrame类中的鼠标左键事件得不到响应的原因是CNameView覆盖了CMainFrame 3.注释宏 4 ...
- 孙鑫MFC学习笔记3:MFC程序运行过程
1.MFC中WinMain函数的位置在APPMODUL.cpp APPMODUL.cpp中是_tWinMain,其实_tWinMain是一个宏#define _tWinMain WinMain 2.全 ...
- 孙鑫MFC学习笔记20:Hook编程
1.HOOK拦截消息,设置越后的钩子优先级越高(钩子队列)2.SetWindowHookEx设置钩子 如果thread identifier为0或其他进程创建的线程,回调函数需要在动态链接库中声 ...
- 孙鑫MFC学习笔记19:动态链接库
1.动态链接库 2.静态库和动态库 3.使用动态链接库的好处 4.动态链接库编译需要导出,使用需要导入 __declspec(dllexport),__declspec(dllimport) 5.动态 ...
- 孙鑫MFC学习笔记18:ActiveX
18 1.容器和服务器程序 2.InvalidateControl重绘控件 3. 4.GetBackColor获取背景色 5.GetForeColor获取前景色 6.TranslateColor进行颜 ...
- 孙鑫MFC学习笔记17:进程间通信
17 1.进程间通信4种方式 2.OpenClipboard打开剪贴板 3.EmptyClipboard清空剪贴板,并把所有权分配给打开剪贴板的窗口 4.SetClipboardData设置剪贴板数据 ...
- 孙鑫MFC学习笔记16:异步套接字
16 1.事件对象 2.CreateEvent创建事件对象 3.SetEvent设置事件对象为通知状态 4.ResetEvent设置事件对象为非通知状态 5.InitializeCriticalSec ...
随机推荐
- Ajax跨域访问XML数据的另一种方式——使用YQL查询语句
XML数据默认是不能在客户端通过Ajax跨域请求读取的,一般的做法是在服务器上写一个简单的代理程序,将远程XML的数据先读到本地服务器,然后客户端再从本地服务器通过Ajax来请求.由于我们不能对数据源 ...
- 每天一个linux命令(59):rcp命令
rcp代表“remote file copy”(远程文件拷贝).该命令用于在计算机之间拷贝文件.rcp命令有两种格式.第一种格式用于文件到文件的拷贝:第二种格式用于把文件或目录拷贝到另一个目录中. 1 ...
- 如何把IP转换成经纬度(Java版)
经常有这种需求,拥有用户的IP地址,想要在地图上显示用户的访问量.这个时候就需要用到经纬度...应为一般的地图插件都是基于经纬度的. 那么问题来了,如何把IP转换成经纬度? 百度API 最国产的方式, ...
- Android开发学习之路-抢红包助手开发全攻略
背景:新年之际,微信微博支付宝红包是到处飞,但是,自己的手速总是比别人慢一点最后导致红包没抢到,红包助手就应运而生. 需求:收到红包的时候进行提醒,然后跳转到红包的界面方便用户 思路:获取“读取通知信 ...
- CAR
24.编写一个Car类,具有String类型的属性品牌,具有功能drive: 定义其子类Aodi和Benchi,具有属性:价格.型号:具有功能:变速: 定义主类E,在其main方法中分别创建Aodi和 ...
- phpstudy80端口被占用时的解决方案
1.适合人群? 之前笔记本单独安装过Apache.php.mysql环境,但是后期想用集成开发环境phpstudy的,安装完phpstudy后(之前的单独环境依然存在),发现启动时,总是显示80端口被 ...
- 手动为php安装memcached扩展模块
最近公司需要新部署几台服务器,主要就是lnmp平台,这几台服务器需要部署公司的系统,由于本屌刚入职时间不长,加上又是新手,所以对公司的架构一头雾水,前前后后折腾了一个月时间,终于磕磕绊绊的将系统服务器 ...
- 移动web开发之像素和DPR
× 目录 [1]定义 [2]分类 [3]缩放[4]DPR 前面的话 像素在web开发中几乎天天用到,但到底什么是像素,移动端和桌面端的像素有区别吗,缩放对像素有影响吗,视网膜屏幕和像素有什么关系?关于 ...
- CSS多列布局
× 目录 [1]列宽 [2]列数 [3]列间距[4]列rule[5]跨列[6]列填充[7]多列 前面的话 CSS新增了多列布局特性,可以让浏览器确定何时结束一列和开始下一列,无需任何额外的标记.简单来 ...
- java 显示透明背景png图片
首先理由ps生成一个背景透明的png图片,然后设置JPanel面板的透明属性,也就是panel.setOpaque(false);设置为透明 class MyPanel extends JLayere ...
用