2012年10月20日
摘要: 在windows中创建一个对话框,必须具备2个条件:1.对话框模板(dialog template) 这是在rc文件中定义的一个对话框外貌。2.对话框函数(dialog procedure) 其型态非常类似于窗口函数,但是它通常只处理WM_INITDIALOG和WM_COMMAND两个消息。对话框中的各个控制组件也都是小小窗口,各有自己的窗口函数,它们以消息与其管理者(父窗口,也就是对话框)沟通。而所有的控制组件传来的消息都是WM_COMMAND,再由其参数分辨哪一种控制组件以及哪一种通告(notification)。 阅读全文
posted @ 2012-10-20 15:38 Jiang, X. 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 又称callback函数。意思是指:在你的程序中,被windows系统调用的函数。这些函数虽然由你设计,但是永远不会也不该被你调用,它们是为windows系统准备的。窗口函数设计为callback形式,才能开放出一个接口给操作系统调用。定时函数就是非常常见的一种回调函数。 阅读全文
posted @ 2012-10-20 15:29 Jiang, X. 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 当windows的“外壳”(shell)侦测到使用者意欲执行一个windows程序,意识调用加载器把该程序加载,然后调用C start code, 后者再调用WinMain,开始执行程序。 阅读全文
posted @ 2012-10-20 15:24 Jiang, X. 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 所谓makefile,就是让你能够设定某个文件和某个文件相比(比较其产生日期),由此比较结果来决定要不要做某些你所指定的操作。 例如: generic.res : generic.rc generic.h rc generic.rc 意思就是拿冒号左边的文件和冒号右边的文件日期相比,只要右边任一文件比左边的文件更新,就执行下一行所指定的操作。这种操作可以使任何命令行。Tutorial makefileThe MakefileComments Rules DependencyLines ShellLines Macros MacroModifiers InferenceRu... 阅读全文
posted @ 2012-10-20 15:19 Jiang, X. 阅读(1661) 评论(0) 推荐(0) 编辑
摘要: Windows 程序的进行系依靠外部发生的事件来驱动。换句话说,程序不断等待(利用一个while 回路),等待任何可能的输入,然后做判断,然后再做适当的处理。 上述的「输入」是由操作系统捕捉到之后,以消息形式(一种数据结构)进入程序之中。 操作系统通过USER模块(WINDOWS三大模块之一)捕捉外围设备(如键盘和鼠标)所发生的事件。 应用程序获得的2类输入: 由硬件装置所产生的消息(如鼠标移动或键盘被按下),放在系统队列(system queue)中 由Windows 系统或其它Windows 程序传送过来的消息,放在程序队列(application queue)中。 ... 阅读全文
posted @ 2012-10-20 12:15 Jiang, X. 阅读(559) 评论(0) 推荐(0) 编辑
摘要: Windows程序调用的函数可分为2部分:C Runtimes + Windows API。C Runtimes: LIBC.LIB -- C Runtime函数库的静态链接版本 MSVSRT.LIB--C Runtime库的动态链接版本(如果要链接这一函数,你的程序执行时必须有MSVCRT40.DLL在场)Windows API: 由操作系统本身提供,主要是Windows三大模块:GDI32.DLL USER32.DLL KERNEL32.DLL所有Windows程序都必须载入WINDOWS.H,不过,它只照顾三大模块所提供的API。 阅读全文
posted @ 2012-10-20 11:59 Jiang, X. 阅读(320) 评论(0) 推荐(0) 编辑
摘要: Windows程序分为2部分:程序代码 + UI资源。这2部分最后以RC编译器整合为一个完整的EXE档案。UI资源的实际内容是借助各种工具产生的,如.ico .bmp .cur文件等。程序员必须在资源描述文档(.rc)中描述他们。RC编译器读取RC文件的描述后将所有UI资源文件集中制作出一个.RES文件,再与程序代码结合在一起,这才是一个完整的Windows可执行文件。 阅读全文
posted @ 2012-10-20 10:42 Jiang, X. 阅读(250) 评论(0) 推荐(0) 编辑