Форум: "WinAPI";
Текущий архив: 2002.01.21;
Скачать: [xml.tar.bz2];
ВнизКак в DLL создать окно? Найти похожие ветки
← →
Floyn (2001-11-20 17:44) [2]To Иван Шихалев:
Вариант 1 (работает):
program testwindow;
uses
Windows,
Messages;
{оконная процедура}
function WindowProc(hWnd, uMsg, wParam, lParam: Integer): Integer; stdcall;
begin
Result := DefWindowProc(hWnd, uMsg, wParam, lParam);
if uMsg = WM_DESTROY then
Halt;
end;
{создает окно}
function CreateMyWindow(Inst:integer):integer;
var
handle:integer;
Button1, Label1, Edit1: Integer;
hFont: Integer;
begin
handle:=CreateWindowEx(WS_EX_WINDOWEDGE, "MY_WINDOW_CLASS", "TestWindowCaption",
WS_VISIBLE or WS_SIZEBOX or WS_CAPTION or WS_SYSMENU,
363, 278, 305, 65, 0, 0, Inst, nil);
CreateMyWindow:=handle;
end;
var
Inst, Handle:integer;
Msg: TMsg;
WinClass: TWndClassA;
begin
Inst := hInstance;
{эта регистрация работает}
with WinClass do
begin
style := CS_CLASSDC or CS_PARENTDC;
lpfnWndProc := @WindowProc;
hInstance := Inst;
hbrBackground := color_btnface + 1;
lpszClassname := "MY_WINDOW_CLASS";
hCursor := LoadCursor(0, IDC_ARROW);
end;
if (RegisterClass(WinClass)<>0)
then
begin
Handle := createmywindow(Inst);
UpdateWindow(Handle);
while(GetMessage(Msg, Handle, 0, 0)) do
begin
TranslateMessage(msg);
DispatchMessage(msg);
end;
end;
end.
Вариант 2 (не работает):
...
{не работающая функция регистрации}
function RegisterMyClass(hInst:integer; wndproc:pointer):integer;
var
WinClass: TWndClassA;
begin
with WinClass do
begin
style := CS_CLASSDC or CS_PARENTDC;
lpfnWndProc := wndproc;
hInstance := hInst;
hbrBackground := color_btnface + 1;
lpszClassname := "MY_WINDOW_CLASS";
hCursor := LoadCursor(0, IDC_ARROW);
end;
RegisterMyClass:=RegisterClass(WinClass);
end;
var
Inst, Handle:integer;
Msg: TMsg;
begin
Inst := hInstance;
if (RegisterMyClass(Inst,@WindowProc)<>0)
then
begin
Handle := createmywindow(Inst);
UpdateWindow(Handle);
while(GetMessage(Msg, Handle, 0, 0)) do
begin
TranslateMessage(msg);
DispatchMessage(msg);
end;
end;
end.
С моей точки зрения они идентичны...
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.01.21;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.004 c