Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Вниз

Как найти 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 вся ветка

Форум: "WinAPI";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.04 c
3-1078830044
Stas
2004-03-09 14:00
2004.04.11
Delphi8 и ADO


1-1082383062
killer
2004-04-19 17:57
2004.04.11
передача переменной TStringList из DLL


1-1080308930
Dysan
2004-03-26 16:48
2004.04.11
avi из ресурса


1-1082553418
t_vic
2004-04-21 17:16
2004.04.11
Кнопочка в ячейке StringGrida


14-1079430833
miwa
2004-03-16 12:53
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский