以前会一点C++,写出来的程序都是黑屏的。最近心血来潮想学学VC,编写一些带GUI的程序。学习VC的第一个经典程序就是hellowin了。通过这几天的查阅资料,终于是对这个程序有了一些理解。分享给大家:
首先windows程序设计和传统的C语言或者C++程序设计思路截然不同的地方在于windows的消息机制。什么是消息机制呢?简单的说,就是别呼叫我,我会呼叫您。它不像传统的C语言程序,在main函数中调用其他函数。它的做法是:当你给应用程序发消息(比如用鼠标点了一下)以后,你其实并没有给应用程序发消息,而是把这个消息发给了操作系统。系统先会通过计算鼠标的位置来判断你的消息是发给谁的,然后再把消息发给特定的应用程序。当你的应用程序收到这个消息以后,进行一定的转换,再返回给系统,系统在调用程序员事先写好的回调函数来对你的鼠标点击做出响应。
有了这个基本思路以后我们再看看程序的基本过程:
声明了一个回调函数以后就开始了WinMain。WinMain函数大致做了一下几个工作:定义并初始化了一个窗口,向系统注册了这个窗口(RegisterClass),在内存中创建了窗口(CreateWindow),显示并更新窗口。然后进入消息循环,等待系统给程序发消息,如果收到了消息,通过DispatchMessage