The Windows events LVN_BEGINLABLEEDIT and LVN_ENDLABELEDIT give the programmer a lot of flexibility to control the label editing. However, with the old string orientated native APIs there was no way to take advantage of the flexibility.
The begin edit event allows the programmer to veto the editing before it even starts. In addition it allows the programmer to get the edit control that will be used for the editing and customize it like any normal edit control. Both of these features should be added.
The end edit event allows the programmer to veto the change to the label, even if the user does not cancel the editing. The current implementation changes the label without regard as to whether the change is reasonable. Vetoing the change should be allowed here.