Форум: "Основная";
Текущий архив: 2007.04.15;
Скачать: [xml.tar.bz2];
Внизчто находится под курсором мыши? Найти похожие ветки
← →
sia © (2007-02-21 17:13) [0]курсор мыши находится за пределами окна моей программы.
мне надо определить, находиться ли он над окном проводника? и если да, то какой каталог там открыт?
как можно это сделать?
← →
Игорь Шевченко © (2007-02-21 17:24) [1]
> мне надо определить, находиться ли он над окном проводника?
>
SetCapture, в OnMouseMove смотреть WindowFromPoint, про каталог ничего не могу сказать
← →
sia © (2007-02-21 17:30) [2]я сделал
GetCursorPos(rPos) ;
hWnd := WindowFromPoint(rPos);
тем самым получил хендл окна под мышкой. и все. дальше не знаю, что делать.
← →
Игорь Шевченко © (2007-02-21 17:37) [3]sia © (21.02.07 17:30) [2]
> дальше не знаю, что делать.
GetWindowText например позволит узнать заголовок окна. Если в нем есть имя каталога, то это имя можно оттуда вычислить
← →
sia © (2007-02-21 17:46) [4]возвращает только строку "FolderView"
← →
Игорь Шевченко © (2007-02-21 17:57) [5]sia © (21.02.07 17:46) [4]
Как заготовка:procedure TForm1.Button1Click(Sender: TObject);
begin
SetCapture (Handle);
end;
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var
P: TPoint;
H: HWND;
AText: array[0..255] of char;
begin
P := ClientToScreen (Point(X, Y));
H := WindowFromPoint(P);
if (H <> Handle) and IsWindow(H) then begin
while GetParent(H) <> 0 do
H := GetParent(H);
GetWindowText(H, AText, SizeOf(AText));
Edit1.Text := AText;
ReleaseCapture;
end;
end;
← →
sia © (2007-02-21 18:03) [6]GetParent помог.
спасибо :)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2007.04.15;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.043 c