Текущий архив: 2002.09.30;
Скачать: CL | DM;
Вниз
создание окна Найти похожие ветки
← →
ef2000 (2002-08-14 13:31) [0]Подскажите пожалуйста, как создать окно средствами win api? Если не затруднит, приведите код.. Сам пробовал:
var
Window: hWnd;
begin
Window:=CreateWindow(AppName, "Окно", WS_OVERLAPPED, 0, 0, 150, 150, 0, 0, HInstance, NIL);
ShowWindow(Window, SW_SHOW);
...
end.
не получилось. Видимио все сложнее.
Заранее благодарен.
← →
ef2000 (2002-08-14 13:54) [1]видимо надо регистрировать класс?
← →
Ученик © (2002-08-14 14:00) [2]>ef2000 (14.08.02 13:54)
Надо
← →
ef2000 (2002-08-14 14:07) [3]смотрю "Hello, world" на vc++, думаю разберусь сам.
спасибо.
← →
Raptor © (2002-08-14 22:08) [4]Да, это делается немного сложнее. Например так:
program MinWndTemplate;
uses
windows,messages;
var
wc : TWndClassEx;
Wnd : HWND;
Msg : TMsg;
function WindowProc(wnd : HWND; Msg : Integer; WParam : WParam; LParam : Longint): Longint; stdcall;
var
x,y:DWORD;
Begin
Result := 0;
case msg of
wm_destroy:Begin
postquitmessage(0);
exit;
Result:=0;
End;
//Здесь добавляешь обработчики событий WM_*
else Result := DefWindowProc(wnd, msg, wparam, lparam);
end;//Case MSG
End;
Begin
wc.cbSize:=sizeof(wc);
wc.style:=cs_hredraw or cs_vredraw;
wc.lpfnWndProc:=@WindowProc;
wc.cbClsExtra:=0;
wc.cbWndExtra:=0;
wc.hInstance:=HInstance;
wc.hIcon:=LoadIcon(0, IDI_APPLICATION);
wc.hCursor:=LoadCursor(0, idc_arrow);
wc.hbrBackground:=COLOR_BTNFACE + 1;
wc.lpszMenuName:=nil;
wc.lpszClassName:="MinWnd Template";
RegisterClassEx(wc);
Wnd := CreateWindowEx(0, "MinWnd Template", "MinWnd Template",
ws_overlapped or ws_sysmenu or WS_MINIMIZEBOX or WS_MAXIMIZEBOX or WS_SIZEBOX ,100, 150, 360, 200, 0, 0,Hinstance, nil);
ShowWindow(Wnd, CmdShow);
While GetMessage(Msg, 0, 0, 0) do
begin
TranslateMessage(Msg);
DispatchMessage(Msg);
end;
end.
Страницы: 1 вся ветка
Текущий архив: 2002.09.30;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.017 c