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

Вниз

Создание TControl в произвольном окне с известным дескриптором   Найти похожие ветки 

 
Пётр   (2007-08-26 15:19) [0]

Здраствуйте.
Есть задача разместить контрол(панель) в произвольном окне. Известен хэндл окна. Хотелось бы, чтобы кроме процедуры создания панели, вся остальная работа проходила именно с PControl. Возможноли тако и что для этого нужно?
Если данный вопрос уже поднимался, пожалуйста дайте ссылку.
Спасибо.


 
ANTPro ©   (2007-08-26 16:40) [1]

Возможно создать как обычно, а потом сменить предка функцией SetParent.


 
Пётр   (2007-08-26 20:44) [2]

Ваш метод работает. НО только до первого изменения свойств контрола. После изменения свойств контрол возвращается на прежнее место к прежнему родителю.


 
ANTPro ©   (2007-08-26 21:54) [3]


procedure TForm1.Button1Click(Sender: PObj);
begin
 Ctrl := NewPanel(Form, esRaised).SetPosition(10, 10).SetClientSize(50, 50);
 SetParent(Ctrl.Handle, Panel1.Handle);
 Ctrl.Show;
 Ctrl.Left:=50;//Работает
 Ctrl.Caption:="sdfsdfwsf";//Работает
end;


 
Пётр   (2007-08-27 19:52) [4]

Проблема была не в этом, но она уже решена.
По умолчанию, windows.setParent работает для окон и контролов одного приложения, то есть если у меня в программе есть две формы, то я могу "перекинуть" панель с одной на другую. Но если "перекинуть" панель на форму другого приложения, то при первом же обращении к контролу панель возвращалась на ту форму, которой она принадлежала. Не знаю почему, но принудительное установление
panel.Style:=panel.Style OR WS_CHILD
решило проблему...
Спасибо за вашу помощь.



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

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

Наверх




Память: 0.47 MB
Время: 0.011 c
2-1206972240
jack128_
2008-03-31 18:04
2008.04.27
SQL запрос


15-1205587575
Интересующийся
2008-03-15 16:26
2008.04.27
Как реверсировать клип в Adobe Premiere?


2-1207234217
XP_Style
2008-04-03 18:50
2008.04.27
Как узнать, что у Windows XP включены стили XP?


2-1207132584
Res
2008-04-02 14:36
2008.04.27
Окно


15-1204473751
Пробегал...
2008-03-02 19:02
2008.04.27
TIniFiles vs TStringList