博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Windows 程序 HelloWorld
阅读量:4879 次
发布时间:2019-06-11

本文共 2732 字,大约阅读时间需要 9 分钟。

1 #include 
2 #include
3 4 LRESULT CALLBACK WinSunProc( 5 HWND hwnd, // handle to window 6 UINT uMsg, // message identifier 7 WPARAM wParam, // first message parameter 8 LPARAM lParam // second message parameter 9 );10 11 int WINAPI WinMain(12 HINSTANCE hInstance, // handle to current instance13 HINSTANCE hPrevInstance, // handle to previous instance14 LPSTR lpCmdLine, // command line15 int nCmdShow // show state16 )17 {18 19 WNDCLASS wndcls;20 wndcls.cbClsExtra=0;21 wndcls.cbWndExtra=0;22 wndcls.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH);23 wndcls.hCursor=LoadCursor(NULL,IDC_ARROW);24 wndcls.hIcon=LoadIcon(NULL,IDI_APPLICATION);25 wndcls.hInstance=hInstance; //应用程序实例句柄由 WinMain 函数传进来26 wndcls.lpfnWndProc=WinSunProc;27 wndcls.lpszClassName="xx";28 wndcls.lpszMenuName=NULL;29 wndcls.style=CS_HREDRAW | CS_VREDRAW;30 31 //注册窗口类32 RegisterClass(&wndcls);33 34 //创建窗口35 HWND hwnd;36 hwnd=CreateWindow("xx","第一个窗口",37 WS_OVERLAPPEDWINDOW,0,0,600,400,NULL,NULL,hInstance,NULL);38 39 //显示窗口和更新窗口40 ShowWindow(hwnd,SW_SHOWNORMAL);41 UpdateWindow(hwnd);42 43 //定义消息结构体,进行消息循环44 MSG msg;45 while(GetMessage(&msg,NULL,0,0))46 {47 TranslateMessage(&msg);48 DispatchMessage(&msg);49 }50 51 return msg.wParam ;52 }53 54 LRESULT CALLBACK WinSunProc(55 HWND hwnd, // handle to window56 UINT uMsg, // message identifier57 WPARAM wParam, // first message parameter58 LPARAM lParam // second message parameter59 )60 {61 switch(uMsg)62 {63 case WM_CHAR:64 char szChar[20];65 sprintf(szChar,"char code is %d",wParam);66 MessageBox(hwnd,szChar,"char",0);67 break;68 case WM_LBUTTONDOWN:69 MessageBox(hwnd,"m ouse clicked","message",0);70 HDC hdc;71 hdc=GetDC(hwnd); //不能在响应 WM_PAINT 消息时调用72 TextOut(hdc,0,50,"点击鼠标之后产生的字符串",strlen("点击鼠标之后产生的字符串"));73 ReleaseDC(hwnd,hdc);74 break;75 case WM_PAINT:76 HDC hDC;77 PAINTSTRUCT ps;78 hDC=BeginPaint(hwnd,&ps); //BeginPaint 只能在响应 WM_PAINT 消息时调用79 TextOut(hDC,0,0,"第一个窗口绘制成功",strlen("第一个窗口绘制成功"));80 EndPaint(hwnd,&ps);81 break;82 case WM_CLOSE:83 if(IDYES==MessageBox(hwnd," 是否真的结束?","message",MB_YESNO))84 {85 DestroyWindow(hwnd);86 }87 break;88 case WM_DESTROY:89 PostQuitMessage(0);90 break;91 default:92 return DefWindowProc(hwnd,uMsg,wParam,lParam);93 }94 return 0;95 }

 

转载于:https://www.cnblogs.com/xclword/p/3871500.html

你可能感兴趣的文章
json序列化后的是字符串,不是二进制。是字符串!!!确定不是二进制!!!...
查看>>
python 快速排序
查看>>
JMeter【第四篇】参数化
查看>>
EasyUI设置复选框单选操作
查看>>
ios推送(友盟推送,百度推送,极光推送)
查看>>
[翻译]在 .NET Core 中的并发编程
查看>>
【less和sass的区别,你了解多少?】
查看>>
在Flash Builder中使用条件编译
查看>>
Slider Revolution实现幻灯片
查看>>
php 字符串的拼接
查看>>
python 横向比较最大值 贴标签
查看>>
NYOJ--703
查看>>
SqlServer 获取表主键的方法
查看>>
Redis和Memcache对比及选择
查看>>
Spark:大数据的电花火石!
查看>>
基于STM32的学习型通用红外遥控设备的设计实现(三)
查看>>
【第五天打卡。
查看>>
Maven进价:Maven构建错误汇总
查看>>
Scrapy:Python的爬虫框架【转摘】
查看>>
坚持每天一个小程序(TFTP下载和上传)
查看>>