I upgraded my local wxWidgets version to the latest (see below) and also upgraded to the Windows 11 SDK (26xxx or 28xxx) and my compiler from VS 2022 to VS 2026.
When I click to open the dropdown list of a wxChoice created through XRC and filled with entries through code (using Append(string), it used to be possible to start typing on the keyboard to search for full words (multiple characters) as you type. Now, this is not possible anymore.
Instead, with every character you type a different entry is selected immediately now instead of being able to search for full words.
<object class="wxChoice" name="choice"> <tooltip>Tooltip</tooltip> <selection>0</selection> <content /> </object>
I already confirmed it's not caused by the new compiler or by any changes in my own code by going back. It must be wxWidgets or the Windows SDK. The old release of my program doesn't have the issue (on the same machine).
As this is native Win32 behavior, I checked the web and couldn't find any info on changes in the Windows SDK or Win32 controls related to that. LLM thinks it might be due to wxWidgets capturing some key event that it didn't before.
Any ideas?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!
You are receiving this because you are subscribed to this thread.![]()
Can you reproduce the problem in the widgets sample, which has a page with wxChoice on it? If you can, can you please describe what exactly needs to be done to see it because I'm not completely sure about what the problem is. E.g. if you just press "Insert a few strings" button there, do you expect pressing a and n while the popup is shown to jump to the last string and not the second one?
Also, if you can see the difference between the sample behaviour in the latest version and some previous one (what did you use before?), it should be relatively simple to run git bisect to find when it changed.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!
You are receiving this because you are subscribed to this thread.![]()
Yes, it happens in the "widgets" demo/sample. Insert entries: "abc", "bbb" and "ccc". See video.
When hitting the keys a -> b -> c it will switch from "abc" to "bbb" to "ccc" instead of staying on "abc" always.
https://github.com/user-attachments/assets/9ffa27e5-b3ff-4551-a31d-c7bbdc2da306
The problem right now is that I have no idea what exact version of wxWidgets I used before, as I build from a local clone of master and don't always keep track of when I upgrade from what to what. I will try to find something out, though.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!
You are receiving this because you are subscribed to this thread.![]()
Previously in my program, there would be a caret that appears as you type for searching as seen in this video:
https://github.com/user-attachments/assets/1a60d351-172c-459f-b815-ea0bc4fb332f
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!
You are receiving this because you are subscribed to this thread.![]()
I tried a simple Win32 project with a dropdown and it has the same issue.
Did they really change this with the Windows 11 SDK? I can't find any changelog or documentation for it...
#include <windows.h> #include <commctrl.h> static HWND g_combo = nullptr; LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch (msg) { case WM_CREATE: { g_combo = CreateWindowExW( 0, WC_COMBOBOXW, L"", WS_CHILD | WS_VISIBLE | WS_TABSTOP | CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL, 20, 20, 250, 300, hwnd, (HMENU)100, GetModuleHandle(nullptr), nullptr); const wchar_t* items[] = { L"Apple", L"Apricot", L"Banana", L"Blueberry", L"Cherry", L"Clementine", L"Grape", L"Grapefruit", L"Orange", L"Peach", L"Pear" }; for (auto item : items) { SendMessageW(g_combo, CB_ADDSTRING, 0, (LPARAM)item); } SendMessageW(g_combo, CB_SETCURSEL, 0, 0); SetFocus(g_combo); return 0; } case WM_DESTROY: PostQuitMessage(0); return 0; } return DefWindowProc(hwnd, msg, wParam, lParam); } int WINAPI wWinMain(HINSTANCE hInst, HINSTANCE, PWSTR, int nCmdShow) { WNDCLASSW wc = {}; wc.lpfnWndProc = WndProc; wc.hInstance = hInst; wc.lpszClassName = L"ComboTest"; RegisterClassW(&wc); HWND hwnd = CreateWindowExW( 0, wc.lpszClassName, L"Combo Test", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 400, 200, nullptr, nullptr, hInst, nullptr); ShowWindow(hwnd, nCmdShow); MSG msg; while (GetMessage(&msg, nullptr, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return 0; }
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!
You are receiving this because you are subscribed to this thread.![]()
I found the cause:
Windows only has this "type searching" behavior when the dropdown is flagged with "CBS_SORT". I had removed the "wxCB_SORT" flag from my choice in recent changes, but I don't know why this didn't reproduce when I tried with my old code...
So it seems there is no way for me to do my own custom sorting for the wxChoice entries while still keeping the "CBS_SORT" flag for the integrated char-by-char search behavior.
I'm closing as it's not a wx issue it seems.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!
You are receiving this because you are subscribed to this thread.![]()
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!
You are receiving this because you are subscribed to this thread.![]()
I had no idea CBS_SORT changed this behaviour, thanks for finding this and letting us know.
FWIW it should be possible to implement our own incremental search, but I'm not sure if it's really worth it...
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!
You are receiving this because you are subscribed to this thread.![]()