Win32API Sample: MessageBox

使用Win32API的代码示例
博客展示了一段代码,使用了'require 'Win32API'',并包含一段注释提及消息框及编码者为CFC,体现了信息技术中代码调用相关内容。
require 'Win32API'

=begin
Message Box:
Coded by CFC
好的,以下是代码实现: ```c++ #include <windows.h> LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam); int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { const char CLASS_NAME[] = "Sample Window Class"; WNDCLASS wc = { }; wc.lpfnWndProc = WindowProc; wc.hInstance = hInstance; wc.lpszClassName = CLASS_NAME; RegisterClass(&wc); HWND hwnd = CreateWindowEx( 0, CLASS_NAME, "Edit Textbox Sample", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 350, 250, NULL, NULL, hInstance, NULL ); if (hwnd == NULL) { return 0; } ShowWindow(hwnd, nCmdShow); MSG msg = { }; while (GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return 0; } LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_CREATE: { // 创建编辑框 HWND hEdit = CreateWindowEx( 0, "EDIT", "我们的", WS_CHILD | WS_VISIBLE | WS_BORDER | ES_MULTILINE | ES_AUTOVSCROLL | ES_CENTER, 50, 50, 200, 80, hwnd, NULL, GetModuleHandle(NULL), NULL); // 设置字体大小和颜色 HFONT hFont = CreateFont(30, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_SWISS, "Arial"); SendMessage(hEdit, WM_SETFONT, (WPARAM)hFont, TRUE); SendMessage(hEdit, EM_SETBKGNDCOLOR, 0, RGB(255, 255, 255)); SendMessage(hEdit, EM_SETSEL, 0, -1); break; } case WM_COMMAND: { if (HIWORD(wParam) == EN_CHANGE) { // 获取编辑框中的文本 char buffer[100]; GetWindowText((HWND)lParam, buffer, 100); // 显示预设字符串到message box if (strcmp(buffer, "我们的") == 0) { MessageBox(hwnd, buffer, "预设字符串", MB_OK); } } break; } case WM_DESTROY: { PostQuitMessage(0); break; } default: return DefWindowProc(hwnd, uMsg, wParam, lParam); } return 0; } ``` 这段代码创建了一个带有一个edit文本框的窗口程序,edit中预设字符串为"我们的",字体大小为30,颜色为红色。当用户修改文本框中的内容时,程序会检查是否与预设字符串相同,如果相同则弹出一个message box,显示预设字符串。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值