У меня есть приложение, которое компилируется нормально (mingw) и работает нормально, однако созданный элемент редактирования имеет полосы прокрутки, но вертикальная полоса прокрутки ничего не делает. Этот же исполняемый файл отлично работает на WinXP. Кроме того, в элементе управления редактирования есть как вертикальные, так и горизонтальные полосы прокрутки, горизонтальная работает нормально, а вертикальная - нет. Вертикальная полоса прокрутки видна и активна, но ничего не происходит ...
При создании элемента редактирования используется следующий код:
HWND hwndEdit = CreateWindow(TEXT("EDIT"), TEXT("Edit control"),
WS_OVERLAPPED | WS_VISIBLE | WS_HSCROLL | WS_VSCROLL | ES_LEFT | ES_MULTILINE |
ES_AUTOHSCROLL | ES_AUTOVSCROLL | ES_READONLY | WS_SIZEBOX,
1000, 480, 400, 500, NULL, 0, GetModuleHandle(NULL), NULL);
SendMessage(hwndEdit, WM_SETTEXT, 0, (LPARAM) TEXT(""));
SendMessage(hwndEdit, EM_LIMITTEXT, 0, 0);
Следующий код многократно используется для добавления текста в поле редактирования:
char test[] = "test";
SendMessage(hWndDbg, EM_SETSEL, 0x7FFFFFFF, 0x7FFFFFFF); // Undo any selection and move to end.
SendMessage(hWndDbg, EM_REPLACESEL, 0, (LPARAM) temp);