24小时学DX之第一小时——win32窗体
来源:互联网 发布:mac照片如何传磁盘上 编辑:程序博客网 时间:2024/04/30 07:25
#include
//函数声明
BOOL InitWindow( HINSTANCE hInstance, int nCmdShow );
LRESULT CALLBACK WinProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam );
//变量说明
HWND hWnd; //窗口句柄
//************************************************************
//函数:WinMain( )
//功能:Windows程序入口函数。创建主窗口,处理消息循环
//************************************************************
int PASCAL WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
if ( !InitWindow( hInstance, nCmdShow ) ) return FALSE; //创建主窗口
//如果创建不成功则返回FALSE并同时退出程序
MSG msg;
//进入消息循环:
for(;;)
{
?if(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
?{
??if ( msg.message==WM_QUIT) break;
??TranslateMessage(&msg);
??DispatchMessage(&msg);
?}
}
return msg.wParam;
}
//************************************************************
//函数:InitWindow( )
//功能:创建窗口
//************************************************************
static BOOL InitWindow( HINSTANCE hInstance, int nCmdShow )
{
?//定义窗口风格:
?WNDCLASS wc;
?wc.style = CS_VREDRAW|CS_HREDRAW;//窗体类的风格
?wc.lpfnWndProc = (WNDPROC)WinProc; //窗口消息处理函数的指针
?wc.cbClsExtra = 0;//分配给窗口类结构之后的额外字节数
?wc.cbWndExtra = 0;//分配给窗口实例之后的额外字节数
?wc.hInstance = hInstance;//窗口所对应的应用程序的句柄
?wc.hIcon = NULL;//窗口的图标
?wc.hCursor = NULL; //窗口的鼠标
?wc.hbrBackground = CreateSolidBrush (RGB(0, 0, 0)); //黑色的背景
?wc.lpszMenuName = NULL;//窗口的菜单资源名称
?wc.lpszClassName = "My_Test";//窗口类的名称
?RegisterClass(&wc);//注册窗口
??? //按所给参数创造窗口
???? hWnd = CreateWindow("My_Test",//创建窗口所用的窗口类的名称
?? "24小时学DX_第1个小时",//窗口标题
?? WS_POPUP|WS_CAPTION,//窗口风格,定义为普通型
?? 0,0,//窗口位置的x,y坐标
?? 800,600,//窗口的宽度,高度
?? NULL,//父窗口句柄
?? NULL,//菜单句柄
?? hInstance,//应用程序句柄
?? NULL);
?if( !hWnd ) return FALSE;
?ShowWindow(hWnd,nCmdShow);//显示窗口
?UpdateWindow(hWnd);//刷新窗口
?return TRUE;
}
//************************************************************
//函数:WinProc( )
//功能:处理窗口消息
//************************************************************
LRESULT CALLBACK WinProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam )
{
switch( message )
{
case WM_KEYDOWN://击键消息
switch( wParam )
{
case VK_ESCAPE:
PostMessage(hWnd, WM_CLOSE, 0, 0);//给窗口发送WM_CLOSE消息
break;
}
return 0; //处理完一个消息后返回0
??case WM_CLOSE: //准备退出
??DestroyWindow( hWnd ); //释放窗口
??return 0;
case WM_RBUTTONDOWN:
return 0;
?case WM_DESTROY: //如果窗口被人释放…
?PostQuitMessage( 0 ); //给窗口发送WM_QUIT消息
?return 0;
}
//调用缺省消息处理过程
return DefWindowProc(hWnd, message, wParam, lParam);
}
- 24小时学DX之第一小时——win32窗体
- 24小时学DX之第二小时——显示一张背景图片
- 24小时学DX之第三小时——双缓冲
- 24小时学DX之第四小时——计时器、title
- 24 小时教会你IPAD编程 - 第一小时
- 超级记忆法(3)——第一小时
- 反常24小时(第一季)
- 24小时
- 1小时学Python脚本
- 仿网易新闻APP(三)——标题栏之24小时要闻
- 转贴:AAC文件格式 之 24小时精通
- NSDateFormatter之24小时制探究
- 楚广明24小时学通linux 的目录
- 让24小时变成48小时
- 24小时制转换为12小时
- 24小时与12小时切换
- date转string 12小时 24小时
- SimpleDateFormat 24小时和12小时转换
- 净宗科学观-净空法师讲于台南某高等学府
- 游民稗史-程序员的小说(5)
- Peer-to-Peer (P2P) communication across middleboxes(翻译3)
- 简易信息统计系统
- 网址收藏
- 24小时学DX之第一小时——win32窗体
- 24小时学DX之第二小时——显示一张背景图片
- 24小时学DX之第三小时——双缓冲
- 不用日期控件的智能日期输入法(vb代码版)
- 24小时学DX之第四小时——计时器、title
- 正则表达式基础
- 人族男剑客连招技能分析
- link
- AbstractList源码分析