Форум: "WinAPI";
Текущий архив: 2006.04.02;
Скачать: [xml.tar.bz2];
Вниз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 вся ветка
Форум: "WinAPI";
Текущий архив: 2006.04.02;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.053 c