Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.07.2007, 10:35   #1
Fireleo
Пользователь
 
Аватар для Fireleo
 
Регистрация: 23.07.2007
Сообщений: 14
По умолчанию послать сообщение кнопке

люди подскажите как послать сообщение (например showwindows) отдельной кнопке на окне, по коду этой кнопки.в общем нужно узнать её hWnd.
а ведь нужно только хорошенько подумать...
Fireleo вне форума Ответить с цитированием
Старый 29.07.2007, 17:07   #2
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

отдельной кнопке сообщение послать невозможно, возможно послать сообщение её родительскому окну. если тебя интерисует как срыть кнопку и надо узать её хендл зная хендл родительского окна, тогда тебе в помощь функции FindWindiwEx и EnumChildWindows
rpy3uH вне форума Ответить с цитированием
Старый 31.07.2007, 12:40   #3
Fireleo
Пользователь
 
Аватар для Fireleo
 
Регистрация: 23.07.2007
Сообщений: 14
По умолчанию

вот-вот имено EnumChildWindows, но я не могу с ней разобраться:в хелпе такое описание: Описание: function EnumChildWindows(WndParent: HWnd; EnumFunc: TFarProc; lparam: Longint): Bool; Пеpечисляет дочеpние окна указанного pодителя, пеpедавая дочеpний описатель и lParam функции обpатного вызова. Пеpечисление заканчивается, если функция обpатного вызова возвpащает нуль или если пеpечисляется последний дочеpний элемент. Паpаметpы: WndParent: Родительское окно пеpечисляемых дочеpних окон. EnumFunc: Адpес экземпляpа пpоцедуpы функции обpатного вызова. lParam: Значение, пеpеданное функции обpатного вызова. Возвpащаемое значение: Не нуль, если пеpечислены все дочеpние окна; 0 - в пpотивном случае.я так понимаю хендл кнопки передается через EnumFunc, но какого формата должна быть эта функция, как она получает хендл?
а ведь нужно только хорошенько подумать...

Последний раз редактировалось Fireleo; 31.07.2007 в 12:45.
Fireleo вне форума Ответить с цитированием
Старый 31.07.2007, 14:59   #4
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Да вроде обсуждалось уже
http://programmersforum.ru/showthread.php?t=5139
пыщь
JTG вне форума Ответить с цитированием
Старый 31.07.2007, 20:13   #5
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

Цитата:
Сообщение от Fireleo Посмотреть сообщение
но какого формата должна быть эта функция, как она получает хендл?
Код:
function EnumChildWindowsProc(WND:HWND;param:integer):BOOL;stdcall; 
begin
  Result:=true;
 .......
  if <если нужное окно найдено> then
   Result:=false; 
end;
rpy3uH вне форума Ответить с цитированием
Старый 02.08.2007, 22:04   #6
Rouse_
Пользователь
 
Аватар для Rouse_
 
Регистрация: 31.05.2007
Сообщений: 56
По умолчанию

Цитата:
Сообщение от rpy3uH Посмотреть сообщение
отдельной кнопке сообщение послать невозможно, возможно послать сообщение её родительскому окну.
Опять-же боюсь спросить: на основании чего сделано столь нелепое предположение?
Vae Victis
(Горе побежденным (лат.))
Демки с открытым кодом:
http://rouse.drkb.ru
Rouse_ вне форума Ответить с цитированием
Старый 04.08.2007, 20:01   #7
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

значит возможно, но в большинстве случаев нельзя, потому что врядли у какой-либо кнопки будет иметься своя оконная функция
rpy3uH вне форума Ответить с цитированием
Старый 06.08.2007, 11:14   #8
Rouse_
Пользователь
 
Аватар для Rouse_
 
Регистрация: 31.05.2007
Сообщений: 56
По умолчанию

Оконная функция существует у любого окна, и сообщения транслиются в нее посредством DefWindowProc...
Собственно простейший GetWindowLong + HWND_GWLPROC покажет это достаточно наглядно...
Vae Victis
(Горе побежденным (лат.))
Демки с открытым кодом:
http://rouse.drkb.ru
Rouse_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как послать в окно сообщение о нажатии буквенных клавишь? Yuran Win Api 3 23.06.2008 12:10
Рисунок на кнопке JIimonKa Общие вопросы Delphi 3 27.05.2008 07:41
Привязка макроса к кнопке VisuaL Microsoft Office Excel 7 10.05.2008 07:04
Как послать команду AngelOfDeath Работа с сетью в Delphi 2 10.04.2008 08:23
Как обрабатывать нажатие на кнопке? AidarBik Win Api 13 05.02.2008 19:58