Форум: "WinAPI";
Текущий архив: 2006.01.01;
Скачать: [xml.tar.bz2];
ВнизКак сделать видимым элемент управления Найти похожие ветки
← →
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 вся ветка
Форум: "WinAPI";
Текущий архив: 2006.01.01;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.04 c