Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.08.27;
Скачать: [xml.tar.bz2];

Вниз

мессага 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.041 c
9-1116212592
Xeno
2005-05-16 07:03
2006.08.27
Экшн с элементами RTS - ЭДЕМ


2-1154944809
UMU
2006-08-07 14:00
2006.08.27
DBGrid и DBCheckBox


3-1150885250
MsGuns
2006-06-21 14:20
2006.08.27
Максимальная скорость загрузки данных в таблицу


4-1146641959
RDS
2006-05-03 11:39
2006.08.27
Использование FormatMessage


2-1154898634
Alral
2006-08-07 01:10
2006.08.27
Character





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский