Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.10;
Скачать: CL | DM;

Вниз

Перехват Текста под мышью.   Найти похожие ветки 

 
DDF   (2002-12-25 08:33) [0]

Уважаемые Мастера, подскажите. Мне необходимо чтоб прога перехватывала текст Меню и Контекстного меню другой проги. К примеру моя прога содержит Label и весит себе спокойно, теперь я мышью навожу на какую нибудь строку меню или контекстного меню другой виндовской проги в Label моей проги помещается эта строка.
За ранее благодарю.


 
Song ©   (2002-12-25 10:57) [1]

MenuItemFromPoint()


 
DDF   (2002-12-25 11:40) [2]

Подскажите как MenuItemFromPoint() пользоваться


 
Song ©   (2002-12-25 11:45) [3]

Нажимаешь Ctrl+F1 на названии.


 
DDF   (2002-12-25 11:55) [4]

У меня в Help-е ни чего не нашлось.


 
DDF   (2002-12-25 12:56) [5]

Ни кто не подскажит как это реализовать?


 
Song ©   (2002-12-25 13:06) [6]

Меню хэлп - Win SDK


 
DDF   (2002-12-25 13:31) [7]

ОК, нашел.
Вопросик как определить HWND окна над которым мышь.


 
Song ©   (2002-12-25 13:32) [8]

WindowFromPoint()


 
DDF   (2002-12-25 13:47) [9]

Я новичек в этом деле, не могли бы описать последовательность как моя прога должна вытащить текст.
Я так понимаю надо сначало как то перехватить движение мыши и имея координаты через WindowFromPoint() определить HWND окна. Затем как-то определить на каком объекте в окне установлен курсор и затем, с помощью неизвестных пока мне функции, вытащить из этого объекта текст.
Как должно быть?


 
DDF   (2002-12-25 14:07) [10]

HWND определил, как найти HMENU


 
Lady D ©   (2002-12-25 14:11) [11]

HMENU := GetMenu(HWND)


 
DDF   (2002-12-25 14:18) [12]

MenuItemFromPoint() обработал, теперь как вытащить текст меню?


 
Song ©   (2002-12-25 14:32) [13]

GetMenuString(), ещё наверно способы есть. Ты бы в хэлп-то глянул..


 
DDF   (2002-12-25 14:47) [14]

Я уж глянул, только вылетает у меня GetMenuString() с ошибкой
d:=GetMenuString(M,1,BUF,100,MF_BYPOSITION);
где
M:HMENU;
d:integer;
Buf:Pchar;


 
DDF   (2002-12-25 14:53) [15]

И подскажите как uIDItem вытащить


 
Song ©   (2002-12-25 14:57) [16]

GetMenuItemID - логично, да?
Я тебя сейчас научу. Ищешь помощь по GetMenu(), потом нажимашешь Group и видишь группу инструкций, который предназначены для работы с меню. Вот тама и смотри!


 
DDF   (2002-12-25 16:18) [17]

Подскажите, что не так?
Куда не наважу мышь всегда d=-1

procedure TForm1.Timer1Timer(Sender: TObject);
var
P: TPoint;
H: HWND;
M: HMENU;
d:integer;
begin
GetCursorPos(p); //Координаты мыши
Edit1.Text:=inttostr(p.x);
Edit2.Text:=inttostr(p.y);
H:=WindowFromPoint(p); //HWND окна под мышью
M := GetMenu(H);
d:=GetMenuItemCount(M); //Количество Item в меню
end;


 
Song ©   (2002-12-25 16:25) [18]

Вроде Almaz говорил что контексные через GetMenu() невозможно получить. Сам не пробовал, вот решил через Вас выяснить..



Страницы: 1 вся ветка

Текущий архив: 2003.02.10;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.027 c
3-28642
John
2003-01-23 14:24
2003.02.10
Експорт/Импорт и DBGrid


14-29083
Axis_of_Evil
2003-01-23 12:46
2003.02.10
Закон для Усех Гоблинов


3-28616
cOrps
2003-01-23 11:09
2003.02.10
говорят легко


3-28684
Mahbyf
2003-01-24 15:01
2003.02.10
Удалить повторяющиеся записи


1-28820
asasd
2003-02-02 14:15
2003.02.10
ActiveX