Вниз
Скачать: 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.013 c
14-29540
}|{yk
2004-01-20 19:33
2004.02.10
генетические эксперименты


14-29545
Alexander666
2004-01-21 11:46
2004.02.10
Американские деньжата


9-29183
Sacred
2003-07-24 01:17
2004.02.10
Фокусное расстояние камеры


14-29579
Думкин
2004-01-20 06:12
2004.02.10
С днем рождения! 20 января.


14-29547
Романов Р.В.
2004-01-19 10:33
2004.02.10
404




   Наверх