Главная страница
    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
14-1080720175
newone
2004-03-31 12:02
2004.04.25
Help!


1-1081157259
NorthMan
2004-04-05 13:27
2004.04.25
что-то не получается сделалать enabled:=false для пункта


3-1080214290
viktor
2004-03-25 14:31
2004.04.25
SQL


3-1080226630
Balkon
2004-03-25 17:57
2004.04.25
Фильтрация по вхождению заданных символов в любое место строки.


1-1081600413
Cigt12
2004-04-10 16:33
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский