Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Создание главной формы с помощью WinApi [D6]


Семён ©   (2001-11-10 09:36:00) 

Научите создавать простое приложение полностью на WinApi, Пожалуйста!!!!!


BorisMor   (2001-11-10 23:01:00) [1]

ну хорошо : будем считать что это был флейм :)


Anatoly Podgoretsky   (2001-11-10 22:50:00) [2]

А Семен не просил "писать меньше"


BorisMor   (2001-11-10 21:52:00) [3]

Согласен. Не причем.
Но цитируя себя : "Результат тот же, а писать меньше"


Иван Шихалев   (2001-11-10 19:19:00) [4]

to BorisMor

А причем тут WinAPI?


BorisMor   (2001-11-10 17:48:00) [5]

Ну а мне почемуто больше нравится так ;)

uses
windows,
messages,
kol;

var
Form,btn:pControl;

begin
Applrt := NewApplet("Caption");
Form := NewForm(Applet,"Caption");
btn := NewButton(Form,"button");
run(Applet);
end.

Результат тот же, а писать меньше


Ajax   (2001-11-10 16:07:00) [6]

program winmin;

uses windows, messages;

const idb_main = 10;

var wc : TWndClassEx;
MainWnd : HWND;
Mesg : TMsg;
btn : HWND;

function WindowProc(wnd:HWND; Msg : Integer; Wparam:Wparam; Lparam:Lparam):Lresult; stdcall;
var nCode, ctrlID : word;
Begin
case msg of
wm_command :
Begin
nCode:=hiWord(wParam);
ctrlID:=loWord(wParam);
case ctrlID of
idb_main : begin

end;
end;
End;
wm_destroy :
Begin
postquitmessage(0); exit;
Result:=0;
End;

else Result:=DefWindowProc(wnd,msg,wparam,lparam);
end;

End;

var xPos,yPos,nWidth,nHeight : Integer;

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:="WndClass1";

RegisterClassEx(wc);

xPos:=100;
yPos:=150;
nWidth:=400;
nHeight:=250;


MainWnd:=CreateWindowEx(0,"WndClass1",
"Caption",
ws_overlappedwindow,
xPos,yPos,nWidth,nHeight,0,0,
Hinstance,nil);

btn:=CreateWindowEx(0,"button","name",bs_pushbutton or ws_child or ws_visible,
10,10,75,25,mainWnd,idb_main,hInstance,nil);

ShowWindow(MainWnd,CmdShow);

While GetMessage(Mesg,0,0,0) do
begin
TranslateMessage(Mesg);
DispatchMessage(Mesg);
end;

end.


Наверх

Титульная страница Поиск, карта сайта Написать письмо