No, I think IsWindowUnicode is just fine the way it is. The problem IMO is that dialog windows are always created first as Unicode, even for CreateDialogA. This will need some restructuring of the dialog code.
Do you mean they are created as Unicode first in Windows, or in Wine?
If you mean in Windows, then how do you go about changing the set of a dialog once it's been created? I'm a bit confused as to exactly what we're meant to do with the wndproc for a dialog anyway - set it equal to the dlgproc? I'm not even sure why Windows has two separate fields for this :(
Are there any docs on exactly how Windows manages the character sets of dialogs? If it's on MSDN then I've not encountered it in my travels. Once I understand exactly what has to be done, I'm happy to file a bug and work on it myself, solving this will resolve a lot of irritating buglets, mostly involving preferences dialogs in apps like winamp, IE6, trillian etc.
thanks -mike