Главная страница
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.028 c
15-1154493115
Ega23
2006-08-02 08:31
2006.08.27
С Днём рождения! 2 августа


1-1153126986
SQL-PROGRAMMER
2006-07-17 13:03
2006.08.27
Почему сами перекомпилируются другие пакеты?


15-1154323092
Ega23
2006-07-31 09:18
2006.08.27
С Днём рождения! 31 июля


4-1146770949
Dinamyc
2006-05-04 23:29
2006.08.27
Чтение из консоли в окно


1-1152681599
Сергей_С
2006-07-12 09:19
2006.08.27
Обмен данными между процессами