Обычные статики имеют SS_NOTIFY для получения (двойных) кликов. Как я могу обрабатывать одни и те же события для элементов управления Syslink при щелчке «нормального» текста внутри них, а не по ссылке?
см. здесь пример кода:
case WM_NOTIFY: //NMHDR* pHeader = (NMHDR*)lParam; //NMLINK* pNMLink = (NMLINK*)lParam; //LITEM iItem = pNMLink->item; switch(((NMHDR *)lParam)->code) { case NM_CLICK: { if(int(wParam) == IDC_SYSLINK_LOGIN) { //do something return (INT_PTR)TRUE; } } break; }
Я не верю, что есть легкий подход. Вероятно, самым простым является суперкласс syslink и дескриптор WM_LBUTTONDOWN / WM_LBUTTONUP. Вы также можете подкласс , но есть небольшая разница в сложности для менее гибкого решения.
WM_LBUTTONDOWN
WM_LBUTTONUP