欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > windows >内容正文

windows

Windows环境下32位汇编程序设计C版code--第五章(二)

发布时间:2025/4/16 windows 38 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Windows环境下32位汇编程序设计C版code--第五章(二) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

(二)图标和光标

#include <windows.h> #include "Resource.h"TCHAR szName[] = TEXT("Icon and Cursor Example"); HICON hIconBig, hIconSmall; HCURSOR hCur1, hCur2; HMENU hMenu; HINSTANCE hInst;LRESULT CALLBACK ProcWinMain(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {switch(uMsg){case WM_CREATE:hIconBig = LoadIcon(hInst, MAKEINTRESOURCE(IDI_BIG));hIconSmall = LoadIcon(hInst, MAKEINTRESOURCE(IDI_SMALL));hCur1 = LoadCursorFromFile(TEXT("1.ANI"));hCur2 = LoadCursor(hInst, MAKEINTRESOURCE(IDC_CURSOR));SendMessage(hWnd, WM_COMMAND, IDM_BIG, 0);SendMessage(hWnd, WM_COMMAND, IDM_CUR1, 0);return 0;case WM_COMMAND:switch(LOWORD(wParam)){case IDM_EXIT:DestroyWindow(hWnd);PostQuitMessage(0);return 0;case IDM_BIG:CheckMenuRadioItem(hMenu, IDM_BIG, IDM_SMALL, IDM_BIG, MF_BYCOMMAND);SendMessage(hWnd, WM_SETICON, ICON_BIG, (LPARAM)hIconBig);return 0;case IDM_SMALL:CheckMenuRadioItem(hMenu, IDM_BIG, IDM_SMALL, IDM_SMALL, MF_BYCOMMAND);SendMessage(hWnd, WM_SETICON, ICON_BIG, (LPARAM)hIconSmall);return 0;case IDM_CUR1:CheckMenuRadioItem(hMenu, IDM_CUR1, IDM_CUR2, IDM_CUR1, MF_BYCOMMAND);SetClassLong(hWnd, GCL_HCURSOR, (LONG)hCur1);return 0;case IDM_CUR2:CheckMenuRadioItem(hMenu, IDM_CUR1, IDM_CUR2, IDM_CUR2, MF_BYCOMMAND);SetClassLong(hWnd, GCL_HCURSOR, (LONG)hCur2);return 0;}break;case WM_CLOSE:DestroyWindow(hWnd);PostQuitMessage(0);return 0;}return DefWindowProc(hWnd, uMsg, wParam, lParam); }int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) {WNDCLASSEX stWndCls;MSG stMsg;HWND hMainWnd;hInst = hInstance; hMenu = LoadMenu(hInstance, MAKEINTRESOURCE(IDM_MAIN));RtlZeroMemory(&stWndCls, sizeof(stWndCls));stWndCls.cbWndExtra = 0;stWndCls.cbClsExtra = 0;stWndCls.hInstance = hInst;stWndCls.cbSize = sizeof(WNDCLASSEX);stWndCls.style = CS_HREDRAW | CS_VREDRAW;stWndCls.lpfnWndProc = ProcWinMain;stWndCls.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);stWndCls.lpszClassName = szName;stWndCls.lpszMenuName = NULL;RegisterClassEx(&stWndCls);hMainWnd = CreateWindowEx(WS_EX_CLIENTEDGE, szName, szName, WS_OVERLAPPEDWINDOW, 500, 200, 300, 185, NULL, hMenu, hInstance, NULL);ShowWindow(hMainWnd, SW_SHOWNORMAL);UpdateWindow(hMainWnd);while(GetMessage(&stMsg, NULL, 0, 0)){TranslateMessage(&stMsg);DispatchMessage(&stMsg);}return stMsg.wParam; }

总结

以上是生活随笔为你收集整理的Windows环境下32位汇编程序设计C版code--第五章(二)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。