XiaoHui.net 笑汇程序员论坛首页
工作并快乐着,职业并休闲着
寻梦的岁月从不言辛苦几许,
不问收获几多……
» 游客:  申请新用户 | 登录 | 会员 | 统计 | 帮助 » XiaoHui.Net 笑汇程序员论坛 | 纯文字版 | 全站索引 | XiaoHui.com


[SDK/API] 怎么老是显示不了窗口,请高手帮忙看一下谢谢

RSS 订阅当前论坛  

上一主题 下一主题
     

标题: [SDK/API] 怎么老是显示不了窗口,请高手帮忙看一下谢谢  
 
小靖c
小水手
Rank: 1



UID 29928
精华 0
积分 2
帖子 2
阅读权限 10
注册 2007-4-12
状态 离线
怎么老是显示不了窗口,请高手帮忙看一下谢谢

#include<windows.h>

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);
int WINAPI WinMain(
   HINSTANCE hInstance,       // handle to current instance
   HINSTANCE hPrevInstance,   // handle to previous instance
   LPSTR lpCmdLine,           // command line
   int nCmdShow               // show state
)
{
WNDCLASS wndclass;
HWND hwnd;
MSG msg;
wndclass.cbClsExtra=0;
wndclass.cbClsExtra=0;
wndclass.hbrBackground=(HBRUSH) GetStockObject (WHITE_BRUSH) ;
wndclass.hCursor=LoadCursor(NULL, IDC_ARROW);
wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wndclass.hInstance=hInstance;
wndclass.lpszClassName="first";
wndclass.lpszMenuName=NULL;
wndclass.style=CS_HREDRAW | CS_VREDRAW;
wndclass.lpfnWndProc=WndProc;
   
RegisterClass(&wndclass);

hwnd=CreateWindow("first","first",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL);
ShowWindow(hwnd,nCmdShow);
UpdateWindow(hwnd);
while (GetMessage (&msg, NULL, 0, 0))
     {
        
      TranslateMessage (&msg) ;
      DispatchMessage (&msg) ;
     }
return 0;
}
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
   case WM_DESTROY:
        
             PostQuitMessage (0) ;
        
             return 0 ;
}
return DefWindowProc (hwnd, message, wParam, lParam);
        
}
2007-4-16 12:40#1
查看资料  Blog  发短消息  顶部
 
gwq85387566
版主
Rank: 7Rank: 7Rank: 7



UID 2605
精华 0
积分 151
帖子 151
阅读权限 100
注册 2006-4-1
来自 岳阳
状态 离线
窗口显示

wndclass.style        = CS_HREDRAW | CS_VREDRAW ;       
wndclass.lpfnWndProc  = WndProc ;
wndclass.cbClsExtra   = 0 ;
wndclass.cbWndExtra   = 0 ;
wndclass.hInstance    = hInstance ;
wndclass.hIcon        = LoadIcon (NULL, IDI_APPLICATION) ;
wndclass.hCursor      = LoadCursor (NULL, IDC_ARROW) ;
wndclass.hbrBackground= (HBRUSH) GetStockObject (WHITE_BRUSH) ;
wndclass.lpszMenuName  = NULL ;
wndclass.lpszClassName= "first";

顺序问题,按照WINDOWS程序设计上面的顺序来就OK了!

if(!RegisterClass(&wndclass))
{
      MessageBox (  NULL, TEXT ("This program requires Windows NT!"),
      szAppName, MB_ICONERROR) ;
      return 0 ;
}
这个if还是比较必要的,还是别丢得好!!!
                                            经测试可行!
2007-4-19 14:10#2
查看资料  Blog  发短消息  ICQ 状态  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题  


 


所有时间为 GMT+8, 现在时间是 2008-12-2 02:18 Powered by Discuz! 4.1.0 清除 Cookies - XiaoHui.Net 笑汇程序员论坛 - Archiver