wxChoice type to search doesn't work anymore (Win32 behavior) (Issue #26559)

26 views
Skip to first unread message

ousnius

unread,
Jun 5, 2026, 5:08:42 AM (3 days ago) Jun 5
to wx-...@googlegroups.com, Subscribed
ousnius created an issue (wxWidgets/wxWidgets#26559)

Bug description:

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?

Platform and version information

  • wxWidgets version you use: Latest master commit ddd2b3f
  • wxWidgets port you use: wxMSW
  • OS and its version: Windows 11 Pro 25H2 26200.8457


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.Message ID: <wxWidgets/wxWidgets/issues/26559@github.com>

VZ

unread,
Jun 5, 2026, 9:36:40 AM (3 days ago) Jun 5
to wx-...@googlegroups.com, Subscribed
vadz left a comment (wxWidgets/wxWidgets#26559)

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.Message ID: <wxWidgets/wxWidgets/issues/26559/4632062015@github.com>

ousnius

unread,
Jun 7, 2026, 4:10:54 AM (yesterday) Jun 7
to wx-...@googlegroups.com, Subscribed
ousnius left a comment (wxWidgets/wxWidgets#26559)

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.Message ID: <wxWidgets/wxWidgets/issues/26559/4641909246@github.com>

ousnius

unread,
Jun 7, 2026, 4:13:02 AM (yesterday) Jun 7
to wx-...@googlegroups.com, Subscribed
ousnius left a comment (wxWidgets/wxWidgets#26559)

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.Message ID: <wxWidgets/wxWidgets/issues/26559/4641913715@github.com>

ousnius

unread,
Jun 7, 2026, 6:55:33 AM (22 hours ago) Jun 7
to wx-...@googlegroups.com, Subscribed
ousnius left a comment (wxWidgets/wxWidgets#26559)

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.Message ID: <wxWidgets/wxWidgets/issues/26559/4642278308@github.com>

ousnius

unread,
Jun 7, 2026, 7:41:22 AM (22 hours ago) Jun 7
to wx-...@googlegroups.com, Subscribed
ousnius left a comment (wxWidgets/wxWidgets#26559)

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.Message ID: <wxWidgets/wxWidgets/issues/26559/4642394456@github.com>

ousnius

unread,
Jun 7, 2026, 7:41:22 AM (22 hours ago) Jun 7
to wx-...@googlegroups.com, Subscribed

Closed #26559 as completed.


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.Message ID: <wxWidgets/wxWidgets/issue/26559/issue_event/26439027532@github.com>

VZ

unread,
Jun 7, 2026, 7:43:59 AM (21 hours ago) Jun 7
to wx-...@googlegroups.com, Subscribed
vadz left a comment (wxWidgets/wxWidgets#26559)

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.Message ID: <wxWidgets/wxWidgets/issues/26559/4642403673@github.com>

Reply all
Reply to author
Forward
0 new messages