ОС: Win7
Список
не обновляет свой регион после
SendMessage (hwndListData, LB_ADDSTRING, 0, (LPARAM) szListMainBuffer);
Если курсор мыши наведен на пустую строку, которая должна содержать текст из szListMainBuffer, и щелкнуть мышью, появится текст. Я пытался использовать функции UpdateWindow (), InvalidateRect (), нацеленные на hwndListData и родительское окно, без эффекта.
Кто-нибудь знает, как решить проблему обновления списка после вставки строки?
hwndListData = CreateWindow(TEXT("listbox"), L"Data List",
WS_CHILDWINDOW | WS_VISIBLE | LBS_NOTIFY | WS_VSCROLL | WS_HSCROLL | WS_BORDER,
cxChar * 50, cyChar,
cxChar * 38 + GetSystemMetrics(SM_CXVSCROLL), cyChar * 26 + GetSystemMetrics(SM_CYHSCROLL),
hwnd, (HMENU) ID_LISTDATA,
(HINSTANCE) GetWindowLong(hwnd, GWL_HINSTANCE),
NULL);
Дополнение:
Global scope: WNDPROC oldListDataProcedure;
During WM_CREATE: oldListDataProcedure = (WNDPROC) SetWindowLong (hwndListData, GWL_WNDPROC, (LPARAM) ListDataProc);
LRESULT CALLBACK ListDataProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) {
return CallWindowProc(oldListDataProcedure, hwnd, message, wParam, lParam);
}