Event Handlers for AspectKeyPressed


Functions

void SmartWin::AspectKeyPressed::onKeyPressed (typename MessageMapType::itsBoolFunctionTakingInt eventHandler)
 Setting the event handler for the "key pressed" event.

Detailed Description

General info on event handlers and events.
An event handler is a typesafe callback function defined by your application which will be "raised" or called whenever the specified event occurs.
E.g. if you define a WidgetWindow::onClosing event handler for a WidgetWindow widget your function will be called when your widget is being closed.
All event handlers are completely typesafe which means if you don't supply the right signature or try to set an event handler to a member of another class you will get a compile bug.
Also all events can be set to either a global/static member function or a member function of your derived WidgetWindow class, if you're setting an event handler to a global or static function you will recieve a pointer to the calling widget in the event handler (it will be expected to be part of the function signature) if you're setting an event handler to a member function of your class, this is not necessary off course since you will then be able to access the widget anyway. Also all Event Handlers handled by the "parent" Widget or another Widget then the Widget raising the event will demand passing the Widget pointer as the first parameter to the event handler function. Meaning a member version of an event for a WidgetButton taking an integer returning a bool will look like this; bool foo( WidgetButton * btn, int value ); and must be a member of the parent class. A global/static event handler for the same event if the class name is Bar will look like this; bool foo( Bar * bar, WidgetButton * btn, int value );

Function Documentation

void onKeyPressed ( typename MessageMapType::itsBoolFunctionTakingInt  eventHandler  )  [inherited]

Setting the event handler for the "key pressed" event.

If supplied event handler is called when control has the focus and a key is being pressed (before it is released)
parameter passed is int which is the virtual-key code of the nonsystem key being pressed. Return value must be of type bool, if event handler returns true event is defined as "handled" meaning the system will not try itself to handle the event.

Certain widgets, such as WidgetTextBox, will not report VK_RETURN unless you include ES_WANTRETURN in the style field of of the creational structure passed when you createTextBox( cs ).

Use virtualKeyToChar to transform virtual key code to a char, though this will obviously not work for e.g. arrow keys etc...

Back to SmartWin website
SourceForge.net Logo