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 

Single Post  Topic: как получить координату x,y строки в файловой панели? 
Author Message
zvyagaaa



PostPosted: 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;
View user's profile Send private message ICQ Number


Powered by phpBB © 2001, 2005 phpBB Group