Форум: "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