Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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
2-1142930771
pkm
2006-03-21 11:46
2006.04.02
Random.


10-1116231207
andrey__
2005-05-16 12:13
2006.04.02
компонент - TExcelApplication, создать диаграмму


2-1142337389
Emik
2006-03-14 14:56
2006.04.02
Interbase


3-1139400405
Ega23
2006-02-08 15:06
2006.04.02
Как лучше всего пинговать сервер?


15-1141723512
lak-b
2006-03-07 12:25
2006.04.02
JavaScript: создание объектов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский