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

Вниз

как найти на форме другого приложения Toolbar или toolbutton   Найти похожие ветки 

 
graY ©   (2004-02-02 18:25) [0]

ghb gjvjob FindWindowEx(Form1.Handle,0,"TToolBar","ToolBar") не ищется как и FindWindoц("TToolBar","ToolBar")


 
Rouse_ ©   (2004-02-02 18:42) [1]

> FindWindowEx(Form1.Handle,0,"TToolBar","ToolBar")
Так ты ищешь на своей форме, замени Form1.Handle на нужный...


 
graY ©   (2004-02-03 07:34) [2]

в том то и фишка что не ищет скоко не пытался


 
Rouse_ ©   (2004-02-03 08:58) [3]

В качестве примера:
Создал тестовое приложение, Caption у формы сделал ToolBar_Test_Form

После этого создаю другое приложение, в нем пишу следующий код:
procedure TForm1.Button1Click(Sender: TObject);
var
 H: HWND;
begin
 H := FindWindow(nil, "ToolBar_Test_Form");
 if H <> 0 then
   Caption := IntToStr(FindWindowEx(H, 0, "TToolBar", nil));
end;


В результате в заголовке увидим Хэндл тулбара из перого приложения.

Желаю успехов.

ЗЫ: Внимательно прочитай хэлп по этим функциям, там все предельно ясно описано...


 
Marlyn   (2004-02-04 14:15) [4]

тебе же gray русским язаком обьяснил что тип ТTOOLBAR не ищется ясен пень что форму хоть Button назови от этого она TButton не станет.


 
GrayFace ©   (2004-02-04 14:34) [5]

Станет. И большинство компонент станет. graY, попробуй nil вместо "ToolBar", как посоветовал Rouse_.


 
Rouse_ ©   (2004-02-05 11:41) [6]

> [4] Marlyn   (04.02.04 14:15)
Ты хоть сам понял что сказал?
Для начала посмотри хелп и глянь какие параметры нужно менять для поиска по названию класса, а какие для поиск по названию окна...

После этого сделай как я написал и проверь...

HWND FindWindow(

   LPCTSTR lpClassName, // pointer to class name
   LPCTSTR lpWindowName  // pointer to window name
  );

HWND FindWindowEx(

   HWND hwndParent, // handle to parent window
   HWND hwndChildAfter, // handle to a child window
   LPCTSTR lpszClass, // pointer to class name
   LPCTSTR lpszWindow // pointer to window name
  );

Так вот TButton - это название класса, а Button1 - это название окна...
Прочуствуй разницу, и не делай как не нужно...


 
Rouse_ ©   (2004-02-05 11:45) [7]

procedure TForm1.Button1Click(Sender: TObject);
var
H: HWND;
begin
H := FindWindow(nil, "ToolBar_Test_Form"); // Ищем окно с именем "ToolBar_Test_Form"
if H <> 0 then
  Caption := IntToStr(FindWindowEx(H, 0, "TToolBar", nil)); // Ищем окно с именем класса TToolBar
end;


Также последнюю строку можно изменить на:
Caption := IntToStr(FindWindowEx(H, 0, nil, "ToolBar1"));
Для поиска по названию окна


 
ppcat   (2004-02-05 12:20) [8]

graY, Качни маленький проект-заготовку, разберешься.
http://www.ppcat.hotbox.ru/myprgs/AlienWindows.zip


 
graY ©   (2004-02-06 06:12) [9]

Удалено модератором
Примечание: Веди себя вежливо


 
r9000   (2004-02-06 13:24) [10]

Да чего-то непонятно? Функция FindWindowEx(H,0,"TToolBar","ToolBar") для ToolBar не работает, а для Button хорошо отрабатывает.Функция FindWindowEx(H, 0, "TToolBar", nil)) конечно работет, но что делать если несколько ToolBar-ов, как с ними работать(даже функция FindWindowEx(H, 0, nil, "ToolBar1") не работает )? Что делать? Пример >ppcat тоже на это не отвечает?


 
pegu   (2004-02-06 15:25) [11]

EnumChildWindows тебе поможет


 
лелика   (2004-02-19 15:18) [12]

а не проще ли если это твоя форма
with Form1 do begin
 for I := 0 to ComponentCount -1 do begin
   if Components[I] is TToolBar then
     TToolBar(Components[I]).xz


 
akvilon ©   (2004-02-20 23:22) [13]

Когда толбаров много можно отбирать по количеству кнопочек на них

типа так:
i := SendMessage(hTToolBar, TB_BUTTONCOUNT, ...)



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

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

Наверх




Память: 0.47 MB
Время: 0.033 c
6-1077115256
Svart
2004-02-18 17:40
2004.04.25
работа с SNMP


14-1080907723
VID
2004-04-02 16:08
2004.04.25
Откуда некорректное завершение работы ?


1-1081512358
Аноним
2004-04-09 16:05
2004.04.25
Удаление головы (очередь)


1-1081630305
Klopan
2004-04-11 00:51
2004.04.25
команда net send user message


1-1081315977
[BAD]Angel
2004-04-07 09:32
2004.04.25
Справка





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