WM_PAINT : 处理WM_PAINT讯息 return 0 ; case WM_DESTROY : 处理WM_DESTROY讯息 return 0 ; } return DefWindowProc (hwnd, iMsg, wParam, lParam) ;
呼叫DefWindowProc来为视窗讯息处理程式不予处理的所有讯息提供内定处理,这是很重要的。不然一般动作,如终止程式,将不会正常执行。
播放音效档案
视窗讯息处理程式接收的第一个讯息-也是WndProc选择处理的第一个讯息-是WM_CREATE。当Windows在WinMain中处理CreateWindow函式时,WndProc接收这个讯息。就是说,在HELLOWIN呼叫CreateWindow时,Windows将做一些它必须做的工作。在这些工作中,Windows呼叫WndProc,将第一个参数设定为视窗代号,第二个参数设定为WM_CREATE。WndProc处理WM_CREATE讯息并将控制传回给Windows。
Windows然後可以从CreateWindow呼叫中传回到HELLOWIN中,继续在WinMain中进行下一步的处理。
通常,视窗讯息处理程式在WM_CREATE处理期间进行一次视窗初始化。HELLOWIN对这个讯息的处理中播放一个名为HELLOWIN.WAV的音效档案。它使用简单的PlaySound函式来做到这一点。该函式说明在/Platform
SDK/Graphics and Multimedia Services/Multimedia Audio/Waveform
Audio中,而文件在/Platform SDK/Graphics and Multimedia Services/Multimedia
Reference/Multimedia Functions中。
PlaySound的第一个参数是音效档案的名称(它也可能是在Control
Panel的Sounds中定义的一种声音的别名,或者是一个程式资源)。第二个参数只有当音效档案是一种资源时才被使用。第三个参数指定一些选项。在这个例子中,我指定第一个参数是一个档案名,并且非同步地播放声音,即PlaySound函式呼叫在音效档案开始播放时立即传回,而不会等待它的完成。在这种方法下,程式能够继续初始化。
WndProc通过从视窗讯息处理程式中传回0,结束 |