MFC复习

LIBC.LIB - 这是C Runtime 函数库的静态链接版本。

MSVCRT.LIB   - 这是C   Runtime 函数库动态链接版本(MSVCRT40.DLL)的 import 函数库。如果链接此一函数库,你的程序执行时必须有  MSVCRT40.DLL 在场。  

如果把应用程序获得的各种「输入」分类,可以分为由硬件装置所产生的消息(如鼠标移动或键盘被按下),放在系统队列(system  queue)中,以及由  Windows系统或其它Windows程序传送过来的消息,放在程序队列(application queue)中


所谓makefile,就是让你能够设定某个文件和某个文件相比——比较其产生日期。由其比较结果来决定要不要做某些你所指定的动作。例如:

generic.res : generic.rc generic.h

rc generic.rc

意思就是拿冒号(:)左边的generic.res和冒号右边的generic.rc 和generic.h 的文件日期相比。只要右边任一文件比左边的文件更新,就执行下一行所指定的动作。这动作可以是任何命令列动作,本例为rc generic.rc。


TranslateMessage是为了将键盘消息转化


我想很多人都会问这个问题:为什么  Windows Programming Modal要把窗口函数设计为一个  call  back函数?为什么不让程序在抓到消息(GetMessage)之后直接调用它就好了?原因是,除了你需要调用它,有很多时候操作系统也要调用你的窗口函数(例如当某个消息产生或某个事件发生)。窗口函数设计为  callback形式,才能开放出一个接口给操作系统调用。


比较常用的是  modal 对话框。我就以Generic 的About 对话框做为说明范例。为了做出一个对话框,程序员必须准备两样东西:

1. 对话框模板(dialog template)。这是在  RC 文件中定义的一个对话框外貌,以各种方式决定对话框的大小、字形、内部有哪些控制组件、各在什么位置...等等。

2. 对话框函数(dialog  procedure)。其类型非常类似窗口函数,但是它通常只处理WM_INITDIALOG和WM_COMMAND两个消息。对话框中的各个控制组件也都是小小窗口,各有自己的窗口函数,它们以消息与其管理者(父窗口,也就是对话框)沟通。而所有的控制组件传来的消息都是   WM_COMMAND,再由其参数分辨哪一种控制组件以及哪一种通告(notification)。



你可能感兴趣的:(MFC复习)