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

Вниз

Как сделать видимым элемент управления   Найти похожие ветки 

 
G-h-o-s-t   (2005-10-27 14:02) [0]

Есть в чужом приложении кнопка она не видима...нужно какую-то команду ей послать..чтобы сделать ее видимой...
Какую?


 
Zeqfreed ©   (2005-10-27 14:14) [1]

G-h-o-s-t   (27.10.05 14:02)
ShowWindow(h, SW_NORMAL); работает и незачем плодить ветки.


 
G-h-o-s-t   (2005-10-27 14:23) [2]

Может и так, а у меня не работет..
функция h2:= FindWindowEx(h, 0, "TButton", "Button1");
не возвращает дискриптор невидимой кнопки...по этому видимо и не работет
тогда..чтобы не плодить ветки как получить дескриптор..невидимого контрола?


 
Zeqfreed ©   (2005-10-27 14:37) [3]

G-h-o-s-t   (27.10.05 14:23) [2]

> как получить дескриптор..невидимого контрола?

Точно так же как и видимого.

> функция h2:= FindWindowEx(h, 0, "TButton", "Button1");

Опять же, уверен, что h корректный дескриптор? :)
Класс "TButton" и имя окна "Button1" у тебя, я так понимаю, потому, что ты тестируешь работоспособность метода на своем приложении и своих контролах? Если так, то может путаешь Caption и Name кнопки? В ф-цию FindWindowEx нужно передавать именно Caption, в терминологии VCL.


 
G-h-o-s-t   (2005-10-27 14:46) [4]

Да ничего я не путаю..ну ты сам поробуй прежде чем советовать
я создаю сприложение с кнопкой...если эта кнопка видима на форме то из другого приложения функция
h2:= FindWindowEx(h, 0, "TButton", "Button1");
возвращает значение тоесть дискриптор кнопки..и если она даже не активна..я
с помощью EnableWindow(h2,True); делаю ее активной и можно нажимать сколько хочешь...но если в первом проэкте я делаю кнопку не активой и невидимой..то все...
h2:= FindWindowEx(h, 0, "TButton", "Button1"); возвращает 0
вот и все...че тут путать программу из которой я вызываю эту функцию я не меняю...меняю только свойство в первой
видимый на невидимый и все


 
Zeqfreed ©   (2005-10-27 15:45) [5]

G-h-o-s-t   (27.10.05 14:46) [4]
ShowWindow прекрасно работает для стандартных контролов, коим кнопка из VCL не является.. Так сразу даже и не знаю как с ней быть; она вообще определяется как видимая, когда на самом деле на форме не отображается.


 
Leonid Troyanovsky ©   (2005-10-27 16:40) [6]


> G-h-o-s-t   (27.10.05 14:46) [4]

> нажимать сколько хочешь...но если в первом проэкте я делаю
> кнопку не активой и невидимой..то все...
> h2:= FindWindowEx(h, 0, "TButton", "Button1"); возвращает 0


Если ты делаешь Visible := False в дизайнере, или, скажем
в OnCreate, то окно этой кнопки просто не создается.
Попробуй сделать Visible := False в OnShow формы.

--
Regards, LVT.


 
G-H-O-S-T   (2005-10-27 18:29) [7]

> Leonid Troyanovsky ©   (27.10.05 16:40) [6]
спасибо конечно за совет...но эту процедуру мне нужно проделать с другой программой, а не со своей и на каое событи там повешана невидимость я не знаю.....


 
Leonid Troyanovsky ©   (2005-10-27 18:36) [8]


> G-H-O-S-T   (27.10.05 18:29) [7]

> спасибо конечно за совет...но эту процедуру мне нужно проделать
> с другой программой, а не со своей и на каое событи там
> повешана невидимость я не знаю.....


Если в чужом приложении оного окна нет, то, увы его там и не найти.
Сл-но, нельзя сделать видимым то, что не существует.
Логично, не правда ли?

--
Regards, LVT.


 
G-h-o-s-t   (2005-10-27 18:51) [9]

Логично..но допустим..оно там всетаки есть...если быть точным это радиобатон....но поскольку его не видно я не знаю его название..тоесть класс я знаю, а можно ли получить его хендл..не зная текста?


 
Leonid Troyanovsky ©   (2005-10-27 18:57) [10]


> G-h-o-s-t   (27.10.05 18:51) [9]
> Логично..но допустим..оно там всетаки есть...если быть точным
> это радиобатон....но поскольку его не видно я не знаю его
> название..тоесть класс я знаю, а можно ли получить его хендл.
> .не зная текста?


Ну, можно пустить {Delphi}\bin\Winsight.exe и рассмотреть название
или CtrlId или, хотя бы, z-order.
Если, конечно, окно в этот момент существует.

--
Regards, LVT.


 
ANB ©   (2005-10-28 16:20) [11]

Сначала проверить спаем, есть ли вообще нужная тебе кнопка или другой контрол на окне. Спай показывает даже невидимые, если они существуют и являются окнами. В нем же сможешь определить текст для поиска. У некоторых контролов текст на экране не совпадает с заголовком (эдиты). Имя же компонента никакого значения для виндовс не имеет.



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

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

Наверх




Память: 0.49 MB
Время: 0.037 c
5-1119726763
ali_tash
2005-06-25 23:12
2006.01.01
Как создать Tree c Node типа TCheckBox


1-1133521902
bogdan
2005-12-02 14:11
2006.01.01
Организация авторана


2-1134421386
Pupsiks
2005-12-13 00:03
2006.01.01
Сообщение


11-1115879438
Thaddy
2005-05-12 10:30
2006.01.01
Menu bug


14-1134027893
syte_ser78
2005-12-08 10:44
2006.01.01
что есть такео ГАДЖЕТ?????