Вниз
Скачать: CL | DM;

дочернее окно на WinAPI   Найти похожие ветки 

← →
Shiza ©   (2003-12-05 12:37) [0]

Как создать дочернее окно для одной программы из другой dll-ки, вернее что передать в качестве параметра hInstance функции CreateWindow.


← →
BiN ©   (2003-12-05 12:59) [1]

Ты в дельфи пишешь - значит и передавай Hinstance

можешь, конечно, и GetModuleHandle(nil)


← →
Shiza ©   (2003-12-05 16:04) [2]

Вот код, где ошибка?:

var
h,hinst:HWND;
r: TRECT;

begin
GetClientRect(ParentWin,r);
hinst:=GetModuleHandle(nil);
h:=CreateWindow("ТRichEdit","",WS_CHILD or ES_MULTILINE or ES_READONLY or WS_HSCROLL or WS_VSCROLL or ES_NOHIDESEL,r.left,r.top,r.right,r.bottom,ParentWin,0,hinst,nil);
result:=h;
{Application.CreateForm(TForm1, Form1);
form1.Caption:=inttostr(h);
form1.Show;}//код в кавычках для проверки хендла.


← →
BiN ©   (2003-12-05 16:32) [3]

первое, что бросается в глаза - "TRichEdit"
такой класс может быть и незарегистрированным
ты лучше исходники Forms.pas глянь


← →
DVM ©   (2003-12-05 16:34) [4]

Можно и ничего не передавать - все равно работать будет.


← →
Игорь Шевченко ©   (2003-12-06 00:30) [5]

Из справки по CreateWindow:

hInstance
Windows 95/98/Me: Handle to the instance of the module to be associated with the window.
Windows NT/2000/XP: This value is ignored.

В Win9x надо передавать тот Instance, в котором выполняется CreateWindow, в других без разницы, что передавать.


> где ошибка?:


> hinst:HWND

Это не ошибка, но небрежность.


← →
Shiza ©   (2003-12-08 16:25) [6]

Удалено модератором



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
1-29376
Grinder
2004-01-30 23:13
2004.02.10
Рисование на border


1-29297
Islander
2004-02-02 10:09
2004.02.10
Диалог, с надписью и кнопкой


1-29329
Layner
2004-01-29 09:00
2004.02.10
Формат времени на разных компьютерах (StrToDate)


1-29319
lipskiy
2004-01-27 22:31
2004.02.10
WinExec не везде выполняется, что неправильно?


14-29601
Дмитрий_Б
2004-01-19 09:22
2004.02.10
Проблема с установкой w2k




   Наверх