LL
L Listiniya

Delphi. создаю форму для проги на WinApi

короче создал, а можно ли уже на етой форме добавить веб-браузер например?
program Project1;

uses
Windows,
Messages;

{$APPTYPE GUI}

var hWindow : HWND;
WndClass : TWndClass;
msgMessage : TMSG;
const
sClassName = 'HelloWorld';

procedure ShowMessage(Str : PCHAR);
begin
MessageBox(0,Str,'Message',MB_OK);
end;

function HelloWordWndProc(Window: HWnd; AMessage, WParam,
LParam: Longint): Longint; stdcall; export;
var
AMsg : TMessage;
hdcHDC : HDC;
PaintStruct : TPaintStruct;
Rect : TRect;
begin
AMsg.Msg := AMessage;
AMsg.WParam := WParam;
AMsg.LParam := LParam;
AMsg.Result := 0;
case AMessage of
WM_PAINT : begin
hdcHDC := BeginPaint(Window,PaintStruct);
GetClientRect(Window,Rect);
DrawText(hdcHDC,'Hello World!', -1,Rect,
DT_SINGLELINE or DT_CENTER or DT_VCENTER);
EndPaint(Window,PaintStruct);
end;
WM_DESTROY : PostQuitMessage(0);
else
HelloWordWndProc := DefWindowProc(Window, AMessage, WParam, LParam);
Exit;
end;
Result := AMsg.Result
end;

begin
WndClass.style := CS_HREDRAW or CS_VREDRAW;
WndClass.lpfnWndProc := @HelloWordWndProc;
WndClass.cbClsExtra := 0;
WndClass.cbWndExtra := 0;
WndClass.hInstance := hInstance;
WndClass.hIcon := LoadIcon(0,{IDI_APPLICATION}IDI_INFORMATION);
WndClass.hCursor := LoadCursor(0,IDC_ARROW);
WndClass.hbrBackground := HBRUSH(GetStockObject(WHITE_BRUSH));
//WndClass.hbrBackground := HBRUSH(WHITE_BRUSH);
WndClass.lpszMenuName := nil;
WndClass.lpszClassName := sClassName;

if RegisterClass(WndClass) <> 0 then
begin
hWindow := CreateWindow(sClassName, 'Program N 1',
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,CW_USEDEFAULT,
CW_USEDEFAULT,CW_USEDEFAULT,
0,0,
hInstance,nil);
if hWindow <> 0 then
begin
ShowWindow(hWindow, CmdShow);
UpdateWindow(hWindow);
while GetMessage(msgMessage,0,0,0) do
begin
TranslateMessage(msgMessage);
DispatchMessage(msgMessage);
end;
Halt(msgMessage.wParam);
end
else
MessageBox(0,'Cannot create window','Error',MB_OK);
end
else
MessageBox(0,'Cannot register class','Error',MB_OK);
end.

а можно было?

Na
Natka

Во-первых, какая это форма, когда CreateWindow()? Формы - это TForm, а если на чистом API - это уже называется "окно".
Во-вторых, можно, думаю.. . Я тоже задавался подобным вопросом 🙂 Но трудно. Скорее всего, через объекты OLE, типа IWebBrowser2... Погуглите, как сделать OleContainer на API, а потом в нём разместить IWebBrowser2...
Знаете, есть компонент TWebBrowser для форм? Это тоже IWebBrowser2, погуглите, нельзя ли такое как-нить через API сделать.
Удачи 🙂

Александр П.
Александр П.

можно... но проще с веб работать на С++

Похожие вопросы
Delphi и размеры формы
Как ожидать закрытия формы? Delphi
Создать в Delphi несколько картинок
вопрос про формы (Delphi)?
Хелп миии!!! Как создать заполняемые формы в пдф? какой прогой?
winapi на русском. Есть ли winapi на русском языке?
Компоненты и формы в Delphi 7
Delphi 7. Можно ли создать меняющуюся форму внутри основной формы?
C++ WinApi HTML в проге
Delphi-скрытие формы...