HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Добраться до элемента класса QWidget
  #1  
Старый 04.09.2009, 11:04
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами: 10097606

Репутация: 3349


По умолчанию Добраться до элемента класса QWidget

Столкнулся с одной проблемкой.
Есть окно (чужое) оно имеет класс QWidget
при этом в окне есть кнопки и различного рода контролы. Но все они принадлежат классу QWidget
т.е. и класс QWidget и хендл одинаковые.
И там есть одна кнопка которая находится в неактивном состоянии и необходимо сделать её активной.

просто с QT както не работал.
 
Ответить с цитированием

  #2  
Старый 04.09.2009, 13:56
razb
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
С нами: 9017461

Репутация: 414


По умолчанию

немного не понятен вопрос ))
Если ты все виджеты на форме создавал руками, то в твоем классе должны быть указатели на них, или же если ты создавал форму через дизайнер то твой класс либо будет производным от класса формы либо будет содержать указатель на форму с виджетами.
 
Ответить с цитированием

  #3  
Старый 04.09.2009, 18:28
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами: 10097606

Репутация: 3349


По умолчанию

>>>> Есть окно (чужое) оно имеет класс QWidget <<<<<
Это совершенно левая программа(нет исходников) и я незнаю как и что там устроено. И через WinAPI или QT мне както нужно разблокировать кнопку.
 
Ответить с цитированием

  #4  
Старый 04.09.2009, 19:04
St0nX
Участник форума
Регистрация: 19.05.2007
Сообщений: 281
С нами: 9989619

Репутация: 106
По умолчанию

Попробуй перебирать все элементы формы и поочередно пытаться разблокировать их. И чё то про хендлы понял. У всех кнопок 1 что ли? =\
 
Ответить с цитированием

  #5  
Старый 04.09.2009, 23:22
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами: 10097606

Репутация: 3349


По умолчанию

Если бы было так всё просто то не писалбы сюда.
В тото и дело что вся форма - это типа литой элемент.
Типа как в Опере поле страниц - там тоже есть разные элементы но при этом это единый компонент. Но в моём случае - вся программа единый компонент, кроме меню.
 
Ответить с цитированием

  #6  
Старый 04.09.2009, 23:37
flacs
Познающий
Регистрация: 28.01.2009
Сообщений: 90
С нами: 9096406

Репутация: 80
По умолчанию

slesh, помню как то столнкнулся с такой же проблемой
Если WindowFromPoint не прокатит, то сделать уже ничего нельзя,
не поможет не перечисление потомков окна, ни даже полный перебор всех окон (0..FFFFFFFF) ... этот элемент управления просто напросто не имеет хендла

Эксперемнтировал в Delphi, создал панельку, а на ней SpeedButton(TSpeedButton) -> TGraficsControl

В инете есть совет что через метод perform этого класса, позволяет отсылать сообщения ему (но это через VCL =().

Последний раз редактировалось flacs; 04.09.2009 в 23:41..
 
Ответить с цитированием

  #7  
Старый 05.09.2009, 09:37
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами: 10097606

Репутация: 3349


По умолчанию

тут всё дело в том что это не VCL а QT
WindowFromPoint выдает один и тотже хендл и класс для любого элемента формы.
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определить структуру класса cop Реверсинг 3 11.07.2009 00:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.