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

Вниз

мессага dblclik для listview   Найти похожие ветки 

 
malyar   (2006-08-07 14:12) [0]

всем привет
народ подскажите как компоненту listview, находящемуся в чужом приложении, кинуть мессагу двойного клика по определенному итемсу ?
указатель на listview известен а вот что дальше не могу сообразить .

P.S. за пример особая благодарность )))


 
clickmaker ©   (2006-08-07 14:36) [1]

mouse_event()
PostMessage(hwnd, WM_LBUTTONDBLCLK, MK_LBUTTON,
 x or (y shl 16));
учти, что x, y должны быть относительно окна-адресата


 
malyar   (2006-08-07 14:49) [2]

если я не ошибаюсь то это кликанье по координате окна для чего надо знать
ширину итемса в пикселях .
да и если итемса не видно на екране, за пределами окна (скролл), то ничего не получится .  или я не прав ?


 
clickmaker ©   (2006-08-07 15:00) [3]


> malyar   (07.08.06 14:49) [2]

А зачем это надо вообще?


 
malyar   (2006-08-07 15:27) [4]

попытка добавить в одну из не мной написаных прог новую возможность


 
clickmaker ©   (2006-08-07 15:45) [5]


> malyar   (07.08.06 15:27) [4]

хм...
ну придется тогда как-то определять и ширину и есть ли он на экране. Потом прокручивать окно. WM_VSCROLL или WM_HSCROLL (опять же, если этот листвью в нескольких режимах просмотра может быть, их надо учитывать)
Может для твоей задачи есть способ проще? Но не зная задачи, сказать нельзя


 
malyar   (2006-08-07 15:55) [6]

а что нет ни какой мессаги с помощью которой мона передать dblclik используя в качестве параметра  номер итемса ?


 
clickmaker ©   (2006-08-07 15:58) [7]


> malyar   (07.08.06 15:55) [6]

листвью этот в чужом адресном пространстве. Поэтому сообщения типа LVM_XXX для него не проканают, поскольку там передается адрес структуры LV_ITEM как правило.
Поэтому если уж так надо сымитировать даблклик, то только косвенно, притворяясь мышью или клавой


 
malyar   (2006-08-07 16:06) [8]

загнать структуру вчужое А П для меня не проблема да ето проще и надежнее чем координаты вычеслять


 
clickmaker ©   (2006-08-07 16:30) [9]


> malyar   (07.08.06 16:06) [8]
> загнать структуру вчужое А П для меня не проблема

да? ну а в чем тогда проблема?


 
malyar   (2006-08-07 16:38) [10]

какое имя у константы отвечающее за двойной клик для listview по определенному итему  ?


 
clickmaker ©   (2006-08-07 16:43) [11]


> malyar   (07.08.06 16:38) [10]

а что, есть такая константа? не слышал...
чтобы выделить итем штатным образом - SendMessage LVM_SETITEM с указанием LVIF_STATE и LVIS_SELECTED в соотв. полях LV_ITEM


 
malyar   (2006-08-07 17:01) [12]

ok....
итем выделен и что дальше ......


 
clickmaker ©   (2006-08-07 17:10) [13]

ну идея-то понятна?
LVM_ENSUREVISIBLE - сделать итем видимым
LVM_GETITEMRECT - можно получить координаты пункта
дальше уже можно мышкой в теперь известное место щелкнуть


 
malyar   (2006-08-07 17:49) [14]

а в каком модуле объявлены упомянутые константы ?


 
clickmaker ©   (2006-08-07 17:59) [15]


> malyar   (07.08.06 17:49) [14]

блин, быстрей бы поиском по Delphi\Source нашел, чем на форуме ждать...
CommCtrl.pas



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

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

Наверх




Память: 0.49 MB
Время: 0.036 c
3-1150711334
Id
2006-06-19 14:02
2006.08.27
Безопасность в FB


15-1154078672
Ketmar
2006-07-28 13:24
2006.08.27
я туп в интерфейсах %-(


11-1131961137
homm
2005-11-14 12:38
2006.08.27
OwnerDrawVariable и MeasureItem в ListBox


15-1154506020
KygECHuK
2006-08-02 12:07
2006.08.27
Что за ошибка ?


15-1154345465
QuickFinder
2006-07-31 15:31
2006.08.27
КПК и питание от сети