[[Property:title|Commands]]
[[Property:weight|-12]]
[[Property:uuid|e1942cb8-02df-352e-061c-2c87c280ead8]]
[[Image:commands|commands]]  <br/>
<br/>

==Compiling==

To compile the example: 
* Launch EiffelStudio. 
* Click '''Add project'''
* Browse to ''$ISE_EIFFEL\examples\wel\commands\''. 
* Choose ''commands.ecf''
* Choose the location where the project will be compiled, by default the same directory containing the configuration file. 
* Click '''OK'''. 

==Running==
After launching the program, you will see a window displayed with a similar appearance to the one illustrated above. Please follow the instructions displayed in the window. 
==Under the Hood==
<code>MAIN_DIALOG</code> inherits [[ref:libraries/wel/reference/wel_main_dialog_chart|WEL_MAIN_DIALOG]]  which provides the feature put_command, used to associate a [[ref:libraries/wel/reference/wel_command_chart|WEL_COMMAND]]  to a Windows message received by the window. A [[ref:libraries/wel/reference/wel_command_chart|WEL_COMMAND]]  contains a deferred feature, execute which is executed when the command is fired. <code>SHOW_COMMAND_INFORMATION</code>, <code>SHOW_MOUSE_BUTTON_INFORMATION</code> and <code>SHOW_MOVE_INFORMATION</code> all inherit [[ref:libraries/wel/reference/wel_command_chart|WEL_COMMAND]] . 
{{note|execute has an argument of type <code>ANY</code> which is used to pass any additional information required. }}

This sample contains the following classes: 
* <code>APPLICATION_IDS</code>
* <code>COMMANDS_DEMO</code>
* <code>MAIN_DIALOG</code>
* <code>SHOW_COMMAND_INFORMATION</code>
* <code>SHOW_MOUSE_BUTTON_INFORMATION</code>
* <code>SHOW_MOVE_INFORMATION</code>





