Создание формы на чистом APIDelphi , Синтаксис , API реализацияСоздание формы на чистом API
Оформил: DeeCo // Put this code in your Project file (*.dpr). // Den Code in eine Projekt Datei (*.dpr) einfugen. program Project1; uses windows, messages; // Main Window Procedure function MainWndProc(hWindow: HWND; Msg: UINT; wParam: wParam; lParam: lParam): LRESULT; stdcall; export; var ps: TPaintStruct; begin Result := 0; case Msg of WM_PAINT: begin BeginPaint(hWindow, ps); SetBkMode(ps.hdc, TRANSPARENT); TextOut(ps.hdc, 10, 10, 'Hello, World!', 13); EndPaint(hWindow, ps); end; WM_DESTROY: PostQuitMessage(0); else begin Result := DefWindowProc(hWindow, Msg, wParam, lParam); Exit; end; end; end; // Main Procedure var wc: TWndClass; hWindow: HWND; Msg: TMsg; begin wc.lpszClassName := 'YourAppClass'; wc.lpfnWndProc := @MainWndProc; wc.Style := CS_VREDRAW or CS_HREDRAW; wc.hInstance := hInstance; wc.hIcon := LoadIcon(0, IDI_APPLICATION); wc.hCursor := LoadCursor(0, IDC_ARROW); wc.hbrBackground := (COLOR_WINDOW + 1); wc.lpszMenuName := nil; wc.cbClsExtra := 0; wc.cbWndExtra := 0; RegisterClass(wc); hWindow := CreateWindowEx(WS_EX_CONTROLPARENT or WS_EX_WINDOWEDGE, 'YourAppClass', 'API', WS_VISIBLE or WS_CLIPSIBLINGS or WS_CLIPCHILDREN or WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, 400, 300, 0, 0, hInstance, nil); ShowWindow(hWindow, CmdShow); UpDateWindow(hWindow); while GetMessage(Msg, 0, 0, 0) do begin TranslateMessage(Msg); DispatchMessage(Msg); end; Halt(Msg.wParam); end. Перевод контента на русский язык: Это код на Delphi, который создает окно с помощью Windows API и обрабатывает некоторые основные события, такие как рисование, уничтожение и обработка сообщений. Вот разбивка того, что каждый часть кода делает:
Вот некоторые улучшения, которые можно сделать в этом коде:
Вот альтернативное решение, использующее более современную версию Delphi (Delphi 2009 или позднее) и компонент
В этом варианте мы создаем класс формы ( Обратите внимание, что в этом коде не обрабатываются сообщения окон напрямую; вместо этого он зависит от встроенных механизмов обработки сообщений Delphi для обработки событий, таких как рисование и уничтожение. В статье описывается создание формы на чистом API в Delphi с использованием функции MainWndProc и процедуры Main для отображения окна "Hello, World!". Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: API реализация ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |