windows代码
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了windows代码,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3370字,纯文字阅读大概需要5分钟。
内容图文
![windows代码](/upload/InfoBanner/zyjiaocheng/938/240a5ec13faa4a47895dea7a9de960f3.jpg)
// #include "stdafx.h"
#include "ICONDEMO.h" // 此代码模块中包含的函数的前向声明:
LRESULT CALLBACK??? WndProc(HWND, UINT, WPARAM, LPARAM); //TCHAR szAppName[] = TEXT("PopPad2"); int APIENTRY wWinMain(_In_ HINSTANCE hInstance,
?_In_opt_ HINSTANCE hPrevInstance,
?_In_ LPWSTR??? lpCmdLine,
?_In_ int?????? nCmdShow)
{
?static TCHAR szAppName[] = TEXT("HexCalc");
?HWND?hwnd;
?MSG??msg;
?WNDCLASS wndclass; ?wndclass.style = CS_HREDRAW | CS_VREDRAW;
?wndclass.lpfnWndProc = WndProc;
?wndclass.cbClsExtra = 0;
?wndclass.cbWndExtra = DLGWINDOWEXTRA;
?wndclass.hInstance = hInstance;
?wndclass.hIcon = LoadIcon(hInstance, szAppName);
?wndclass.hCursor = LoadCursor(nullptr, IDC_ARROW);
?wndclass.hbrBackground = (HBRUSH)(COLOR_BTNFACE + 1);
?wndclass.lpszMenuName = NULL;
?wndclass.lpszClassName = szAppName; ?if (!RegisterClass(&wndclass))
?{
??MessageBox(NULL, TEXT("This program requires Windows NT!"), szAppName, MB_ICONERROR);
??return 0;
?} ?hwnd = CreateDialog(hInstance, szAppName, 0, NULL);; ?ShowWindow(hwnd, nCmdShow); ??? // 主消息循环:
??? while (GetMessage(&msg, nullptr, 0, 0))
??? {
???TranslateMessage(&msg);
???DispatchMessage(&msg);????
??? }
?return? msg.wParam;
} void ShowNumber(HWND hwnd, UINT iNumber)
{
?TCHAR szBuffer[20];
?wsprintf(szBuffer, TEXT("%X"), iNumber);
?SetDlgItemText(hwnd, VK_ESCAPE, szBuffer);
} DWORD CalcIt(UINT iFirstNum, int iOperation, UINT iNum)
{
?switch (iOperation)
?{
?case '=': return iNum;
?case '+': return iFirstNum + iNum;
?case '-': return iFirstNum - iNum;
?case '*': return iFirstNum *? iNum;
?case '&': return iFirstNum &? iNum;
?case '|': return iFirstNum | iNum;
?case '^': return iFirstNum ^? iNum;
?case '<': return iFirstNum << iNum;
?case '>': return iFirstNum >> iNum;
?case '/': return iNum ? iFirstNum / iNum : MAXDWORD;
?case '%': return iNum ? iFirstNum % iNum : MAXDWORD;
?default:return 0;
?}
}
//
//? 函数: WndProc(HWND, UINT, WPARAM, LPARAM)
//
//? 目的:??? 处理主窗口的消息。
//
//? WM_COMMAND? - 处理应用程序菜单
//? WM_PAINT??? - 绘制主窗口
//? WM_DESTROY? - 发送退出消息并返回
//
//
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
?static BOOL bNewNumber = TRUE;
?static int iOperation = '=';
?static UINT iNumber, iFirstNum;
?HWND hButton; ??? switch (message)
??? {
?case WM_KEYDOWN:
??if (wParam != VK_LEFT)
???break;
??wParam = VK_BACK;
?case WM_CHAR:
??if ((wParam = (WPARAM)CharUpper((TCHAR*)wParam)) == VK_RETURN)
???wParam = '=';
??if (hButton = GetDlgItem(hwnd, wParam))
??{
???SendMessage(hButton, BM_SETSTATE, 1, 0);
???Sleep(100);
???SendMessage(hButton, BM_SETSTATE, 0, 0);
??}
??else
??{
???MessageBeep(0);
???break;
??}
?case WM_COMMAND:
??SetFocus(hwnd);
??if (LOWORD(wParam) == VK_BACK)
??{
???ShowNumber(hwnd, iNumber /= 16);
??}
??else if (LOWORD(wParam) == VK_ESCAPE)
??{
???ShowNumber(hwnd, iNumber = 0);
??}
??else if (isxdigit(LOWORD(wParam)))
??{
???if (bNewNumber)
???{
????iFirstNum = iNumber;
????iNumber = 0;
???}
???bNewNumber = FALSE;
???if (iNumber <= MAXDWORD >> 4)
???{
????ShowNumber(hwnd, iNumber = 16 * iNumber + wParam - (isdigit(wParam) ? '0' : 'A' - 10));
???}
???else
???{
????MessageBeep(0);
???}
??}
??else
??{
???if (!bNewNumber)
???{
????ShowNumber(hwnd, iNumber = CalcIt(iFirstNum, iOperation, iNumber));
???}
???bNewNumber = TRUE;
???iOperation = LOWORD(wParam);
??}
??return 0;
??? case WM_DESTROY:
??????? PostQuitMessage(0);
??return 0;?
??? }
?return DefWindowProc(hwnd, message, wParam, lParam);
}
内容总结
以上是互联网集市为您收集整理的windows代码全部内容,希望文章能够帮你解决windows代码所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。