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

Вниз

Handleи кнопка ToolButton   Найти похожие ветки 

 
Ламонов Олег   (2007-04-29 10:52) [0]

Уважаемые мастера.
Скажите, можно ли,имея, handle окна нажать на
кпопку ToolButton?
Использую процедуру, но она работает только на обчных кнопках.
Спасибо.

function EnumChildProc(Wnd: hWnd; SL: TStrings): BOOL; stdcall;
var
 szFull: array[0..MAX_PATH] of Char; //Buffer for window caption
begin
 Result := Wnd <> 0;
 if Result then
 begin
   GetWindowText(Wnd, szFull, SizeOf(szFull)); // put window text in buffer
   if (Pos(SL[0], StrPas(szFull)) > 0) // Test for text
     and (SL.IndexOfObject(TObject(Wnd)) < 0) // Test for duplicate handles
     then SL.AddObject(StrPas(szFull), TObject(Wnd)); // Add item to list
   EnumChildWindows(Wnd, @EnumChildProc, Longint(SL)); //Recurse into child windows
 end;
end;

function ClickButton(ParentWindow: Hwnd; ButtonCaption: string): Boolean;
var
 SL: TStringList;
 H:  hWnd;
begin
 SL := TStringList.Create;
 try

   SL.AddObject(ButtonCaption, nil); // First item in list is text to find
   EnumChildWindows(ParentWindow, @EnumChildProc, Longint(SL));
   H := 0;
   case SL.Count of
     1: ShowMessage("Окно не найдено !");
     2: H := hWnd(SL.Objects[1]);
     else
       ShowMessage("Текст определен !");
   end;
 finally
   SL.Free;
 end;
 Result := H <> 0;
 if Result then
 PostMessage(H, BM_CLICK, 0, 0);
end;


 
begin...end ©   (2007-04-29 11:07) [1]

У ToolButton"ов нет handle. Нажать такую кнопку можно, послав ToolBar"у, на котором она находится, сообщение TB_PRESSBUTTON.



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

Форум: "Основная";
Текущий архив: 2007.07.01;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.004 c
2-1181052191
rumpelshtilchen
2007-06-05 18:03
2007.07.01
Вопрос


2-1181210608
leonidus
2007-06-07 14:03
2007.07.01
Проблема с обращением к dll


2-1181043793
timonissimo
2007-06-05 15:43
2007.07.01
не удается найти строку для обновления


1-1178106337
DelphiLexx
2007-05-02 15:45
2007.07.01
Передать процедуру класса в Обычную функцию


3-1173871750
Xmen
2007-03-14 14:29
2007.07.01
Blob поля в MySQLe





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