WM_CREATE是窗体一生成时产生的,我想问一下,WM_CREATE作用是不是相当于VB中的Form_Load事件?我在WM_CREATE消息中加入打印的语句,却不会出现,不知是为什么?代码如下:LRESULT __stdcall WndProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam)
{
PAINTSTRUCT ps;
HDC hdc;
char tet[20];
int aa=888;
switch(message)
{
case WM_CREATE:
hdc=::GetDC(hWnd);
wsprintf(tet,"%d",aa);
::TextOut(hdc,5,5,tet,strlen(tet));


break;

解决方案 »

  1.   

    是createwindow是产生的消息,应该在消息处理函数中创建控件之类的。把输出语句放在WM_PAINT处理中。
      

  2.   

    是createwindow是产生的消息,应该在消息处理函数中创建控件之类的。把输出语句放在WM_PAINT处理中。
      

  3.   

    能,比如划分窗体,初始化工具栏,状态栏等等主要是完成窗体创建等一些初始化工作.
    也可以在ondraw中打印的语句因为在onpain中要调用
      

  4.   

    都没有说到点子上WM_CREATE是CreateWindow产生的,在CreateWindow之后还会调用ShowWindow和UpdateWindow,而UpdateWindow会像窗口产生一个WM_PAINT消息,这个消息会先将客户区用背景察掉,然后调用WM_PAINT消息中的绘画函数进行绘制客户区,所以所有在WM_CREATE消息中进行的绘画一律会被清掉,所以不要在WM_CREATE中做绘图的工作
      

  5.   

    对,pipilupzj(皮皮鲁) 说得对,要的就是这个,不过也要谢谢大家,!!!!