On 24/04/07, Glenn Linderman <[EMAIL PROTECTED]> wrote:
$mw->AddCheckbox(
-name => "cb",
-text => 'click me',
-pos => [10, 20],
-tabstop => 1,
-onClick => sub { return 0; },
);
Why does the above program allow the checkbox to be checked and
unchecked? Why doesn't the -onClick handler, which returns 0, prevent
the box from being checked?
Because the _Click() events are generated by the Button control AFTER
it sees a mouse down and up combination. At this point the control
has seen a "click" and sends a BTN_CLICK (IIRC) notification to it's
parent - it's already done all the other processing. You could
achieve what you are trying here by catching the _MouseDown event, and
preventing that being delivered to the Button control. You could also
achieve what (I think) you are looking for by creating the control
with the BS_CHECKBOX style, rather than the default BS_AUTOCHECKBOX.
Then the control does not re-drw itself, and you have to tell it how
it should look.
Regards,
Rob.