Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.02;
Скачать: CL | DM;

Вниз

SetParent() встраивание окна в чужое окно   Найти похожие ветки 

 
VirEx ©   (2006-01-09 18:48) [0]

делаю так один раз:
SetWindowLong(Handle,GWL_STYLE ,GetWindowLong(Handle,GWL_STYLE) or WS_CHILD);
т.е. делаю стиль окна таким чтобы было возможно встраивание (стиль окна + WS_CHILD)

затем если один раз указать:
setparent(Handle,AnyWND);
то текущее окно (дескриптор Handle) встраивается в чужое окно (дескриптор AnyWND)

НО, ЕСЛИ ЕЩЕ РАЗ ПРИМЕНИТЬ setparent() К ДРУГОМУ ОКНУ - ФУНКЦИЯ НЕ СКАНАЕТ

может есть другое решение, мне нужно присваивать родителя для окна многократно (т.е. к другим окнам)


 
VirEx ©   (2006-01-09 19:21) [1]

Удалено модератором
Примечание: Создание пустых сообщений


 
VirEx ©   (2006-01-10 15:39) [2]

может убить окно, сделать его снова и встроить в чужое?


 
Игорь Шевченко ©   (2006-01-10 18:09) [3]

If the function fails, the return value is NULL. To get extended error information, call GetLastError.

The new parent window and the child window must belong to the same application.


 
VirEx ©   (2006-01-10 18:24) [4]


>  [3] Игорь Шевченко ©   (10.01.06 18:09)
> If the function fails, the return value is NULL. To get
> extended error information, call GetLastError.
>
> The new parent window and the child window must belong to
> the same application.


повторяю, я встраиваю первый раз успешно, в чужое окно, а последующие действия по "встраиванию" не работают


 
Игорь Шевченко ©   (2006-01-10 18:25) [5]

VirEx ©   (10.01.06 18:24) [4]

Ты читать умеешь ? Если да, прочти еще раз фразу

If the function fails, the return value is NULL. To get extended error information, call GetLastError.


 
VirEx ©   (2006-01-10 18:39) [6]


>  [5] Игорь Шевченко ©   (10.01.06 18:25)

ты победил мою лень, заставил меня поставить брэкпоинт :)

проблем из офф, если кому надо - вывод на нашем русском инфы об ошибке:

function GetErrorString:PChar;
var
 lpMsgBuf:PChar;
begin

FormatMessage(
   FORMAT_MESSAGE_ALLOCATE_BUFFER or FORMAT_MESSAGE_FROM_SYSTEM,
   nil,
   GetLastError(),
   0,//MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
   @lpMsgBuf,
   0,
   nil
);

MessageBox(0,PChar( GetErrorString),"message",0);


 
Игорь Шевченко ©   (2006-01-10 18:41) [7]


> если кому надо - вывод на нашем русском инфы об ошибке


SysErrorMessage(GetLastError)


 
VirEx ©   (2006-01-10 18:43) [8]


>  [7] Игорь Шевченко ©   (10.01.06 18:41)
>
> > если кому надо - вывод на нашем русском инфы об ошибке
>
>
> SysErrorMessage(GetLastError)

это чудо требует uses SysUtils, а у меня программа на читом API


 
Leonid Troyanovsky ©   (2006-01-10 19:17) [9]


> VirEx ©   (10.01.06 18:43) [8]

> > SysErrorMessage(GetLastError)

> это чудо требует uses SysUtils, а у меня программа на читом API


FormatMessage

--
Regards, LVT.


 
VirEx ©   (2006-01-10 19:39) [10]


>  [9] Leonid Troyanovsky ©   (10.01.06 19:17)
>
> > VirEx ©   (10.01.06 18:43) [8]
>
> > > SysErrorMessage(GetLastError)
>
> > это чудо требует uses SysUtils, а у меня программа на
> читом API
>
>
> FormatMessage
>
> --
> Regards, LVT.

читай внимательно посты :) см  [6] VirEx ©   (10.01.06 18:39)


 
begin...end ©   (2006-01-10 19:49) [11]

> VirEx ©   (10.01.06 18:39) [6]

Надеюсь, в коде учтена необходимость освобождения памяти, связанной с lpMsgBuf.



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

Текущий архив: 2006.04.02;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.04 c
15-1141634591
Yegorchic
2006-03-06 11:43
2006.04.02
Минимизация функции нескольких переменный


1-1141193347
Novic
2006-03-01 09:09
2006.04.02
Не корректное возвращение управления программе


1-1140891291
veb
2006-02-25 21:14
2006.04.02
Delphi и Unicode


11-1123421854
EVILDeath
2005-08-07 17:37
2006.04.02
Unit xxxxx was compiled with another version of yyyyy


3-1139375320
Marat
2006-02-08 08:08
2006.04.02
Local Engine