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

Вниз

Как найти HWND у TSpeedButton в чужом приложении?   Найти похожие ветки 

 
comwad ©   (2004-01-30 14:01) [0]

Добрых суток, ALL !
Используется код для просмотра имен и классов компонентов в
ЧУЖОМ приложении.

var
wnd, TheChildHandle: HWND;
ButtonCaption: Array[0..NameLength] of Char;
ButtonCaptionN: Array[0..NameLength] of Char;

  wnd := FindWindow(nil, PAnsiChar(NameApp));
  if wnd <> 0 then
  begin
  GetClassName(wnd, ButtonCaption, NameLength);
  GetWindowText(wnd, ButtonCaptionN, NameLength);
  Memo1.Lines.Add(String(ButtonCaption)+"  "+IntToStr(TheChildHandle)+" Name:"+String(ButtonCaptionN));
  End;

Находятся без проблем компоненты классов, находящиеся в иерархии ... TComponent-TControl-tWinControl
:TButton,TBitBtn и т.д.

Проблема заключается в том  - как найти  HWND у TSpeedButton, который имеет иерархию
TComponent-TControl-tGraphicControl и TMainMenu ?

Кстати как видно - с первой часть проблемы разобрался  - всем спасибо!
http://delphimaster.net/view/4-1074063655/


 
MBo ©   (2004-01-30 14:12) [1]

HWND у TSpeedButton найти трудно... Практически невозможно...

Ведь ты иерархию привел - а разобрался, что она значит?

Да и с TMainMenu не выйдет


 
Ihor Osov'yak ©   (2004-01-30 14:22) [2]

да и теоритически также...


 
MBo ©   (2004-01-30 14:26) [3]

да, GetMenu может пригодиться.


 
comwad ©   (2004-01-30 14:41) [4]

Хотел бы задать свой вопрос немного по-другому.
Имеются ToolBar c TSpeedButton.
ToolBar имеет дискриптор,а SpeedButton нет.
Можно ли как-то произвести "нажатие" на один из SpeedButton , расположенный на
ToolBar через HWND этого ToolBar?

Типа, что работает с имеющими Handle TWinControl-ами:
SendMessage(TheChildHandle,WM_LButtonDown,1,1);
SendMessage(TheChildHandle,WM_LButtonUP,1,1);


Или это в принципе невозможно?


 
MBo ©   (2004-01-30 14:48) [5]

см. Toolbar Messages


 
BiN ©   (2004-01-30 14:51) [6]

WM_KEYDOWN на тулбаре


 
BiN ©   (2004-01-30 15:08) [7]

...вдогонку к [6]
Прошу прощения за непроверненную инфомацию :(

скорее здесь подойдет TB_SETSTATE и TBSTATE_PRESSED, но и то - для tool-, а не для speedbutton


 
comwad ©   (2004-01-30 15:49) [8]

Непонятно,если несколько SpeedButton на ToolBar,
каким методом вычислить нужный SpeedButton ?


 
comwad ©   (2004-02-04 13:29) [9]

Все работает .
Всем спасибо.

SendMessage(bar, WM_LBUTTONDOWN, MK_LBUTTON, MAKELONG(5,5));
SendMessage(bar, WM_LBUTTONUP, MK_LBUTTON, MAKELONG(5,5));



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

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

Наверх




Память: 0.46 MB
Время: 0.045 c
3-1079266057
Floppy
2004-03-14 15:07
2004.04.11
Открыть запароленную базу (*.mdb)


3-1079539726
Rule
2004-03-17 19:08
2004.04.11
Где скачать обновление IBX 7 чтобы был компонент IBScript?


1-1079783223
Beglec
2004-03-20 14:47
2004.04.11
Как узнать координаты объекта осносительно экрана


7-1075719213
Creator
2004-02-02 13:53
2004.04.11
как работать с COM портами ???


1-1082654769
TriX
2004-04-22 21:26
2004.04.11
Эмуляция нажатия клавиши ?





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