Ковыряюсь во всяких справочниках... чего то ни фига не получается... Если кто может подскажите, как сделать или где поглядеть пример...
1. CreateWindow ( 'STATIC', text', WS_CHILD or WS_VISIBLE, 30, 8, 500, 80, handleWnd, 0, hInstance, nil ); * как задать ему цвет * сделать вертикальный скролл * изменить шрифт (размер, цвет и сам шрифт)
Легко... Но давай начнем с того, что тебе надо подкорректировать всю программу:
program WinApiTest;
uses Windows, Messages;
const myClassName= 'myWindow';
BTN_ID = 200; // ID кнопки
var handleWnd, myButton, myLabel, myStatic: HWND; myFont: HFONT;
WndClass: TWndClassEx; Msg: TMsg;
// Procedure & function >> function WindowProc(Window: HWND; AMessage: UINT; WParam: WPARAM; LParam: LPARAM): INT_PTR; stdcall; begin case AMessage of WM_COMMAND: // Здесь ловим ID нажатой кнопки begin case LoWord(WParam) of BTN_ID: // Вот он, значит, закрываем приложение begin PostQuitMessage(0); Result := 0; end; end; end;
WM_DESTROY: // Ну, или закрыли крестиком или Alt+F4 begin PostQuitMessage(0); Result := 0; end;
else // Если ничего не отработало - то вызываем стандартную функцию Result := DefWindowProc(Window, AMessage, WParam, LParam); end;
end;
// Main Function begin with WndClass do begin cbSize := SizeOf(WndClass); style := CS_HREDRAW or CS_VREDRAW; lpfnWndProc := @WindowProc; cbClsExtra := 0; cbWndExtra := 0; hIcon := LoadIcon(0, IDI_APPLICATION); hCursor := LoadCursor(0, IDC_ARROW); hbrBackground := COLOR_BTNFACE + 1; lpszMenuName := nil; lpszClassName := myClassName; end; WndClass.hInstance := HInstance;
// ... и Edit myStatic := CreateWindow('edit', PChar('Borland Studio Projects Borland Studio Projects '+ 'Borland Studio Projects Borland Studio Projects'+ 'Borland Studio Projects Borland Studio Projects '+ 'Borland Studio Projects Borland Studio Projects '+ 'Borland Studio Projects Borland Studio Projects'+ 'Borland Studio Projects Borland Studio Projects '+ 'Borland Studio Projects Borland Studio Projects '+ 'Borland Studio Projects Borland Studio Projects'+ 'Borland Studio Projects Borland Studio Projects '+ 'Borland Studio Projects Borland Studio Projects'), WS_CHILD or WS_VISIBLE or WS_VSCROLL or ES_MULTILINE, 30, 25, 200, 100, handleWnd, 0, hInstance, nil );