【VC编程】笔记1--创建一个Win32的应用程序,并显示创建的窗口和菜单
来源:互联网 发布:nginx反向代理配置文件 编辑:程序博客网 时间:2024/04/23 22:44
/******************************************************************************************************文件说明:* Win32_SDK编程---主程序*开发环境:* Win10+VS2012*时间地点:* 陕西师范大学 2017.1.2*作 者:* 九月******************************************************************************************************/#include<Windows.h>#include<stdio.h>#include<iostream>#include"resource.h"#include<tchar.h>/*******************************************************************************************************函数说明:* 窗口过程函数*函数参数:* 1---HWND hwnd------发送消息的窗口句柄* 2---UINT uMsg------系统传递过来的消息识别码* 3---WPARAM wParam--消息附加参数1* 4---LPARAM lParam--消息附加参数2******************************************************************************************************/LRESULT CALLBACK WndProc(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam){if (uMsg==WM_PAINT){PAINTSTRUCT ps;const HDC hDC = BeginPaint(hwnd,&ps);RECT rect;GetClientRect(hwnd,&rect);DrawText(hDC,TEXT("Windows编程"),-1,&rect,DT_CENTER|DT_VCENTER|DT_SINGLELINE);EndPaint(hwnd,&ps);EndPaint(hwnd,&ps);return 0;}else if(uMsg==WM_DESTROY){PostQuitMessage(0);return 0;}return DefWindowProc(hwnd,uMsg,wParam,lParam);}/*******************************************************************************************************函数说明:* 1---WinMain是Windows程序的入口函数,与DOS程序中的Main函数的作用是一样的* 2---WinMian主函数的作用是:* 1--创建应用程序窗口* 2--建立消息循环*函数参数:* 1---HINSTANCE hInstance------指针变量,当前应用程序的实例句柄* 2---HINSTANCE hPrevInstace---指向当前应用程序前的一个实例句柄* 3---LPSTR lpCmdLine------指向本程序命令行字符串的指针* 4---int nCmdShow-------本程序窗口显示方式的标志******************************************************************************************************/int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstace,LPSTR lpCmdLine,int nCmdShow){//【1】设计窗口WNDCLASS wndCls;wndCls.style = CS_HREDRAW|CS_VREDRAW|CS_DBLCLKS; //[2]窗口样式wndCls.lpfnWndProc = (WNDPROC)WndProc; //[3]指向窗口过程函数的函数指针wndCls.cbClsExtra = 0;wndCls.cbWndExtra = 0;wndCls.hInstance = hInstance; //[4]应用程序实例句柄wndCls.hIcon = LoadIcon(hInstance,(LPCTSTR)IDI_APP); //[5]主窗口图标wndCls.hCursor = LoadCursor(NULL,IDC_ARROW); //[6]主窗口光标wndCls.hbrBackground= (HBRUSH)GetStockObject(GRAY_BRUSH); //[7]主窗口背景颜色wndCls.lpszMenuName = (LPCWSTR)IDR_APP; //[8]主窗口菜单wndCls.lpszClassName= _T("MyWindow"); //[9]主窗口类名wndCls.hIcon = LoadIcon(hInstance,(LPCWSTR)IDI_APPSMALL); //[10]小图标//【2】注册窗口RegisterClass(&wndCls); //【3】创建窗口const HWND hwnd = CreateWindow(_T("MyWindow"),_T("Win32示例"),WS_OVERLAPPEDWINDOW,0,0,600,400,NULL,NULL,hInstance,NULL);//【4】显示窗口ShowWindow(hwnd,SW_SHOW);//【5】刷新窗口UpdateWindow(hwnd);//【6】定义消息结构体MSG msg;while (GetMessage(&msg,NULL,0,0)){TranslateMessage(&msg);DispatchMessage(&msg);}return msg.wParam;}
/******************************************************************************************************文件说明:* 资源头文件---resource.h*开发环境:* Win10+VS2012*时间地点:* 陕西师范大学 2017.1.2*作 者:* 九月******************************************************************************************************/#define IDI_APP 100 //[1]主窗口图标资源标识符#define IDI_APPSMALL 101 //[2]主窗口小图标资源标识符#define IDR_APP 102 //[3]主窗口菜单快捷键资源标识符#define IDS_APP_TITLE 1000 //[4]应用程序标题资源标识符#define IDM_FILE_NEW 1101#define IDM_FILE_OPEN 1102#define IDM_EXIT 1103#define IDM_ABOUT 1104#define IDM_SEPTEMBER 1105
/******************************************************************************************************文件说明:* 资源描述文件---resource.rc*开发环境:* Win10+VS2012*时间地点:* 陕西师范大学 2017.1.2*作 者:* 九月******************************************************************************************************/#include "resource.h"#include <Windows.h>IDD_APP ICON DISCARDABLE "res\\app.ico" //[1]主窗口图标资源IDD_APPSMALL ICON DISCARDABLE "res\\appsmall.ico" //[2]主窗口小图标资源IDR_APP MENU DISCARDABLE //[3]主窗口菜单资源BEGIN POPUP "文件(&F)"BEGIN MENUITEM "新建(&N)\tCtrl+N", IDM_FILE_NEW MENUITEM "打开(&O)..\tCtrl_O" IDM_FILE_OPEN MENUITEM "退出(&X)" IDM_EXITENDPOPUP "帮助(&H)"BEGIN MENUITEM "软件简介(&A)" IDM_ABOUTENDPOPUP "九月软件"BEGIN MENUITEM "九月软件简介" IDM_SEPTEMBERENDENDIDR_APP ACCELERATORS MOVEABLE PURE //[0]主窗口快捷键资源BEGIN "N",IDM_FILE_NEW"O",IDM_FILE_OPEN, VIRTKEY,ALT"X",IDM_EXIT, VIRTKEY,ALTVK_F1,IDM_ABOUT, VIRTKEY ENDSTRINGTABLE DISCARDABLE //[1]字符串资源BEGIN IDS_APP_TITLE "MainWindow" //[2]应用程序标题资源END
0 0
- 【VC编程】笔记1--创建一个Win32的应用程序,并显示创建的窗口和菜单
- 创建一个不显示窗口的Win32程序
- VC/win32 windows 窗口的注册和创建
- Win32创建一个简单的窗口
- 创建一个Win32应用程序的步骤
- 创建一个win32应用程序的步骤
- 吕鑫MFC就业培训宝典学习笔记—创建一个简单的win32应用程序(2-1)
- 创建一个普通的应用程序窗口
- 创建窗口的应用程序
- VC---创建一个不规则形状的窗口
- win32程序窗口的创建
- Win32创建窗口的过程
- win32程序窗口的创建
- win32的创建窗口代码
- 创建C++的 Win32 应用程序
- 创建Win32应用程序的步骤
- vc++ 弹出式菜单的创建和响应函数
- 创建一个不显示窗口的程序
- NSURL包含特殊字符处理
- FastFeatureDetector的坐标获取
- 结束日期必须大于开始日期--My97DatePicker日历控制的又一方便之处
- session/cookie
- 深入理解Java虚拟机:实战OutOfMemoryError
- 【VC编程】笔记1--创建一个Win32的应用程序,并显示创建的窗口和菜单
- 作业2
- 自定义InputFormat
- 计算机大牛网站
- 再谈事件封装性
- Spring源码解析之Bean的加载
- 关键字const的作用
- springDao-配置数据源
- Java transient关键字使用小记