Форум: "WinAPI";
Текущий архив: 2004.08.22;
Скачать: [xml.tar.bz2];
ВнизTreeView в чужом приложении Найти похожие ветки
← →
DelphiNew (2004-07-08 13:31) [0]Уважаемые мастера помогите с таким вопросом: в дочернем окне чужого приложения есть компонент TreeView мне нужно зная название элемента в этом компоненте выделить его. Как можно это сделать, какая информация мне для этого понадобится, есть ли компонеты для работы с чужими приложениями из своего.
P.S Приложение написано на Delphi
← →
YuRock © (2004-07-08 20:05) [1]Для этого есть много функций
Чтобы выделить: SetFocus;
Чтобы найти: FindWindowEx, GetWindow, EnumChildWindows...
← →
DelphiNew (2004-07-09 08:39) [2]Ладно как найти окно понятно, а как найти этот компонент и выделить в нём определённый элемент, ведь SetFocus передаёт просто фокус компоненту
← →
bar (2004-07-09 11:09) [3]По имени окна и его классу (класс TTreeView в делфи). Правда имена часто пустыми бывают толко классы. Узнать конкретные имена можно например с помощью Spy++ (Highlight). Зная имя ищешь с помощью
EnumChildWindows,FindWindowEx
Компонентов для работы с чужими приложениями встречал но не то что дебе нуно. "Работа" - слово большое убить чужое приложение тоже "работа".
Для выделения определенного элемента требуется Handle окна TreeView и идентификатор элемента .
Зная это можно использовать функции
TreeView_... из модуля CommCtrl
Смотри как это сделано в ComCtrls.
Например выделение элемента зная его ItemId
var
Item: TTVItem;
begin
with Item do
begin
mask := TVIF_STATE;
hItem := ItemId;
stateMask := TVIS_EXPANDED;
end;
TreeView_SetItem(Handle, Item);
end;
Как узнать ItemId? Это ВОПРОС.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2004.08.22;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.04 c