Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

как получить координату x,y строки в файловой панели?

 
Post new topic   Reply to topic    Total Commander Forum Index -> Написание плагинов для Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
zvyagaaa



Joined: 31 Aug 2009
Posts: 46

Post (Separately) Posted: Sun Sep 13, 2009 14:16    Post subject: как получить координату x,y строки в файловой панели? Reply with quote

Вот собственно и вопрос, как можно получить x,y произвольной (например, найденной сторонней утилитой) строки, или выделенной строки в файловой панели тотала? Я так понял, что тотал использует для файловых панелей списки типа TMyListBox, которые являются потомками от листбоксов стандартных.
Спасибо заранее за ответ.
Back to top
View user's profile Send private message
Вахмурка



Joined: 27 Dec 2004
Posts: 2584
Location: Большая деревня Москва

Post (Separately) Posted: Sun Sep 13, 2009 20:08    Post subject: Reply with quote

Как ты представляешь себе координаты СТРОКИ? Строка - это как минимум прямоугольник. Имеется в виду координата, скажем, левого верхнего (как обычно) угла?
Если так, то единственное, что работает с координатами точки (из мне известного) - функция handlefrompoint плагина win для PowerPoint. Надо писать свой утиль.
Quote:
Я так понял, что тотал использует для файловых панелей списки типа TMyListBox, которые являются потомками от листбоксов стандартных.
Да, кроме публичных бет 1 и 2 версии 7.50: там TMyListBox.UnicodeClass
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6151
Location: Москва

Post (Separately) Posted: Sun Sep 13, 2009 21:24    Post subject: Reply with quote

Вахмурка wrote:
плагина win для PowerPoint

Плагина для кого? Laughing
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
Вахмурка



Joined: 27 Dec 2004
Posts: 2584
Location: Большая деревня Москва

Post (Separately) Posted: Sun Sep 13, 2009 21:46    Post subject: Reply with quote

Спасибо, CaptainFlint. PowerPro, конечно же. Заработался...

2zvyagaaa
Я, кажется, только сейчас смог перевести на русский слово "координата". Ты имеешь в виду "строка; столбец", а не "х; у" - это разные вещи! То есть ты ищешь положение СТРОКИ как если бы экран был в текстовом режиме, так? Тут уже можно подумать над классами, списками, отправкой сообщений и пр. Так что уточни задачу и посмотрим.
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
zvyagaaa



Joined: 31 Aug 2009
Posts: 46

Post (Separately) Posted: Mon Sep 14, 2009 16:14    Post subject: Reply with quote

Вахмурка
нет, я имею в виду то, что я имею в виду.
Я правда, уже разобрался что к чему. И в-общем-то уже даже это реализовал, что хотел.
Back to top
View user's profile Send private message
Вахмурка



Joined: 27 Dec 2004
Posts: 2584
Location: Большая деревня Москва

Post (Separately) Posted: Tue Sep 15, 2009 14:30    Post subject: Reply with quote

Жескто отшил и заинтриговал в одном флаконе
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
zvyagaaa



Joined: 31 Aug 2009
Posts: 46

Post (Separately) Posted: Thu Sep 17, 2009 06:36    Post subject: Reply with quote

если кому интересно - могу поделиться информацией.
Back to top
View user's profile Send private message
Вахмурка



Joined: 27 Dec 2004
Posts: 2584
Location: Большая деревня Москва

Post (Separately) Posted: Thu Sep 17, 2009 08:23    Post subject: Reply with quote

Если не затруднит
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
zvyagaaa



Joined: 31 Aug 2009
Posts: 46

Post (Separately) Posted: Thu Sep 17, 2009 17:43    Post subject: Reply with quote

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
View user's profile Send private message
Вахмурка



Joined: 27 Dec 2004
Posts: 2584
Location: Большая деревня Москва

Post (Separately) Posted: Fri Sep 18, 2009 12:08    Post subject: Reply with quote

Спасибо
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Написание плагинов для Total Commander All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group