编写一个Windows窗口应用程序
来源:互联网 发布:淘宝卖家开通直播入口 编辑:程序博客网 时间:2024/04/19 13:54
编写一个Windows窗口应用程序
使用VS2008,64位编译器。
- 1.打开VS2008,新建一个空项目
- 2.在项目中添加.cpp文件
- 3.输入代码如下
#include <windows.h>#include <stdio.h>LRESULT CALLBACK WinHuProc( 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; //应用程序实例句柄由WinMain函数传进来 wndcls.lpfnWndProc=WinHuProc; wndcls.lpszClassName="simpleframe"; wndcls.lpszMenuName=NULL; wndcls.style=CS_HREDRAW | CS_HREDRAW; RegisterClass(&wndcls); //创建窗口,定义一个变量用来保存成功创建窗口后返回的句柄 HWND hwnd; hwnd=CreateWindow("simpleframe","12345", 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 msg.wParam;} //编写窗口过程函数 LRESULT CALLBACK WinHuProc( 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 code is %d",wParam); MessageBox(hwnd,szChar,"char",0); break; case WM_LBUTTONDOWN: MessageBox(hwnd,"mouse clicked","message",0); HDC hdc; hdc=GetDC(hwnd); //不能再响应WM_PAINT消息时调用 TextOut (hdc,0,50,"程序员之家",strlen("程序员之家")); //ReleaseDC (hwnd,hdc); break; case WM_PAINT: HDC hDC; PAINTSTRUCT ps; hDC=BeginPaint(hwnd,&ps); //BeginPaint 只能在响应WM_PAINT消息时调用 TextOut(hdc,0,0,"12345",strlen("12345")); EndPaint(hwnd,&ps); break; case WM_CLOSE: if (IDYES == MessageBox(hwnd,"是否真的结束?","message",MB_YESNO)) { DestroyWindow(hwnd); } break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hwnd,uMsg,wParam,lParam); } return 0; }
- 4.选择x64编译器
- 5.编译运行
-
代码来源:《VC深入详解》第一章
阅读全文
1 0
- 编写一个Windows窗口应用程序
- 用 Windows api 编写一个多线程应用程序
- 编写一个JFrame窗口
- 编写一个JFrame窗口
- 编写一个JFrame窗口
- 编写一个程序用于控制其他应用程序窗口的隐藏和显示:
- windows 应用程序窗口的创建
- 主函数(windows 窗口应用程序)
- Windows应用程序窗口的创建
- 用Nasm编写Windows窗口
- Windows应用程序入口函数编写
- 作业: 编写一个JFrame窗口
- 手工编写一个web应用程序
- 创建一个windows窗口
- windows创建一个窗口
- 面向对象,掌握Windows应用程序的创建过程:一个窗口的诞生
- .编写一个Windows应用程序,由给定数据25,15,10,30,20饼图
- 在一个窗口应用程序中创建一个console窗口
- 点击查看大图(长按保存图片)
- 【NOI2016】优秀的拆分
- 解决activity、service间使用sharePreference进行值存取不同步
- HDU 6129 Just do it
- [RK3288][Android7.1.2] Launcher3 源码阅读之step2:详解Launcher的OnCreate方法的A部分
- 编写一个Windows窗口应用程序
- jquery验证表单不为空
- Seek the Name, Seek the Fame POJ
- 51Nod 1381:硬币游戏
- 解决Eclipse 启动后总是Building WorkSpace(sleeping)
- Find Minimum in Rotated Sorted Array问题及解法
- 常见HTTP状态码
- java接受键盘输入
- hdu 1151 Air Raid