From: Robert M. <rob...@us...> - 2007-04-25 01:18:56
|
Glenn Linderman wrote: > Speaking of history, I see I also have... > > -menu => 1 > > in the list of "standard options for listbox and combobox widgets". > Generally speaking -menu takes a menu handle/object parameter. But I'm > quite sure I used this option to make something work... any chance you'd > know what? I'll experiment with taking it out, but it'll make me > nervous until I retest all my old programs... I've not opened the source this time, but if I remember correctly the CreatWindowEx() API call overloads its HMENU parameter, because only a top level (main) window can have a menu. For a child window the field becomes a 'control id' - when working with windows resources this is the number that the programmer uses to refer to a child window, as window handles are only assigned at run time. In Win32::GUI we refer to everything by window name (-name), which we map internally to window handles, so the control ID (which I believe is what you're setting here) should be unnecessary. I've come across a couple of place where it matters not to have a control ID of zero, but, again, if I remember correctly this was related to custom-draw and owner-draw functionality. If you find anywhere else that it matter, then please let me know. > Thanks. For this and a few other multi-bit fields, I wonder if it is > really best to have > > -variation1 => 1, -variation2 => 1, -variation3 => 1 > > types of options, or if it would be better to have > > -variations => 1 > -variations => 2 > -variations => 3 > > Of course then one would rather have > > -combostyle => simple > -combostyle => dropdown > -combostyle => dropdownlist If I had a clean sheet to start from the last option you give would be my prefered option (although using strings rather than constants). > It would be simpler to document, and "mutual exclusion" would be easier > to explain... From the current starting point, yes. I have a few folder full of experiments that I have been doing, whilst wondering if a Win32::GUI V2, re-starting from scratch is the way to go. That was the approach I took. However, microsoft don't make it easy - it takes a lot of reading between the lines, experimenting and reeading of the header files to work out what's mulually exclusive and what's not! Regards, Rob. |