中易网

怎样用c/c++实现窗口化

答案:3  悬赏:50  
解决时间 2021-03-06 22:13
怎样用c/c++实现窗口化
最佳答案
写一个Win32即可
全部回答
这个问题的答案是: c/c++都可以开发可视化的窗口程序!! 在win32的环境下,想要做出可视化的窗口程序,就必须了解win32的api,那是一些windows自带的标准函数库。无论是c还是c++,只要调用了这些api函数,就可以创建出可视化的窗口程序。 举例说明,一个最简单的win32的窗口程序: messageboxw(0,l"你好,世界",l"标题",mb_ok); 就这么一句话,无论是c/c++,都可以编译通过,运行后打开一个消息对话框,结束。
#include #include LRESULT CALLBACK WinSunProc( HWND hwnd, // handle to window UINT uMsg, // message identifier WPARAM wParam, // first message parameter LPARAM lParam // second message parameter ); int WINAPI WinMain( HINSTANCE hInstance, // handle to current instance HINSTANCE hPrevInstance, // handle to previous instance LPSTR lpCmdLine, // command line int nCmdShow // show state ) { WNDCLASS wndcls; wndcls.cbClsExtra=0; wndcls.cbWndExtra=0; wndcls.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH); wndcls.hCursor=LoadCursor(NULL,IDC_CROSS); wndcls.hIcon=LoadIcon(NULL,IDI_ERROR); wndcls.hInstance=hInstance; wndcls.lpfnW...#include #include LRESULT CALLBACK WinSunProc( HWND hwnd, // handle to window UINT uMsg, // message identifier WPARAM wParam, // first message parameter LPARAM lParam // second message parameter ); int WINAPI WinMain( HINSTANCE hInstance, // handle to current instance HINSTANCE hPrevInstance, // handle to previous instance LPSTR lpCmdLine, // command line int nCmdShow // show state ) { WNDCLASS wndcls; wndcls.cbClsExtra=0; wndcls.cbWndExtra=0; wndcls.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH); wndcls.hCursor=LoadCursor(NULL,IDC_CROSS); wndcls.hIcon=LoadIcon(NULL,IDI_ERROR); wndcls.hInstance=hInstance; wndcls.lpfnWndProc=WinSunProc; wndcls.lpszClassName="Weixin2003"; wndcls.lpszMenuName=NULL; wndcls. CS_VREDRAW; RegisterClass(&wndcls); HWND hwnd; hwnd=CreateWindow("Weixin2003","北京维新科学技术培训中心",WS_OVERLAPPEDWINDOW, 0,0,600,400,NULL,NULL,hInstance,NULL); ShowWindow(hwnd,SW_SHOWNORMAL); UpdateWindow(hwnd); MSG msg; while(GetMessage(&msg,NULL,0,0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return 0; } LRESULT CALLBACK WinSunProc( HWND hwnd, // handle to window UINT uMsg, // message identifier WPARAM wParam, // first message parameter LPARAM lParam // second message parameter ) { switch(uMsg) { case WM_CHAR: char szChar[20]; sprintf(szChar,"char is %d",wParam); MessageBox(hwnd,szChar,"weixin",0); break; case WM_LBUTTONDOWN: MessageBox(hwnd,"mouse clicked","weixin",0); HDC hdc; hdc=GetDC(hwnd); TextOut(hdc,0,50,"计算机编程语言培训",strlen("计算机编程语言培训")); ReleaseDC(hwnd,hdc); break; case WM_PAINT: HDC hDC; PAINTSTRUCT ps; hDC=BeginPaint(hwnd,&ps); TextOut(hDC,0,0,"维新培训",strlen("维新培训")); EndPaint(hwnd,&ps); break; case WM_CLOSE: if(IDYES==MessageBox(hwnd,"是否真的结束?","weixin",MB_YESNO)) { DestroyWindow(hwnd); } break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hwnd,uMsg,wParam,lParam); } return 0; }
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
3.6x27分之10怎么计算
木吉他拾音器中韩天音T901与韩国天音A810对比
以大一日语什么意思
沂源到衡阳高速过路费是多少
[妖精的尾巴176-190] 百度云下载
城市之光-停车场地址在哪,我要去那里办事
vivo数据包出现损坏怎么办
盆栽山影细码好还是粗码好哪种长的更高
有一部电视一个名叫乌鸦的我不记得那部电视剧
河源康华口腔怎么样
福清市九牧卫浴专卖店地址在哪,我要去那里办
生产工人住宿楼折旧费应计入哪个科目,是不是
软件测试的手动测试指什么?还有什么测试,与
凤姐饺子馆地址在哪,我要去那里办事
三星阿兰德挡烟垂壁控制箱怎样接线
推荐资讯
朗白这个地址在什么地方,我要处理点事
做系统的大白菜U盘 被我不小心给它 重新建立
大肚弥陀佛像放在柜顶上好吗应该放在什么位置
OPPO N3手机声音突然变小,过了一会声音又自
土陶制品与紫砂的区别
昨天晚上睡前没把网易云打开,结果刚一看网易
我烤的羊肉串感觉很干怎么办啊?
黄记阳澄湖大闸蟹地址在什么地方,想过去办事
维尼熊怎么去啊,有知道地址的么
零度战姬/结界女王
两三岁的小孩舌头白怎么办?
天麻海带香菇鸡能同吃么?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?