![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
SetParent() встраивание окна в чужое окно
VirEx © (2006-01-09 18:48:00)делаю так один раз:
SetWindowLong(Handle,GWL_STYLE ,GetWindowLong(Handle,GWL_STYLE) or WS_CHILD);
т.е. делаю стиль окна таким чтобы было возможно встраивание (стиль окна + WS_CHILD)
затем если один раз указать:
setparent(Handle,AnyWND);
то текущее окно (дескриптор Handle) встраивается в чужое окно (дескриптор AnyWND)
НО, ЕСЛИ ЕЩЕ РАЗ ПРИМЕНИТЬ setparent() К ДРУГОМУ ОКНУ - ФУНКЦИЯ НЕ СКАНАЕТ
может есть другое решение, мне нужно присваивать родителя для окна многократно (т.е. к другим окнам)
begin...end (2006-01-10 19:49:00) [1]> VirEx © (10.01.06 18:39) [6]
Надеюсь, в коде учтена необходимость освобождения памяти, связанной с lpMsgBuf.
VirEx (2006-01-10 19:39:00) [2]
> [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)
Leonid Troyanovsky (2006-01-10 19:17:00) [3]
> VirEx © (10.01.06 18:43) [8]
> > SysErrorMessage(GetLastError)
> это чудо требует uses SysUtils, а у меня программа на читом API
FormatMessage
--
Regards, LVT.
VirEx (2006-01-10 18:43:00) [4]
> [7] Игорь Шевченко © (10.01.06 18:41)
>
> > если кому надо - вывод на нашем русском инфы об ошибке
>
>
> SysErrorMessage(GetLastError)
это чудо требует uses SysUtils, а у меня программа на читом API
Игорь Шевченко (2006-01-10 18:41:00) [5]
> если кому надо - вывод на нашем русском инфы об ошибке
SysErrorMessage(GetLastError)
VirEx (2006-01-10 18:39:00) [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:25:00) [7]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:24:00) [8]
> [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:09:00) [9]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 15:39:00) [10]может убить окно, сделать его снова и встроить в чужое?
VirEx (2006-01-09 19:21:00) [11]Удалено модератором
Примечание: Создание пустых сообщений