| 发表于:2007-10-15 06:21:54 楼主 |
#include <windows.h> #include "resource.h" #include "winmain.h" hinstance _hinst; hwnd _hwnd; char _szappname[]="winmain"; char _sztitle[]="hello"; int winapi winmain(hinstance hinstance,hinstance hprevinstance,lpstr lpcmdline,int nshowcmd) { if(!hprevinstance) if(!initapplication(hinstance)) return false; if(!initinstance(hinstance,nshowcmd)) return false; msg msg; while(getmessage(&msg,null,0,0)) { translatemessage(&msg); dispatchmessage(&msg); } return msg.wparam; } bool initapplication(hinstance hinstance) { wndclass wc; wc.cbclsextra=0; wc.cbwndextra=0; wc.hbrbackground=(hbrush)getstockobject(white_brush); wc.hcursor=loadcursor(null,makeintresource(idc_arrow)); wc.hicon=loadicon(hinstance,makeintresource(idi_winmain)); wc.hinstance=hinstance; wc.lpfnwndproc=wndproc; wc.lpszclassname=_szappname; wc.lpszmenuname=makeintresource(idr_winmain); wc.style=cs_hredraw ¦ cs_vredraw; return registerclass(&wc); } bool initinstance(hinstance hinstance,int nshowcmd) { _hinst=hinstance; _hwnd=createwindow(_szappname,_sztitle,ws_overlappedwindow,cw_usedefault,null,cw_usedefault,null,null,null,hinstance,null); if(!_hwnd) return false; showwindow(_hwnd,nshowcmd); updatewindow(_hwnd); return true; } lresult callback wndproc(hwnd hwnd,uint umsg,wparam wparam,lparam lparam) { int wmid,wmevent; switch(umsg) { case wm_command: wmid=loword(wparam); wmevent=hiword(wparam); switch(wmid) { case idm_about: dialogbox(_hinst,makeintresource(idd_about),hwnd,(dlgproc)about); break; case idm_exit: destroywindow(hwnd); break; default: return defwindowproc(hwnd,umsg,wparam,lparam); } break; case wm_destroy: postquitmessage(0); break; } return defwindowproc(hwnd,umsg,wparam,lparam); } lresult callback about(hwnd hdlg,uint umsg,wparam wparam,lparam lparam) { switch(umsg) { case wm_initdialog: return true; break; case wm_command: if(loword(wparam)==idok ¦ ¦ loword(wparam)==idcancel) { enddialog(hdlg,true); return true; } break; } return defwindowproc(hdlg,umsg,wparam,lparam); } ====================================================================== 我把程序的代码发上来,编译的时候没错,好心人帮忙忙看看问题出在哪里?那 个about对话框生成的不对,用鼠标点不上它,不知道是哪里问题。小弟在线等。 |
|
| 该帖包含附件: |
|
|