|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Как написать минимальное оконное приложение?
Как в Delphi написать минимальное оконное приложение?
|
#2
|
||||
|
||||
File - New - Application. Run.
Готово. :-) Что делать, когда сломался комп: 1. Если вы юзер - делать ноги. 2. Если ремонтник - делать деньги. 3. Если вы программист - делать вид, что так было задумано. |
#3
|
|||
|
|||
:)
Точнее можно сразу жать Run))
|
#4
|
||||
|
||||
babekcom@yandx.ru
Лучше будет создать на WIN32 API - Вот это будет настоящим минимальным окном. Окна создаваемые в VCL - огромны. Пустая форма с кнопкой достигает аж 300 КБ. Вот пример создания окна на WIN API. Код:
program WIN32APIWIN; uses Windows, Messages; const AppName = 'WIN API WINDOW'; function WindowProc(Window: HWnd; AMessage, WParam, LParam: Longint): Longint; stdcall; begin WindowProc := 0; case AMessage of wm_Destroy: begin PostQuitMessage(0); Exit; end; end; WindowProc := DefWindowProc(Window, AMessage, WParam, LParam); end; { Register the Window Class:cool: } function WinRegister: Boolean; var WindowClass: TWndClass; begin With WindowClass do begin Style := cs_hRedraw or cs_vRedraw; lpfnWndProc := @WindowProc; cbClsExtra := 0; cbWndExtra := 0; hInstance := HInstance; hIcon := LoadIcon(0, idi_Application); hCursor := LoadCursor(0, idc_Arrow); hbrBackground := HBrush(Color_Window); lpszMenuName := nil; lpszClassName := AppName; end; Result := RegisterClass(WindowClass) <> 0; end; { Create the Window Class } function WinCreate: HWnd; var hWindow: HWnd; begin hWindow := CreateWindow(AppName, 'Object Pascal Window', ws_OverlappedWindow, cw_UseDefault, cw_UseDefault, cw_UseDefault, cw_UseDefault, 0, 0, HInstance, nil); if hWindow <> 0 then begin ShowWindow(hWindow, CmdShow); UpdateWindow(hWindow); end; Result := hWindow; end; var AMessage: TMsg; hWindow: HWnd; begin if not WinRegister then begin MessageBox(0, 'Register failed', nil, mb_Ok); Exit; end; hWindow := WinCreate; if hWindow = 0 then begin MessageBox(0, 'WinCreate failed', nil, mb_Ok); Exit; end; while GetMessage(AMessage, 0, 0, 0) do begin TranslateMessage(AMessage); DispatchMessage(AMessage); end; Halt(AMessage.wParam); end. Последний раз редактировалось moo2k, 09.09.2007 в 20:37. |
#5
|
|||
|
|||
Цитата:
|
#6
|
|||
|
|||
Пример написания минимального приложение в delphi есть тут
http://ed.nko13.ru/index.php?page=7&pr=5 |