Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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.01 c
2-1133969354
ZeFiR
2005-12-07 18:29
2006.01.01
Как справиться с ошибкой Stack Overflow?


2-1134477291
Postscriptum
2005-12-13 15:34
2006.01.01
Обновление приложения


8-1121692230
BFG9k
2005-07-18 17:10
2006.01.01
FastLib


2-1134822279
Johnnie_pw
2005-12-17 15:24
2006.01.01
Некоторые проблемы с реестром


2-1134641224
roughneck
2005-12-15 13:07
2006.01.01
Запись на CD





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский