![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
VC
文章平均质量分 76
cacasi1104
这个作者很懒,什么都没留下…
展开
-
一个具体而微的Win32程序
<br />许多相关书籍或文章尝试以各种方式简化Windows程序的第一步,因为单单一个Hello程序就要上百行,怕把大家吓坏了。我却宁愿各位早一点接触正统写法,早一点看到全貌。Windows 的东西又多又杂,早一点一窥全貌是很有必要的。而且你会发现,经过有 条理的解释之后,程序代码的多寡其实构不成什么威胁(否则无字天书最适合程序员阅读)。再说,上百进程序代码哪算得了什么!<br />你可以从图1-2 得窥 Win32 应用程序的本体与操作系统之间的关系。Win32 程序中最具代表意义的动作已经在该图显示原创 2010-06-23 23:15:00 · 808 阅读 · 2 评论 -
程序进入点 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 · 376 阅读 · 0 评论 -
窗口类之注册与窗口之诞生
<br />一开始,Windows 程序必须做些初始化工作,为的是产生应用程序的工作舞台:窗口。这没有什么困难,因为API函数CreateWindow完全包办了整个巨大的工程。但是窗口产生之前,其属性必须先设定好。所谓属性包括窗口的「外貌」和「行为」,一个窗口的边框、颜色、标题、位置等等就是其外貌,而窗口接收消息后的反应就是其行为(具体地说就是指窗口函数本身)。程序必须在产生窗口之前先利用 API 函数 RegisterClass设定属性(我们称此动作为注册窗口类)。RegisterClass 需要一个大型转载 2010-06-23 23:20:00 · 347 阅读 · 0 评论 -
消息循环
<br />初始化工作完成后,WinMain 进入所谓的消息循环:<br />while (GetMessage(&msg,...)) { <br />TranslateMessage(&msg); // 转换键盘消息<br />DispatchMessage(&msg); // 分派消息<br />} <br />其中的TranslateMessage是为了将键盘消息转化,DispatchMessage会将消息传给窗口函数去处理。没有指定函数名称,却可以将消息传送过去,岂不是很玄?这是因为消息发生之转载 2010-06-23 23:27:00 · 281 阅读 · 0 评论 -
窗口类之注册与窗口之诞生
<br />一开始,Windows 程序必须做些初始化工作,为的是产生应用程序的工作舞台:窗口。这没有什么困难,因为API函数CreateWindow完全包办了整个巨大的工程。但是窗口产生之前,其属性必须先设定好。所谓属性包括窗口的「外貌」和「行为」,一个窗口的边框、颜色、标题、位置等等就是其外貌,而窗口接收消息后的反应就是其行为(具体地说就是指窗口函数本身)。程序必须在产生窗口之前先利用 API 函数 RegisterClass设定属性(我们称此动作为注册窗口类)。RegisterClass 需要一个大型原创 2010-06-23 23:24:00 · 231 阅读 · 0 评论