View previous topic :: View next topic |
Author |
Message |
zvyagaaa
Joined: 31 Aug 2009 Posts: 46
|
(Separately) Posted: Sun Sep 13, 2009 14:16 Post subject: как получить координату x,y строки в файловой панели? |
|
|
Вот собственно и вопрос, как можно получить x,y произвольной (например, найденной сторонней утилитой) строки, или выделенной строки в файловой панели тотала? Я так понял, что тотал использует для файловых панелей списки типа TMyListBox, которые являются потомками от листбоксов стандартных.
Спасибо заранее за ответ. |
|
Back to top |
|
|
Вахмурка
Joined: 27 Dec 2004 Posts: 2584 Location: Большая деревня Москва
|
(Separately) Posted: Sun Sep 13, 2009 20:08 Post subject: |
|
|
Как ты представляешь себе координаты СТРОКИ? Строка - это как минимум прямоугольник. Имеется в виду координата, скажем, левого верхнего (как обычно) угла?
Если так, то единственное, что работает с координатами точки (из мне известного) - функция handlefrompoint плагина win для PowerPoint. Надо писать свой утиль. Quote: | Я так понял, что тотал использует для файловых панелей списки типа TMyListBox, которые являются потомками от листбоксов стандартных. | Да, кроме публичных бет 1 и 2 версии 7.50: там TMyListBox.UnicodeClass _________________ Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон) |
|
Back to top |
|
|
CaptainFlint
Joined: 14 Dec 2004 Posts: 6151 Location: Москва
|
(Separately) Posted: Sun Sep 13, 2009 21:24 Post subject: |
|
|
Вахмурка wrote: | плагина win для PowerPoint |
Плагина для кого? _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
|
Вахмурка
Joined: 27 Dec 2004 Posts: 2584 Location: Большая деревня Москва
|
(Separately) Posted: Sun Sep 13, 2009 21:46 Post subject: |
|
|
Спасибо, CaptainFlint. PowerPro, конечно же. Заработался...
2zvyagaaa
Я, кажется, только сейчас смог перевести на русский слово "координата". Ты имеешь в виду "строка; столбец", а не "х; у" - это разные вещи! То есть ты ищешь положение СТРОКИ как если бы экран был в текстовом режиме, так? Тут уже можно подумать над классами, списками, отправкой сообщений и пр. Так что уточни задачу и посмотрим. _________________ Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон) |
|
Back to top |
|
|
zvyagaaa
Joined: 31 Aug 2009 Posts: 46
|
(Separately) Posted: Mon Sep 14, 2009 16:14 Post subject: |
|
|
Вахмурка
нет, я имею в виду то, что я имею в виду.
Я правда, уже разобрался что к чему. И в-общем-то уже даже это реализовал, что хотел.
|
|
Back to top |
|
|
Вахмурка
Joined: 27 Dec 2004 Posts: 2584 Location: Большая деревня Москва
|
|
Back to top |
|
|
zvyagaaa
Joined: 31 Aug 2009 Posts: 46
|
(Separately) Posted: Thu Sep 17, 2009 06:36 Post subject: |
|
|
если кому интересно - могу поделиться информацией. |
|
Back to top |
|
|
Вахмурка
Joined: 27 Dec 2004 Posts: 2584 Location: Большая деревня Москва
|
|
Back to top |
|
|
zvyagaaa
Joined: 31 Aug 2009 Posts: 46
|
(Separately) Posted: Thu Sep 17, 2009 17:43 Post subject: |
|
|
var dwTargetOwner: DWORD; // указатель на подключаемый процесс
dwThreadID: DWORD;
ListBoxHnd: hwnd;
t, l: Integer;
Resulted: Boolean; // метка присоединения чужого процесса
itemindex: Integer; // указатель на текущий процесс
itemrect: TRect; // рамка вокруг позиции
ListBoxRect: TRect; // рамка вокруг окна
begin
dwTargetOwner:= GetWindowThreadProcessId(GetForegroundWindow, nil);
dwThreadID:= GetCurrentThreadId(); // указатель на текущий процесс
if (dwTargetOwner <> dwThreadID) then // если не один и тот же процесс
Resulted:= AttachThreadInput(dwThreadID, dwTargetOwner, TRUE);
// подключение
ListBoxHnd:= GetFocus;
itemindex:= SendMessage(ListBoxHnd, lb_GetCurSel, wParam(0), lParam(0));
itemrect:= Rect(0, 0, 0, 0);
SendMessage(ListBoxHnd, LB_GETITEMRECT, wParam(itemindex), lParam
(Integer(@itemrect)));
GetWindowRect(ListBoxHnd, ListBoxRect);
t:= itemrect.Bottom + ListBoxRect.Top;
l:= itemrect.Left + 20 + ListBoxRect.Left; |
|
Back to top |
|
|
Вахмурка
Joined: 27 Dec 2004 Posts: 2584 Location: Большая деревня Москва
|
|
Back to top |
|
|
|