MFC最近学习小结

一个WIN32工程如何转化为MFC工程?


前提条件:
(1)有一个CWinAppp派生类
(2)创造一个全局变量该派生类
(3)进入设置里面可以使用MFC类库
(4)在该类中定义一个初始化虚函数Initstance()




二.MFC的六大关键技术
(1)MFC程序的初始化过程
(2)消息映射机制
(3)运行时类型识别
(4)动态创建
(5)永久保存
(6)消息传递

三.SendMessage() 函数 与PostMessage()函数的区别
(1)分别阻塞函数 与 非阻塞函数
(2)返回值不同
(3)在多进程与多线程中最好使用PostMessage()函数
LRESULT SendMessage( UINT message, WPARAM wParam = 0, LPARAM lParam = 0 );
BOOL PostMessage( UINT message, WPARAM wParam = 0, LPARAM lParam = 0 );

四.MFC自定义消息
(1)首先自定义一个消息映射函数
(2)在全局变量中resource.h头文件中定义一个消息 (此消息因为是自定义  其值一般是 WM_USER + N)
 (3)进行消息关联

五.模式对话框 与 非模式对话框
主要区别:模式对话框一般是指当该对话框执行时  其他对话框不能操作,而非模式对话框正好相反


模式对话框定义:在函数内部定义一个临时的对话框变量  然后执行DoModel()函数
非模式对话框定义:(1)在类中直接定义一个对话框变量  用时直接用该变量  这时的对对话框生存期更长
  (2)直接定义一个对话框指针创建堆变量  生存期更长 CDILAOG  *pDialog = new CDIALOG;

六.获取句柄方式
CWnd p*Wnd = GetDlgItem(控件ID)
若定义一个全局变量 则直接 类变量名.m_hwnd 

七.对于EndDialog()函数 yu DestroryWindow()函数  前者是没有真正关闭对话框还有机会重现对话框 但是后者真正销毁对话框

八.CWnd类常见成员函数总体预览 
m_hWnd //类成员变量
DestroyWindow  //彻底销毁一个窗口
GetStyle  //得到一个窗口的风格
Attach   //关联一个窗口
Detach //与Attach()函数对应
CreateEx    //带有扩展风格创建一个窗口
GetForegroundWindow   //得到任务栏目前正在前台的主窗口
SetIcon  // 设置图标
IsIconic  // 判断是否最小窗口
IsZoomed   // 判断是否最大窗口
GetWindowRect //得到窗口的位置 (以屏幕坐标为准)
GetClientRect //得到窗口的位置 (以窗口的坐标为准)
WindowFromPoint  // 
GetDlgItem  // 得到窗口的巨句柄 (返回一个指针 Cwnd *)
GetDlgCtrlID  //得到一个控件的ID
SetDlgCtrlID  //设置一个控件的ID
ShowWindow  //显示出来窗口
IsWindowVisible  //判断窗口是否可见
ScreenToClient  //将屏幕坐标转换为客户坐标
ClientToScreen  //将客户坐标转换为屏幕坐标
SendDlgItemMessage    //给一个
SetDlgItemInt   //设置对话框标题为数字
SetDlgItemText //为一个对话框设置文本标题
SetTimer   //设置响应时间函数
KillTimer  //终止一个时间相响应函数
FlashWindow  //调用此函数会在任务栏闪烁
SendMessage   //发送消息函数(阻塞型函数)
PostMessage   //发送消息函数(非阻塞型函数)
Movewindow   //窗口移动函数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值