DELPHI FAQ: Как с помощью API поместить Label на Form?


Как с помощью API поместить Label на Form?
Previous  Home  Next


var 
hLabel : HWND ;
...
hLabel := CreateWindow ( 'STATIC'
'test', WS_CHILD or WS_VISIBLE, 0020040, hWnd, NULL, hInstance, NULL ); 

Автор ответа: Baa



Примечание:
Vit


Скорее всего последний параметр не "NULL", а "Nil" (NULL в паскале - варианта для обозначения пустого поля в базе данных)
Взято с Vingrad.ru http://forum.vingrad.ru




program Project1;

uses

Windows,
Messages;

const

myClassName= 'myWindow'
;

var

handleWnd, Label1 : THandle; 
WndClass: TWndClass; 
Msg: TMsg; 

function
 WindowProc(Window: HWnd; AMessage, WParam,
LParam: Longint): Longint; stdcall
;
begin

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
end
;

begin

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, 
40030020010000, 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, 
20106023, handleWnd, 0, hInstance, nil); 
ShowWindow(handleWnd, SW_SHOW); 
UpdateWindow(handleWnd); 
while GetMessage(Msg, handleWnd, 00do 
begin 
TranslateMessage(Msg) ; 
DispatchMessage(Msg) ; 
end
end
.

Автор ответа:
alex-co

Взято с Vingrad.ru http://forum.vingrad.ru







EOMY TOP 100      Рейтинг@Mail.ru      Rambler's Top100