|
p; EndDialog(HndAbout, 1); Exit; end; end; Result := False; end;
function WndProc(HndWnd: HWND; AMsg, WParam, LParam: LongInt): LongInt; stdcall; var AMessage: TMessage; begin AMessage.Msg := AMsg; AMessage.WParam := WParam; AMessage.LParam := LParam; AMessage.Result := 0;
case AMsg of WM_PAINT: OnPaint(HndWnd, TWMPaint(AMessage)); WM_CHAR: OnChar(HndWnd, TWMChar(AMessage)); WM_SYSKEYDOWN: OnSysKeyDown(HndWnd, TWMSysKeyDown(AMessage)); WM_KEYDOWN: OnKeyDown(HndWnd, TWMKeyDown(AMessage)); WM_MOUSEMOVE: OnMouseMove(HndWnd, TWMMouseMove(AMessage)); WM_LBUTTONDBLCLK: OnDblClk(HndWnd, TWMLButtonDblClk(AMessage));
WM_COMMAND: if WParam = cm_About then begin DialogBox(HInstance, ''''AboutDialog'''', HndWnd, @WndAbout); Result := DefWindowProc(HndWnd, AMsg, WParam, LParam); Exit; end;
WM_DESTROY: PostQuitMessage(WM_QUIT); else begin Result := DefWindowProc(HndWnd, AMsg, WParam, LParam); Exit; end; end; Result := AMessage.Result; end;
function RegisterInstance: Boolean; var AWndCls: TWndClass; begin AWndCls.style := CS_VREDRAW or CS_HREDRAW or CS_DBLCLKS; AWndCls.lpfnWndProc := @WndProc; AWndCls.cbClsExtra := 0; AWndCls.cbWndExtra := 0; AWndCls.hInstance := HInstance; AWndCls.hIcon := LoadIcon(0, IDI_WINLOGO); AWndCls.hCursor := LoadCursor(0, IDC_ARROW); AWndCls.hbrBackground := HBrush(Color_Window); AWndCls.lpszMenuName := ''''WndMenu''''; AWndCls.lpszClassName := sCLS_NAME;
Result := RegisterClass(AWndCls) <> 0; end;
function CreateInstance: THandle; var AHnd: THandle; begin AHnd := CreateWindow(sCLS_NAME, sMSG_TITLE, WS_OVERLAPPEDWINDOW, nSYS_X, nSYS_Y, nWIDTH, nHEIGHT, 0, 0, HInstance, nil); if AHnd <> 0 then begin ShowWindow(AHnd, SW_SHOW ); UpdateWindow(AHnd); end;
Result := AHnd; end;
var AMsg: TMsg; begin if not RegisterInstance then begin MessageBox(0, sERR_REGISTER, nil, MB_OK); Exit; end;
if CreateInstance = 0 then begin MessageBox(0, sERR_CREAT, nil, MB_OK); Exit; end;
while GetMessage(AMsg, 0, 0, 0) do begin TranslateMessage(AMsg); DispatchMessage(AMsg); end; end.
上一页 [1] [2] [VB.NET程序]Auto Complete combo Box(VB.NET Source Use API… [VB.NET程序]在 VB 中使用 Unicode API [VB.NET程序]API 更改系统菜单条目 [VB.NET程序]在VB中调用Windows API的注意事项 [VB.NET程序]vb调用winInet API接口post数据到指定的url [VB.NET程序]如 何 用 API 播 放 CD [VB.NET程序]VB5.0与Windows API 间的呼叫技巧 [VB.NET程序]在VB6中用WINDOWS API函数读写INI文件 [VB.NET程序]Visual Basic调用Windows API函数的应用举例 [VB.NET程序]VB + API 获取 IE 的 代理服务器 配制
|