Главная страница
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.48 MB
Время: 0.03 c
1-1080058195
r00t
2004-03-23 19:09
2004.04.11
Правый клик мыши.


6-1079823666
Автор
2004-03-21 02:01
2004.04.11
Как программе использовать для вычислений несколько компов в сети


9-1064918006
ZLODey
2003-09-30 14:33
2004.04.11
Как установить DelphiX?


1-1082476978
jiuraf
2004-04-20 20:02
2004.04.11
Как скопироватьсодержимое RichEdit1 В RichEdit2?


7-1079564645
Анонимщик
2004-03-18 02:04
2004.04.11
hasp-ключи