- 博客(5)
- 收藏
- 关注
转载 消息循环
<br />初始化工作完成后,WinMain 进入所谓的消息循环:<br />while (GetMessage(&msg,...)) { <br />TranslateMessage(&msg); // 转换键盘消息<br />DispatchMessage(&msg); // 分派消息<br />} <br />其中的TranslateMessage是为了将键盘消息转化,DispatchMessage会将消息传给窗口函数去处理。没有指定函数名称,却可以将消息传送过去,岂不是很玄?这是因为消息发生之
2010-06-23 23:27:00 289
原创 窗口类之注册与窗口之诞生
<br />一开始,Windows 程序必须做些初始化工作,为的是产生应用程序的工作舞台:窗口。这没有什么困难,因为API函数CreateWindow完全包办了整个巨大的工程。但是窗口产生之前,其属性必须先设定好。所谓属性包括窗口的「外貌」和「行为」,一个窗口的边框、颜色、标题、位置等等就是其外貌,而窗口接收消息后的反应就是其行为(具体地说就是指窗口函数本身)。程序必须在产生窗口之前先利用 API 函数 RegisterClass设定属性(我们称此动作为注册窗口类)。RegisterClass 需要一个大型
2010-06-23 23:24:00 239
转载 窗口类之注册与窗口之诞生
<br />一开始,Windows 程序必须做些初始化工作,为的是产生应用程序的工作舞台:窗口。这没有什么困难,因为API函数CreateWindow完全包办了整个巨大的工程。但是窗口产生之前,其属性必须先设定好。所谓属性包括窗口的「外貌」和「行为」,一个窗口的边框、颜色、标题、位置等等就是其外貌,而窗口接收消息后的反应就是其行为(具体地说就是指窗口函数本身)。程序必须在产生窗口之前先利用 API 函数 RegisterClass设定属性(我们称此动作为注册窗口类)。RegisterClass 需要一个大型
2010-06-23 23:20:00 355
转载 程序进入点 WinMain
<br />main是一般C程序的进入点:<br />int main(int argc, char *argv[ ], char *envp[ ]); <br />{ <br />... <br />} <br />WinMain则是Windows 程序的进入点:<br />int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, <br />LPSTR lpCmdLine, int nCmdShow) <br />{ <
2010-06-23 23:18:00 384
原创 一个具体而微的Win32程序
<br />许多相关书籍或文章尝试以各种方式简化Windows程序的第一步,因为单单一个Hello程序就要上百行,怕把大家吓坏了。我却宁愿各位早一点接触正统写法,早一点看到全貌。Windows 的东西又多又杂,早一点一窥全貌是很有必要的。而且你会发现,经过有 条理的解释之后,程序代码的多寡其实构不成什么威胁(否则无字天书最适合程序员阅读)。再说,上百进程序代码哪算得了什么!<br />你可以从图1-2 得窥 Win32 应用程序的本体与操作系统之间的关系。Win32 程序中最具代表意义的动作已经在该图显示
2010-06-23 23:15:00 817 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人