| Как с помощью API поместить Label на Form? | Previous Home Next |
| handleWnd, Label1 : THandle; |
| WndClass: TWndClass; |
| Msg: TMsg; |
| WindowProc:= DefWindowProc(Window, AMessage, WParam, LParam); |
| case AMessage of |
| {WM_COMMAND: if lParam = Button1 then |
| MessageBox( 0, 'Вы нажали кнопку!', 'Информация', |
| MB_OK or MB_ICONINFORMATION); } |
| WM_DESTROY: Halt; |
| end; |
| with WndClass do |
| begin |
| hInstance := hInstance; |
| lpszClassName:= myClassName; |
| style := cs_hRedraw or cs_vRedraw; |
| hbrBackground:= color_btnface +1; |
| lpfnWndProc := @WindowProc; |
| hCursor := LoadCursor(0, idc_Arrow); |
| hIcon := LoadIcon(0, IDI_EXCLAMATION); |
| lpszMenuName := NIL; |
| cbWndExtra := 0; |
| cbClsExtra := 0; |
| end; |
| RegisterClass( WndClass ); |
| handleWnd:= CreateWindow(myClassName, 'Hажми кнопку', ws_OverlappedWindow, |
| 400, 300, 200, 100, 0, 0, hInstance , NIL); |
| if handleWnd = 0 then |
| begin |
| MessageBox( 0, 'Error', NIL, MB_OK ); |
| Exit; |
| end; |
| Label1:= CreateWindow( 'Label', 'Text', |
| WS_VISIBLE or WS_CHILD or WM_SETTEXT, |
| 20, 10, 60, 23, handleWnd, 0, hInstance, nil); |
| ShowWindow(handleWnd, SW_SHOW); |
| UpdateWindow(handleWnd); |
| while GetMessage(Msg, handleWnd, 0, 0) do |
| begin |
| TranslateMessage(Msg) ; |
| DispatchMessage(Msg) ; |
| end; |