Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.012 c
4-98406
o_viz2000
2002-08-15 09:27
2002.09.30
Передать нажатие клавиш в ДОС-окно


3-97982
Gaber
2002-09-09 14:03
2002.09.30
Сравнение двух полей, двух разных таблиц


14-98324
ded_di
2002-09-05 12:53
2002.09.30
редактор запросов


4-98401
Pavel_S
2002-08-14 14:50
2002.09.30
Прозрачность формы и текст


14-98353
BJValentine
2002-09-06 13:08
2002.09.30
Mp3 ---> Audio CD