Timeline



Mar 20, 2026: Yesterday

5:20 PM Ticket #4080 (Tree View Extended Styles) updated by MattyD
Ah ok thanks, I've somehow missed that. But yeah, dunno what the best approach is. I see _GUICtrlTreewView_GetChecked() currently returns: […] Which probably isn't ideal as the check indexes aren't a bit field. Just as a point of interest, TVIS_CHECKED and TVIS_UNCHECKED aren't actually windows constants either, so I guess they were made up to avoid magic numbers. I'd almost be inclined to do something this, and say in the doco that $TVS_CHECKBOXES is required here. You cant use TV_EX* checks with the TVS_CHECKBOXES style, so this would just support the check/uncheck toggle. […] This kinda makes sense as the inverse to SetChecked too?

Mar 19, 2026:

2:03 PM Ticket #4080 (Tree View Extended Styles) updated by Jpm
Thanks Infact your new _GUICtrlTreewView_GetCheck is infact _GUICtrlTreeView_GetStateImageIndex I am wondering what _GUICtrlTreewView_GetChecked must return on $TVS_EX_* In fact Dimmed and Exclusion return False
12:51 PM Ticket #4080 (Tree View Extended Styles) updated by pixelsearch
In case it helps, I found a web page concerning the TVS_EX_RICHTOOLTIP style. Also it's interesting to see how they use wParam & lParam in TVM_SETEXTENDEDSTYLE https://codexpertro.wordpress.com/2014/10/05/tree-view-control-tvs_ex_richtooltip-style/
5:48 AM Ticket #4080 (Tree View Extended Styles) updated by MattyD
Nah they're separate things... […]
1:04 AM Ticket #4080 (Tree View Extended Styles) updated by Jpm
if $i<15 is legal for me 0x7FFD need to be 0xFFFD Right ?

Mar 18, 2026:

10:43 PM Ticket #4080 (Tree View Extended Styles) updated by anonymous
The wparam of TVM_SETEXTENDEDSTYLE is Mask used to select the styles to be set. I've used 0x7FFD to validate the user input. All defined flags are 0x7FFF, but $TVS_EX_MULTISELECT is essentially illegal. If we explicitly ignore that bit, the mask comes to 0x7FFD. Alternately we could use 0xFFFFFFFF to accept anything for $iExStyle. Or apparently 0 - but that's undocumented! For the $i<15 part - its possible setup a custom imagelist in place of the checkbox images. I believe you can technically have more states this way. Only 4 bits are used to set the check state with TV_SETITEM though, so anything over 0x0F is illegal and will spill over the TVIS_STATEIMAGEMASK mask after the bitshift.
12:17 PM Ticket #4080 (Tree View Extended Styles) updated by Jpm
Any reason you check 0x7FFD and if $i<15 I understand 1000 to 5000 are related to icons what about 6000 to 7000 or F000?
8:49 AM Ticket #4080 (Tree View Extended Styles) updated by Jpm
Many thanks I will commit with all examples
7:22 AM Ticket #4080 (Tree View Extended Styles) updated by MattyD
Fair call, clearly I've raised the ticket before properly doing my homework. I've started a working/discussion thread here, and when we have something more substantial I'll ping this ticket.
Note: See TracTimeline for information about the timeline view.