Вниз
Скачать: CL | DM;

как найти на форме другого приложения 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.02 c
14-1080803078
Фикус
2004-04-01 11:04
2004.04.25
Новый вирус!


14-1080584908
Piter
2004-03-29 22:28
2004.04.25
Подскажите программу для изготовления Setup ов


3-1080217013
Walter
2004-03-25 15:16
2004.04.25
DBGrid и буфер обмена


1-1081253872
infom
2004-04-06 16:17
2004.04.25
Поиск


1-1081491659
Max_
2004-04-09 10:20
2004.04.25
Функция POS - поиск в обратном направлении




   Наверх