Hi,
we use a UltraComboEditor in a ControlContainerTool to add it at the 8.3.20083.2021 version Ultratoolbarmanager.NavigationBar. Now, it's text get rendered correctly on Vista with glass enabled if the box is not in edit mode, but as soon a user click the box to enter text, it gets rendered ugly (black forecolor is the transparency).
Is there any known workaround here? I examinded a little bit with reflector and saw it uses the common controls textbox when it is in edit mode, right? So how we get it fixed?
Unfortunately, I believe that this is a known issue with the .NET TextBox when rendered on a glass area; since the UltraComboEditor uses an EditorWithText (which itself uses a .NET TextBox in edit mode), it is subject to this limitation. I'm not sure that there's a workaround short of rendering the text yourself. I do not think that EditorWithMask-based controls have this issue, so it may be possible to use an UltraMaskedEditor (or UltraFormattedTextEditor, which also does not use an EditorWithText) and add a DropDownButton to the ButtonsRight collection of the control, then show your own dropdown that way.
-Matt
Thanks Matt! But is it also possible to go the other way around: assign the editor used by that EditorWithMask/UltraFormattedTextEditor control(s) to the UltraComboEditor to be used as the "edit" editor? There is a "Editor" property - readonly :( available that might be set somehow (I don't know) and then get used as the "edit" editor? This way I would be able to use the hover/special rendering offered by the UltraComboEditor for it's dropdown box/button (Outlook 2007, etc.), but use the other editor just for editing purposes.
Would this be possible? If, so: how?
Unfortunately, there is no way that I'm aware of to replace the editor that the control uses, since all of this functionality is internal and dependant on specifically using the EditorWithText. You might be able to hack this and position a different control above the area that the combo lies and sync the values together, but naturally you'd lose some functionality (i.e. auto-complete, etc).