在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
program WindowDemo; uses // 窗口函数,窗口接到消息时被Windows所调用 function WindowProc(hwnd : HWND; uMsg : Cardinal; wParam : WPARAM; lParam : LPARAM) : LResult; stdcall; begin Result := 0; case uMsg of // 关闭窗口消息,当用户关闭窗口后,通知主消息循环结束程序 WM_CLOSE : PostMessage(hwnd, WM_QUIT, 0, 0); // 鼠标左键按下消息 WM_LBUTTONDOWN : MessageBox(hwnd, 'Hello!', '和您打个招呼', MB_ICONINFORMATION); else // 其他消息做默认处理 Result := DefWindowProc(hWnd, uMsg, wParam, lParam); end; end; var wndcls : WNDCLASS; // 窗口类的记录(结构)类型 hWnd : THandle; Msg : tagMSG; // 消息类型 begin wndcls.style := CS_DBLCLKS; // 允许窗口接受鼠标双击 wndcls.lpfnWndProc := @WindowProc; // 为窗口类指定窗口函数 wndcls.cbClsExtra := 0; wndcls.cbWndExtra := 0; wndcls.hInstance := hInstance; wndcls.hIcon := 0; wndcls.hCursor := LoadCursor(hInstance, 'IDC_ARROW'); wndcls.hbrBackground := COLOR_WINDOWFRAME; wndcls.lpszMenuName := nil;
// 注册窗口类 if RegisterClass(wndcls) = 0 then Exit; // 创建窗口 hWnd := CreateWindow( 'WindowClassDemo', // 窗口类名称 'WindowDemo', // 窗口名称 WS_BORDER or WS_CAPTION or WS_SYSMENU, // 窗口类型 Integer(CW_USEDEFAULT), Integer(CW_USEDEFAULT), Integer(CW_USEDEFAULT), Integer(CW_USEDEFAULT), 0, 0, hInstance, nil ); if hWnd = 0 then Exit; // 显示窗口 ShowWindow(hWnd, SW_SHOWNORMAL); UpdateWindow(hWnd); // 创建主消息循环,处理消息队列中的消息并分发 // 直至收到WM_QUIT消息,退出主消息循环,并结束程序 // WM_QUIT消息由PostMessage()函数发送 while GetMessage(Msg, hWnd, 0, 0) do begin TranslateMessage(Msg); DispatchMessage(Msg); end; end. |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论