Win32 api编程模板和 加速键编程例子
来源:互联网 发布:windows损坏文件修复 编辑:程序博客网 时间:2024/05/17 01:25
A 加速键编写过程1)在资源中刚添加 Accelerator, 然后再资源编辑器中编辑 格式:加速键ID ACCELERATORSBEGIN 键名, 命令ID, [,类型] [,选项] ……END// 用Ctrl+F1键控制 file openIDC_PEDUMP ACCELERATORS BEGIN VK_F1, IDM_FILE_OPEN, VIRTKEY, CONTROL, NOINVERTEND程序实现: HACCEL hAccelTable;hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_PEDUMP));while(GetMessage(&msg, NULL, 0, 0)){if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)){TranslateMessage(&msg);DispatchMessage(&msg);}}//////////////////////////////////////////////////////////////////////////////////////////Win32 api编程模板// PEDump.h#pragma once#ifndef WINVER // Specifies that the minimum required platform is Windows Vista.#define WINVER 0x0600 // Change this to the appropriate value to target other versions of Windows.#endif#ifndef _WIN32_WINNT // Specifies that the minimum required platform is Windows Vista.#define _WIN32_WINNT 0x0600 // Change this to the appropriate value to target other versions of Windows.#endif#ifndef _WIN32_WINDOWS // Specifies that the minimum required platform is Windows 98.#define _WIN32_WINDOWS 0x0410 // Change this to the appropriate value to target Windows Me or later.#endif#ifndef _WIN32_IE // Specifies that the minimum required platform is Internet Explorer 7.0.#define _WIN32_IE 0x0700 // Change this to the appropriate value to target other versions of IE.#endif#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers// Windows Header Files:#include <windows.h>// C RunTime Header Files#include <stdlib.h>#include <malloc.h>#include <memory.h>#include <tchar.h>/////////////////////////////////////////////////////// resource.h#define IDS_CAPTION 101#define IDS_CLASSNAME 102#define IDI_PEDUMP 103#define IDR_MENU_PEDUMP 104#define IDR_ACCELERATOR1 105#define ID_FILE_OPEN40001 40001#define ID_FILE_EXIT 40002#define ID_HELP_ABOUT 40003#define IDM_HELP_ABOUT 40004#define IDM_FILE_OPEN 40005#define IDM_FILE_EXIT 40006#define IDC_PEDUMP 40007// Next default values for new objects// #ifdef APSTUDIO_INVOKED#ifndef APSTUDIO_READONLY_SYMBOLS#define _APS_NEXT_RESOURCE_VALUE 106#define _APS_NEXT_COMMAND_VALUE 40009#define _APS_NEXT_CONTROL_VALUE 1001#define _APS_NEXT_SYMED_VALUE 101#endif#endifPEDump.cpp#include "PEDump.h"#include "resource.h"#define MAX_STR_CAPTION100TCHAR szTitle[MAX_STR_CAPTION];TCHAR szWinClass[MAX_STR_CAPTION];ATOM RegisterClass(HINSTANCE hInstance);LRESULT CALLBACK PEDumpWndProc(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);BOOL InitInstance(HINSTANCE hInstance, int nCmdShow);int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow){MSG msg;HACCEL hAccelTable;LoadString(hInstance,IDS_CAPTION,szTitle, MAX_STR_CAPTION);if (RegisterClass(hInstance) == 0){return FALSE;}if (!InitInstance(hInstance, nCmdShow)){return FALSE;}hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_PEDUMP));while(GetMessage(&msg, NULL, 0, 0)){if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)){TranslateMessage(&msg);DispatchMessage(&msg);}}return 0;}ATOM RegisterClass(HINSTANCE hInstance){WNDCLASSEX winClass;LoadString(hInstance, IDS_CLASSNAME, szWinClass, MAX_STR_CAPTION);winClass.cbSize= sizeof(WNDCLASSEX);winClass.style= CS_HREDRAW | CS_VREDRAW;winClass.lpfnWndProc= PEDumpWndProc;winClass.cbClsExtra= 0;winClass.cbWndExtra= 0;winClass.hInstance= hInstance;winClass.hIcon= LoadIcon(hInstance, MAKEINTRESOURCE(IDI_PEDUMP));winClass.hCursor= LoadCursor(NULL, IDC_ARROW);winClass.hbrBackground= (HBRUSH)(COLOR_WINDOW + 1);winClass.lpszMenuName= MAKEINTRESOURCE(IDR_MENU_PEDUMP);winClass.lpszClassName= szWinClass;winClass.hIconSm= LoadIcon(hInstance, MAKEINTRESOURCE(IDI_PEDUMP));return RegisterClassEx(&winClass);}LRESULT CALLBACK PEDumpWndProc(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam){int wmId, wmEvent;PAINTSTRUCT ps;HDC hdc;switch(Msg){case WM_COMMAND:wmId= LOWORD(wParam);wmEvent = HIWORD(wParam);switch(wmId){case IDM_FILE_OPEN:MessageBox(NULL, L"Open", L"Open",NULL);break;case IDM_FILE_EXIT:DestroyWindow(hWnd);break;case IDM_HELP_ABOUT:break;default:return DefWindowProc(hWnd, Msg,wParam,lParam);}break;case WM_PAINT:hdc = BeginPaint(hWnd,&ps);EndPaint(hWnd, &ps);break;case WM_DESTROY:PostQuitMessage(0);break;default:return DefWindowProc(hWnd, Msg,wParam,lParam);}return 0;}BOOL InitInstance(HINSTANCE hInstance, int nCmdShow){HWND hWnd;hWnd = CreateWindow(szWinClass,szTitle,WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,0,CW_USEDEFAULT,0,NULL,NULL,hInstance,NULL);int err = GetLastError();if (NULL == hWnd){return FALSE;}ShowWindow(hWnd, nCmdShow);UpdateWindow(hWnd);return TRUE;}
0 0
- Win32 api编程模板和 加速键编程例子
- Win32 API 窗口编程模板
- WIN32编程模板
- win32 api 串口编程
- C# win32 API编程
- WIN32 API 串口编程
- Win32 API编程
- win32 API 线程编程
- Win32 API串口编程
- 多线程编程win32 API
- Win32 API串口编程
- Win32 API串口编程
- win32 api 编程
- WIN32 API - http编程
- Win32 API串口编程
- Win32 API串口编程
- Win32 API 串口编程
- 模板元编程加速递归
- SaaS能否上演“中国绝技” ?
- C#中插入换行符
- JavaScript正则表达式语法
- [C#] Byte[]、Image、Bitmap 之间的相互转换
- php--get_defined_constants()
- Win32 api编程模板和 加速键编程例子
- IOS Number 处理(int-->NSNumber,NSNumber-->nsinteger,string -->double,CGFloat --> dobule)
- Dumpbin命令使用详解
- Selenium Grid 安装
- 设计模式-策略模式
- 2014-03-13周四:Setlocale函数设置当前程序使用的本地化信息
- java内存溢出调试工具
- oracle 存储过程经典实例
- C++常用函数备忘