Ковыряюсь во всяких справочниках... чего то ни фига не получается... Если кто может подскажите, как сделать или где поглядеть пример...
1. CreateWindow ( 'STATIC', text', WS_CHILD or WS_VISIBLE, 30, 8, 500, 80, handleWnd, 0, hInstance, nil ); * как задать ему цвет * сделать вертикальный скролл * изменить шрифт (размер, цвет и сам шрифт)
А можно всё таки как-нибудь на примере? Теоретически как бы всё понятно (до того как вопрос задал, догадывался), а на практике сделать не получается...
var handleWnd: THandle; WndClass: TWndClass; Msg: TMsg;
// Procedure & function >>>>>
function WindowProc(Window: HWnd; AMessage, WParam, LParam: Longint): Longint; stdcall; begin WindowProc:= DefWindowProc(Window, AMessage, WParam, LParam); case AMessage of WM_DESTROY: Halt; WM_PAINT: begin SetBkColor(handleWnd, color_btnface+1); UpdateWindow(handleWnd); end; // ? WM_LBUTTONDOWN: Halt; /// Срабатывает при нажатии на форму или на текст, а на нажатие button'а не реагирует... end; end;
// Procedure & function <<<<< begin with WndClass do begin hInstance := hInstance; lpszClassName:= myClassName; style := cs_hRedraw or cs_vRedraw; hbrBackground:= color_btnface+2; lpfnWndProc := @WindowProc; hCursor := LoadCursor(0, idc_Arrow); end; RegisterClass( WndClass );
handleWnd := CreateWindow(myClassName, 'Caption...', WS_SYSMENU or WS_MINIMIZEBOX, 400-300, 300-200, 600, 400, 0, 0, hInstance, NIL); CreateWindow('Label', 'Text', WS_VISIBLE or WS_CHILD or WM_SETTEXT, 20, 10, 60, 23, handleWnd, 0, hInstance, nil); CreateWindow('STATIC', 'Borland Studio Projects Borland Studio Projects Borland Studio' + ' Projects Borland Studio ProjectsBorland Studio Projects Borland Studio Projects Borland' + ' Studio Projects Borland Studio Projects', WS_CHILD or WS_VISIBLE + WS_VSCROLL, 30, 8, 200, 80, handleWnd, 0, hInstance, nil); /// Скролл выводит, но он не работает... // SetTextColor(handleWnd, color_btnface+5); CreateWindow('BUTTON', '123', WS_VISIBLE or WS_CHILD, 10, 179, 275, 22, handleWnd, 0, hInstance, nil);
ShowWindow(handleWnd, sw_ShowNormal); UpdateWindow(handleWnd); while GetMessage (Msg, 0, 0, 0) do begin TranslateMessage (Msg); DispatchMessage (Msg); end; end.
ну и загрузка/отображение рисунка... исходник бы какой... по проще... :-)