Author:admin

Date:2008-09-17T13:53:28.000000Z


git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@3 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
jfiat
2008-09-17 13:53:28 +00:00
parent 4fee9356ea
commit 2ee31ab9c7
763 changed files with 36576 additions and 0 deletions

View File

@@ -0,0 +1,24 @@
[[Property:title|Common message hooks]]
[[Property:weight|4]]
Each WEL library component implements a set of routines for processing the most common messages that a component receives. For example, looking at [[ref:libraries/wel/reference/wel_frame_window_chart|WEL_FRAME_WINDOW]] , you will see that there are many features which begin `on_'. Each of these features enable the user to know when a specific event has occurred, and to perform the appropriate processing as a result of this event. Most of the time, you will only be interested in a small subset of these, necessary to your program. For example, below is the code for on_paint:
<code>
on_paint (paint_dc: WEL_PAINT_DC; invalid_rect: WEL_RECT) is
--Draw a centered text
do
end
</code>
An on_paint message corresponds to the Wm_paint message generated by Windows whenever it needs to re-paint a window, and if you look at the feature, you can see that the arguments are a [[ref:libraries/wel/reference/wel_paint_dc_chart|WEL_PAINT_DC]] and a[[ref:libraries/wel/reference/wel_rect_chart| WEL_RECT]] . which are relevant to this message. By redefining this feature (and others as required), your code will be able to respond appropriately to windows events.
{{note| '''Note'''. See [[Tutorial Step 2|step2]] in the [[Tutorial|tutorial]] for a simple demonstration involving the re-definition of <eiffel>on_left_button_down</eiffel>. }}
For different messages received by a control, the arguments will differ (sometimes there are none), but those arguments will always be relevant to the message. For example, on_menu_command from [[ref:libraries/wel/reference/wel_composite_window_chart|WEL_COMPOSITE_WINDOW]] has an <eiffel>INTEGER</eiffel> as an argument, the value of which is a unique menu identifier. <br/>
{{note| '''Note'''. Not all windows events have a corresponding `on_' message hook defined in WEL. If you wish to process a Windows message that does not correspond to one of the available features, you will need to redefine process_message. <br/>
}}

View File

@@ -0,0 +1,11 @@
[[Property:title|WEL Common Concepts]]
[[Property:weight|0]]
Some useful WEL concepts are listed below:
* [[Inheriting WEL_APPLICATION|Inheriting WEL_APPLICATION]]
* [[Redefining main_window|Redefining main_window]]
* [[Redefining `init_application'|Redefining init_application]]
* [[Common message hooks|Common message hooks]]

View File

@@ -0,0 +1,9 @@
[[Property:title|Inheriting WEL_APPLICATION]]
[[Property:weight|1]]
For most WEL applications that you write, you will need to inherit [[ref:libraries/wel/reference/wel_application_chart|WEL_APPLICATION]] .
{{note| '''Note'''. See [[Tutorial Step 1|step1]] in the [[Tutorial|tutorial]] for a simple demonstration of how to do this }}

View File

@@ -0,0 +1,7 @@
[[Property:title|Redefining `init_application']]
[[Property:weight|2]]
[[ref:libraries/wel/reference/wel_application_chart|WEL_APPLICATION]] contains a feature <eiffel>init_application</eiffel> which does nothing by default, but is called before the application is started. This can be redefined to execute tasks that must be performed before the application is running. A common redefinition is to allow the loading of common dll's, see [[List View|list_view]] sample for a demonstration of this technique.

View File

@@ -0,0 +1,9 @@
[[Property:title|Redefining main_window]]
[[Property:weight|1]]
When you inherit [[ref:/libraries/wel/reference/wel_application_chart|WEL_APPLICATION]] , you will need to implement the deferred feature main_window as a once function. This will be the main window of your application, and can be any descendent of [[ref:libraries/wel/reference/wel_composite_window_chart|WEL_COMPOSITE_WINDOW]] .
{{note| '''Note'''. See [[Tutorial Step 2|step2]] in the [[Tutorial|tutorial]] for a simple demonstration of how to do this. }}