What the heck.
I'm working on a generic base class called FlagSet, whose derived class will have a bunch of boolean properties such as "Left", and will provide a BitOr value for its state, or an AsString() which will return a comma separated list of all its properties that are True: Left,Bottom,etc.
Global $bs=NewButtonStyle('Left')
$bs.Bottom=True;
Msg($bs.Value); would show BitOr($BS_BOTTOM,$BS_LEFT)
Msg($bs.AsString()); should show "Left,Bottom" but shows "Left,Center,Bottom" because BitAnd($BS_RIGHT,$BS_CENTER)<>0
Ugh.
;Is it me or is this perverse?
Msg($BS_LEFT);256
Msg($BS_RIGHT);512
Msg($BS_CENTER);768
;should it not be...
Msg($BS_LEFT);256
Msg($BS_RIGHT);512
Msg($BS_CENTER);0
Damn you Microsoft!
**shakes fist at a dark sky**