Форум: "Начинающим";
Текущий архив: 2006.07.23;
Скачать: [xml.tar.bz2];
Внизрабочий стол в качестве парента компонента Найти похожие ветки
← →
redlord (2006-07-04 12:17) [0]всем привет
подскажите как создать в рантайме форму
1 у которой парентом является рабочий стол ?
2 можно ли в качестве парента назначить чужой контрол
myform:=tform.Create(? ? ?);
myform.Left:=20;
myform.Top:=20;
myform.Height:=200;
myform.Width:=200;
myform.Parent:=? ? ? ?
← →
Fay © (2006-07-04 12:56) [1]> Create(? ? ?)
Здесь ожидается не Parent, а Owner
> чужой контрол
Это хто?
← →
koha (2006-07-04 13:03) [2]Попробуй так:
windows.SetParent(myForm.Handle,GetDesktopWindow());
Button - точно прилипает к рабочему столу.btns:=TButton.Create(Owner);
btns.Parent:=Fm;
windows.SetParent(btns.Handle,GetDesktopWindow());
btns.Left:=random(Screen.Width);
btns.Top:=random(Screen.Height);
← →
koha (2006-07-04 13:50) [3]Вот окно в рантайме принадлежащее рабочему столу:
Frm:=TForm.Create(Owner);
Windows.SetParent(Frm.Handle,GetDesktopWindow());
Frm.Show;
Только какой смысл?
← →
antonn © (2006-07-04 14:12) [4]koha (04.07.06 13:50) [3]
Только какой смысл?
по Win+D не сворачивается. Тут где то рядом была ветка, оттуда сюда пришли...
← →
redlord (2006-07-04 18:36) [5]спасибо. на рабочий стол повесить получилось,
а вот на контрол чужой проги не хочет липнуть
Windows.SetParent(Frm.Handle,application.handle);
для чего это надо:
данный код будет забускатся из dll
устанавливающий хук на чужую прогу
а следовательно форма да илюбой контрол
окажется в адрессном пространстве чужой проги со всеми вытекающими последствиями (добавляю кнопочку проге стороннего разработчика)
← →
koha © (2006-07-05 19:04) [6]application.handle - это кажется хендел собственного application, наверно
необходимо поиметь handle того application на который собираешся прилепить свое окно. Наверно необходимо использовать функции поиска: findwindow?
Я не пробовал так, хотя стоит попробовать может, что и получится, меня эта тема тоже заинтересовала.
← →
StriderMan © (2006-07-05 19:17) [7]
> а вот на контрол чужой проги не хочет липнуть
используй ParentWindow (надо знать хэндл окна, на которого "лепить"). при этом parent обязательно ставь nil.
← →
redlord (2006-07-05 22:09) [8]to koha
да так и есть нужно findwindow использовать, теперь все приклеивается.
тока теперь проблема другого плана
при закрытии проги установившей хук , происходит критичесская ошибка
в проге на которую хук был установлен
а еси первой закрыть прогу на которую поставлен хук то все работает без глюков
и кто должен убивать приаттаченный обект ?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.07.23;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.787 c