Дайте пример как правильно сделать всплывающие подсказки для ListCtrl'а, расположенного на диалоге. Пробовал сделать так: В OnInitDialog создаю
| Код | m_tooltip.Create(this); m_tooltip.SetDelayTime(500); m_tooltip.Activate(TRUE);
|
далее, в PreTranslateMessage
| Код | m_tooltip.RelayEvent(pMsg);
|
далее в OnNotify
| Код | NMHDR *lpNMHDR = (NMHDR*) lParam;
// устанавливаю текст подсказки if(lpNMHDR->code == LVN_GETINFOTIP) { // для примера CString szToolTipText = "String 1\nString 2\nString 3\nString 4";
// получаем указатель на структуру для подсказок NMLVGETINFOTIP* infotip = (NMLVGETINFOTIP*) lpNMHDR;
infotip->dwFlags = 0; infotip->cchTextMax = szToolTipText.GetLength(); infotip->pszText = (LPTSTR) (LPCTSTR)
szToolTipText.GetBuffer(szToolTipText.GetLength()); }
|
В результате получаются кракозяблики. Подозреваю что причина может быть связана с UNICODE, но не знаю как правильно сделать. Помогите. |