Skip to content

win32: host Search, TextView and editable Combo - #107

Merged
tannevaled merged 1 commit into
mainfrom
feat/win32-edit-controls
Sep 6, 2026
Merged

win32: host Search, TextView and editable Combo#107
tannevaled merged 1 commit into
mainfrom
feat/win32-edit-controls

Conversation

@tannevaled

Copy link
Copy Markdown
Contributor

Adds the three of the ten new kinds that reuse control classes this backend already creates (EDIT, COMBOBOX), so they are safe without a Windows run: Search→EDIT, TextView→EDIT (multi-line), Combo→editable COMBOBOX (CBS_DROPDOWN). Value via WM_SETTEXT; reported via EN_CHANGE / CBN_EDITCHANGE. Cross-built windows/amd64+arm64.

The other seven (Progress, Spinner, Stepper, Segmented, Link, Date, Color) still fall back to the drawn control on Windows — they need new common-control classes whose messages/WM_NOTIFY can't be validated without a Windows session, left for a Windows pass rather than written blind.

The three of the ten new kinds that reuse control classes this backend already
creates successfully, so they are safe to add even though the fleet has no Windows
to run them on: Search→EDIT (as Entry), TextView→EDIT (ES_MULTILINE|ES_WANTRETURN|
WS_VSCROLL), Combo→editable COMBOBOX (CBS_DROPDOWN, so it has an edit field). Each
takes its value via WM_SETTEXT and reports via WM_COMMAND (EN_CHANGE for the EDITs,
CBN_EDITCHANGE/CBN_SELCHANGE for the combo). Cross-built for windows/amd64+arm64.

The other seven new kinds (Progress, Spinner, Stepper, Segmented, Link, Date,
Color) still fall back to the drawn control on Windows: they need new common-control
classes (msctls_progress32/updown32, SysDateTimePick32, SysLink) whose value
messages and WM_NOTIFY routing cannot be validated without a real Windows session,
so they are left for a Windows test pass rather than written blind.
@tannevaled
tannevaled merged commit f79ce16 into main Sep 6, 2026
28 checks passed
@tannevaled
tannevaled deleted the feat/win32-edit-controls branch September 6, 2026 08:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant