编程记录——MFC相关

一、Win32 console application、Win32 application和mfc区别

vs创建vc++6.0中win32 application的方法:选择新建项目-win32-win32项目-

          右键源文件添加新建项-c++文件编写程序

编写一个应用程序通常遵循的步骤:

1winmain,是窗口程序的入口点函数,即要先定义winmain函数

2创建一个窗口,包括a设计一个窗口类,b注册窗口类,c创建窗口,d显示及更新窗口

3进行消息循环

4编写窗口过程函数

主体为winmain及后续的2、3,4为用户自定义动作,3保证始终查询在窗口中产生的消息,为真时将消息传到4窗口过程函数对应处理,而在4中一旦判断发生关闭窗口动作则发送WM_QUIT回消息循环,即为零时窗口程序结束,若在关闭窗口中不判断而是销毁窗口中判断,则先销毁窗口而程序还在后台运行。

WM_PAINT中仅能使用BeginPaint-EndPaint对来获取释放DC,其他地方仅能用GetDC-ReleaseDC对来获取释放DC。

 

二、mfc框架类与视类

  • 为了改原来自动生成的窗口风格,需要写自己的窗口类和注册。在mfc应用程序中改框架类:是改CMainFrame中的源文件,在窗口创建之前修改则改其中的CMainFrame::PreCreateWindow函数;在创建之后修改则改其中的CMainFrame::OnCreate函数。但此类的修改只能改框架类下的图标,因为标题栏在框架窗口中,要改背景和光标则改视类的PreCreateWindow函数,在其中写cs.lpszClass = "类名";视类为C创建的工程名View。以上两个类的头文件和源文件均为类名去掉C。但在CMainFrame::PreCreateWindow函数中的cs.lpszClass = "类名";语句不能删,否则图标的改变不能显示(删则图标不改变,但不影响视类光标和背景的改变)。
  • 但重写一个窗口类很麻烦,因此分别在框架和视类中用cs.lpszClass = AfxRegisterWndClass()函数来改变,依然是框架类改图标,视类改背景和光标,在一个类中的另一个类的修改对象参数设为0。
  • 以上为在窗口创建之前修改,也可以在窗口创建之后用SetClassLong修改。在CMainFrame中的OnCreate函数中改;但视类中没有OnCreate函数,因此先对视类添加WM_CREATE消息相应函数,用类向导即可,然后在生成的OnCreate函数中用SetClassLong函数修改。

 

参考《VC++深入详解》

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值