source: trunk/EventBenchConsole/rules/rules.xml @ 59

Last change on this file since 59 was 59, checked in by jhall, 13 years ago

1) Fixed a bug with "TabChange?" (but still not working properly!)
2) Added rule "LeftClickRelativ?"

File size: 20.4 KB
Line 
1<?xml version="1.0" encoding="utf-8"?>
2<!DOCTYPE rules SYSTEM "ruleDoctype.dtd">
3<rules xmlns="ul:rules" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="ul:rules ruleSchema.xsd">
4
5
6
7  <!-- rules regarding mouse clicks -->
8<rule name="LeftClickButton">
9 <msg type="&WM_LBUTTONDOWN;">
10  <store var="clicked"/>
11 </msg>
12 <msg type="&WM_LBUTTONUP;">
13  <equals>
14   <constValue value="Button"/>
15   <winInfoValue obj="this" winParam="class"/>
16  </equals>
17  <equals>
18   <paramValue obj="clicked" param="window.hwnd"/>
19   <paramValue obj="this" param="window.hwnd"/>
20  </equals>
21 </msg>
22 <genMsg delay="100">
23  <type>
24   <constValue value="&BM_CLICK;"/>
25  </type>
26  <target>
27   <msgInfoValue obj="clicked" msgParam="target"/>
28  </target>
29 </genMsg>
30</rule>
31
32  <rule name="LeftClickListBox">
33    <msg type="&WM_LBUTTONDOWN;">
34      <equals>
35        <winInfoValue obj="this" winParam="class"/>
36        <constValue value="ListBox"/>
37      </equals>
38      <store var="clicked"/>
39    </msg>
40    <msg type="&WM_LBUTTONUP;">
41      <equals>
42        <paramValue obj="this" param="window.hwnd"/>
43        <paramValue obj="clicked" param="window.hwnd"/>
44      </equals>
45      <store var="up"/>
46    </msg>
47    <genMsg delay="1000">
48      <type>
49        <constValue value="&LB_SETCURSEL;"/>
50      </type>
51      <target>
52        <msgInfoValue obj="clicked" msgParam="target"/>
53      </target>
54      <WPARAM>
55        <paramValue obj="up" param="scrollPos"/>
56      </WPARAM>
57    </genMsg>
58  </rule>
59
60 
61  <!--TabChange funktioniert, allerdings wird der Content darunter nicht aktualisiert -->
62  <rule name="TabChange">
63    <msg type="&WM_LBUTTONDOWN;">
64      <equals>
65        <constValue value="SysTabControl32"/>
66        <winInfoValue obj="this" winParam="class"/>
67      </equals>
68      <store var="clicked"/>
69    </msg>
70    <msg type="&WM_LBUTTONUP;">
71      <equals>
72        <paramValue obj="this" param="window.hwnd"/>
73        <paramValue obj="clicked" param="window.hwnd"/>
74      </equals>
75      <store var="up"/>
76    </msg>
77    <genMsg delay="20">
78      <type>
79        <constValue value="&TCM_SETCURSEL;"/>
80      </type>
81      <target>
82        <msgInfoValue obj="up" msgParam="target"/>
83      </target>
84      <WPARAM>
85        <paramValue obj="up" param="scrollPos"/>
86      </WPARAM>
87    </genMsg>
88  </rule>
89
90
91  <rule name="ComboBox">
92    <msg type="&WM_LBUTTONDOWN;">
93      <equals>
94        <winInfoValue obj="this" winParam="class"/>
95        <constValue value="ComboBox"/>
96      </equals>
97      <store var="clicked"/>
98    </msg>
99    <msg type="&WM_COMMAND;">
100      <equals>
101        <paramValue obj="this" param="window.hwnd"/>
102        <paramValue obj="clicked" param="window.hwnd"/>
103      </equals>
104      <store var="cmd1">
105        <resolveHwnd param="source" storeParam="sourceDesc"/>
106      </store>
107    </msg>
108    <msg type="&WM_COMMAND;" multiple="true">
109      <equals>
110        <paramValue obj="this" param="source"/>
111        <paramValue obj="clicked" param="window.hwnd"/>
112      </equals>
113      <storeSeq varSeq="cmds">
114        <resolveHwnd param="window.hwnd" storeParam="msgTarget"/>
115        <resolveHwnd param="source" storeParam="sourceDesc"/>
116      </storeSeq>
117    </msg>
118    <msg type="&WM_LBUTTONUP;">
119      <equals>
120        <paramValue obj="this" param="window.hwnd"/>
121        <paramValue obj="clicked" param="window.hwnd"/>
122      </equals>
123    </msg>
124    <genMsg delay="100">
125      <type>
126        <constValue value="&WM_SETFOCUS;"/>
127      </type>
128      <target>
129        <msgInfoValue obj="clicked" msgParam="target"/>
130      </target>
131    </genMsg>
132    <genMsg delay="100">
133      <type>
134        <constValue value="&CB_SHOWDROPDOWN;"/>
135      </type>
136      <target>
137        <msgInfoValue obj="clicked" msgParam="target"/>
138      </target>
139      <WPARAM>
140        <constValue value="1"/>
141      </WPARAM>
142    </genMsg>
143    <!--
144    <genMsg delay="100">
145      <type>
146        <constValue value="273"/>
147      </type>
148      <target>
149        <msgInfoValue obj="cmd1" msgParam="target"/>
150      </target>
151      <LPARAM>
152        <paramValue obj="cmd1" param="sourceDesc"/>
153      </LPARAM>
154      <WPARAM>
155        <paramValue obj="cmd1" param="WPARAM"/>
156      </WPARAM>
157    </genMsg>
158    <genMsgSeq delay="50">
159      <type>
160        <constValue value="273"/>
161      </type>
162      <target>
163        <seqValue seqObj="cmds" param="msgTarget"/>
164      </target>
165      <LPARAM>
166        <seqValue seqObj="cmds" param ="sourceDesc"/>
167      </LPARAM>
168      <WPARAM>
169        <seqValue seqObj="cmds" param="WPARAM"/>
170      </WPARAM>
171    </genMsgSeq>-->
172  </rule>
173 
174  <rule name="LeftClickCommand">
175    <msg type="&WM_LBUTTONDOWN;">
176      <store var="clicked"/>
177    </msg>
178    <msg type="&WM_LBUTTONUP;">
179      <equals>
180        <paramValue obj="clicked" param="window.hwnd"/>
181        <paramValue obj="this" param="window.hwnd"/>
182      </equals>
183    </msg>
184    <msg type="&WM_COMMAND;">
185      <equals>
186        <paramValue obj="clicked" param="window.hwnd"/>
187        <paramValue obj="this" param="source"/>
188      </equals>
189      <store var="cmd">
190        <resolveHwnd param="source" storeParam="sourceDesc"/>
191      </store>
192    </msg>
193    <genMsg delay="100">
194      <type>
195        <msgInfoValue obj="cmd" msgParam="type"/>
196      </type>
197      <target>
198        <msgInfoValue obj="cmd" msgParam="target"/>
199      </target>
200      <LPARAM>
201        <paramValue obj="cmd" param="sourceDesc"/>
202      </LPARAM>
203      <WPARAM>
204        <paramValue obj="cmd" param="WPARAM"/>
205      </WPARAM>
206    </genMsg>
207  </rule>
208
209  <rule name="LeftClickSysCommand">
210    <msg type="&WM_LBUTTONDOWN;">
211      <store var="clicked"/>
212    </msg>
213    <msg type="&WM_LBUTTONUP;">
214      <equals>
215        <paramValue obj="clicked" param="window.hwnd"/>
216        <paramValue obj="this" param="window.hwnd"/>
217      </equals>
218    </msg>
219    <msg type="&WM_SYSCOMMAND;">
220      <store var="cmd"/>
221    </msg>
222    <genMsg delay="100">
223      <storedVar obj="cmd"/>
224    </genMsg>
225  </rule>
226
227  <rule name="NCLeftClickSysCommand">
228    <msg type="&WM_NCLBUTTONDOWN;">
229      <store var="clicked"/>
230    </msg>
231    <msg type="&WM_LBUTTONUP;">
232      <equals>
233        <paramValue obj="clicked" param="window.hwnd"/>
234        <paramValue obj="this" param="window.hwnd"/>
235      </equals>
236    </msg>
237    <msg type="&WM_SYSCOMMAND;">
238      <equals>
239        <paramValue obj="clicked" param="window.hwnd"/>
240        <paramValue obj="this" param="window.hwnd"/>
241      </equals>
242      <store var="cmd"/>
243    </msg>
244    <genMsg delay="100">
245      <storedVar obj="cmd"/>
246    </genMsg>
247  </rule>
248
249  <rule name="LeftClickMenuItemCmd">
250    <msg type="&WM_LBUTTONDOWN;">
251      <store var="clicked"/>
252    </msg>
253    <msg type="&WM_LBUTTONUP;">
254      <equals>
255        <paramValue obj="clicked" param="window.hwnd"/>
256        <paramValue obj="this" param="window.hwnd"/>
257      </equals>
258    </msg>
259    <msg type="&WM_MENUSELECT;">
260      <equals>
261        <paramValue obj="clicked" param="window.hwnd"/>
262        <paramValue obj="this" param="window.hwnd"/>
263      </equals>
264    </msg>
265    <msg type="&WM_COMMAND;">
266      <equals>
267        <paramValue obj="this" param="sourceType"/>
268        <constValue value="0"/>
269      </equals>
270      <store var="cmd"/>
271    </msg>
272    <genMsg delay="100">
273      <storedVar obj="cmd"/>
274    </genMsg>
275  </rule>
276
277 
278  <!-- rules involving mouse movement -->
279  <rule name="HScroll_TrackBar">
280    <msg type="&WM_LBUTTONDOWN;">
281      <equals>
282        <winInfoValue obj="this" winParam="class"/>
283        <constValue value="msctls_trackbar32"/>
284      </equals>
285      <store var="clicked"/>
286    </msg>
287    <msg type="&WM_HSCROLL;" multiple="true">
288      <equals>
289        <paramValue obj="this" param="scrollBarHandle"/>
290        <paramValue obj="clicked" param="window.hwnd"/>
291      </equals>
292      <storeSeq varSeq="scrolls">
293        <resolveHwnd param="scrollBarHandle" storeParam="scrollBarTarget"/>
294      </storeSeq>
295    </msg>   
296    <msg type="&WM_LBUTTONUP;">
297      <equals>
298        <paramValue obj="this" param="window.hwnd"/>
299        <paramValue obj="clicked" param="window.hwnd"/>
300      </equals>
301    </msg>
302    <genMsgSeq delay="20">
303      <type>
304        <constValue value="&TBM_SETPOS;"/>
305      </type>
306      <target>
307        <seqValue seqObj="scrolls" param="scrollBarTarget"/>
308      </target>
309      <LPARAM>
310        <seqValue seqObj="scrolls" param="scrollPos"/>
311      </LPARAM>
312      <WPARAM>
313        <constValue value="1"/>
314      </WPARAM>
315    </genMsgSeq>
316  </rule>
317
318
319  <rule name="VScroll_TrackBar">
320    <msg type="&WM_LBUTTONDOWN;">
321      <equals>
322        <winInfoValue obj="this" winParam="class"/>
323        <constValue value="msctls_trackbar32"/>
324      </equals>
325      <store var="clicked"/>
326    </msg>
327    <msg type="&WM_VSCROLL;" multiple="true">
328      <equals>
329        <paramValue obj="this" param="scrollBarHandle"/>
330        <paramValue obj="clicked" param="window.hwnd"/>
331      </equals>
332      <storeSeq varSeq="scrolls">
333        <resolveHwnd param="scrollBarHandle" storeParam="scrollBarTarget"/>
334      </storeSeq>
335    </msg>
336    <msg type="&WM_LBUTTONUP;">
337      <equals>
338        <paramValue obj="this" param="window.hwnd"/>
339        <paramValue obj="clicked" param="window.hwnd"/>
340      </equals>
341    </msg>
342    <genMsgSeq delay="20">
343      <type>
344        <constValue value="&TBM_SETPOS;"/>
345      </type>
346      <target>
347        <seqValue seqObj="scrolls" param="scrollBarTarget"/>
348      </target>
349      <LPARAM>
350        <seqValue seqObj="scrolls" param="scrollPos"/>
351      </LPARAM>
352      <WPARAM>
353        <constValue value="1"/>
354      </WPARAM>
355    </genMsgSeq>
356  </rule>
357
358
359  <rule name="HScroll_ScrollBar">
360    <msg type="&WM_LBUTTONDOWN;">
361      <equals>
362        <winInfoValue obj="this" winParam="class"/>
363        <constValue value="ScrollBar"/>
364      </equals>
365      <store var="clicked"/>
366    </msg>
367    <msg type="&WM_HSCROLL;" multiple="true">
368      <equals>
369        <paramValue obj="this" param="scrollBarHandle"/>
370        <paramValue obj="clicked" param="window.hwnd"/>
371      </equals>
372      <storeSeq varSeq="scrolls">
373        <resolveHwnd param="scrollBarHandle" storeParam="scrollBarTarget"/>
374      </storeSeq>
375    </msg>
376    <msg type="&WM_LBUTTONUP;">
377      <equals>
378        <paramValue obj="this" param="window.hwnd"/>
379        <paramValue obj="clicked" param="window.hwnd"/>
380      </equals>
381    </msg>
382    <genMsgSeq delay="20">
383      <type>
384        <constValue value="&SBM_SETPOS;"/>
385      </type>
386      <target>
387        <seqValue seqObj="scrolls" param="scrollBarTarget"/>
388      </target>
389      <LPARAM>
390        <constValue value="1"/>
391      </LPARAM>
392      <WPARAM>
393        <seqValue seqObj="scrolls" param="scrollPos"/>
394      </WPARAM>
395    </genMsgSeq>
396  </rule>
397
398
399  <rule name="VScroll_ScrollBar">
400    <msg type="&WM_LBUTTONDOWN;">
401      <equals>
402        <winInfoValue obj="this" winParam="class"/>
403        <constValue value="ScrollBar"/>
404      </equals>
405      <store var="clicked"/>
406    </msg>
407    <msg type="&WM_VSCROLL;" multiple="true">
408      <equals>
409        <paramValue obj="this" param="scrollBarHandle"/>
410        <paramValue obj="clicked" param="window.hwnd"/>
411      </equals>
412      <storeSeq varSeq="scrolls">
413        <resolveHwnd param="scrollBarHandle" storeParam="scrollBarTarget"/>
414      </storeSeq>
415    </msg>
416    <msg type="&WM_LBUTTONUP;">
417      <equals>
418        <paramValue obj="this" param="window.hwnd"/>
419        <paramValue obj="clicked" param="window.hwnd"/>
420      </equals>
421    </msg>
422    <genMsgSeq delay="20">
423      <type>
424        <constValue value="&SBM_SETPOS;"/>
425      </type>
426      <target>
427        <seqValue seqObj="scrolls" param="scrollBarTarget"/>
428      </target>
429      <LPARAM>
430        <constValue value="1"/>
431      </LPARAM>
432      <WPARAM>
433        <seqValue seqObj="scrolls" param="scrollPos"/>
434      </WPARAM>
435    </genMsgSeq>
436  </rule>
437 
438
439 
440  <!-- Wenn eine Scrollbar benutzt wurde, die kein eigenes Handle hat, also eine StandardScrollbar in einer ListBox zb
441       Muss noch auf Sequenz erweitert werden, im Moment wird der Thumb der Scrollbar nur auf die erste Position gesetzt (normalerweise also 0) -->
442  <rule name="VScrollNC">
443    <msg type="&WM_NCLBUTTONDOWN;">
444      <store var="clicked"/>
445    </msg>
446    <msg type="&WM_VSCROLL;">
447      <equals>
448        <paramValue obj="this" param="window.hwnd"/>
449        <paramValue obj="clicked" param="window.hwnd"/>
450      </equals>
451      <store var="scrolls"/>
452    </msg>
453    <genMsg delay="20">
454      <type>
455        <constValue value="&WM_VSCROLL;"/>
456      </type>
457      <target>
458        <msgInfoValue obj="clicked" msgParam="target"/>
459      </target>
460      <WPARAM>
461        <LOWORD>
462          <constValue value="4"/>
463        </LOWORD>
464        <HIWORD>
465          <paramValue obj="scrolls" param="scrollPos"/>
466        </HIWORD>
467      </WPARAM>
468    </genMsg>
469  </rule>
470
471
472  <!--<rule name="VScrollNC">
473    <msg type="&WM_NCLBUTTONDOWN;">
474      <store var="clicked"/>
475    </msg>
476    <msg type="&WM_VSCROLL;" multiple="true">
477      <equals>
478        <paramValue obj="this" param="window.hwnd"/>
479        <paramValue obj="clicked" param="window.hwnd"/>
480      </equals>
481      <storeSeq varSeq="scrolls">
482        <resolveHwnd param="window.hwnd" storeParam="scrollBarTarget"/>
483      </storeSeq>
484    </msg>
485    <genMsgSeq delay="20">
486      <type>
487        <constValue value="&WM_VSCROLL;"/>
488      </type>
489      <target>
490        <seqValue seqObj="scrolls" param="scrollBarTarget"/>
491      </target>
492      <WPARAM>
493        <LOWORD>
494          <constValue value="4"/>
495        </LOWORD>
496        <HIWORD>
497          <paramValue obj="scrolls" param="scrollPos"/>
498        </HIWORD>
499      </WPARAM>
500    </genMsgSeq>
501  </rule>-->
502
503  <!-- copy of set focus without kill-foxus -->
504  <rule name="LeftClickSetFocus">
505    <msg type="&WM_LBUTTONDOWN;">
506      <equals>
507        <winInfoValue obj="this" winParam="class"/>
508        <constValue value="Edit"/>
509      </equals>
510      <store var="clicked"/>
511    </msg>
512    <msg type="&WM_SETFOCUS;">
513      <store var="setfocus"/>
514    </msg>
515    <msg type="&WM_COMMAND;">
516      <equals>
517        <paramValue obj="this" param="source"/>
518        <paramValue obj="clicked" param="window.hwnd"/>
519      </equals>
520      <equals>
521        <paramValue obj="this" param="sourceType"/>
522        <constValue value="256"/>
523      </equals>
524      <store var="cmd"/>
525    </msg>
526    <msg type="&WM_LBUTTONUP;">
527      <equals>
528        <paramValue obj="this" param="window.hwnd"/>
529        <paramValue obj="clicked" param="window.hwnd"/>
530      </equals>
531    </msg>
532    <genMsg delay="20">
533      <type>
534        <constValue value="&WM_SETFOCUS;"/>
535      </type>
536      <target>
537        <msgInfoValue obj="setfocus" msgParam="target"/>
538      </target>
539      <WPARAM>
540        <constValue value="0"/>
541      </WPARAM>
542    </genMsg>
543    <genMsg delay="100">
544      <type>
545        <constValue value="&WM_COMMAND;"/>
546      </type>
547      <target>
548        <msgInfoValue obj="cmd" msgParam="target"/>
549      </target>
550      <LPARAM>
551        <msgInfoValue obj="setfocus" msgParam="target"/>
552      </LPARAM>
553      <WPARAM>
554        <paramValue obj="cmd" param="WPARAM"/>
555      </WPARAM>
556    </genMsg>
557  </rule>
558 
559  <!-- if nothing else, at least switch focus, works only partially -->
560  <rule name="LeftClickChangeFocus">
561    <msg type="&WM_LBUTTONDOWN;">
562      <equals>
563        <winInfoValue obj="this" winParam="class"/>
564        <constValue value="Edit"/>
565      </equals>
566      <store var="clicked"/>
567    </msg>
568    <msg type="&WM_KILLFOCUS;">
569      <store var="killfocus"/>
570    </msg>
571    <msg type="&WM_SETFOCUS;">
572      <equals>
573        <paramValue obj="this" param="WPARAM"/>
574        <paramValue obj="killfocus" param="window.hwnd"/>
575      </equals>
576      <store var="setfocus"/>
577    </msg>
578    <msg type="&WM_COMMAND;">
579      <equals>
580        <paramValue obj="this" param="source"/>
581        <paramValue obj="clicked" param="window.hwnd"/>
582      </equals>
583      <equals>
584        <paramValue obj="this" param="sourceType"/>
585        <constValue value="256"/>
586      </equals>
587      <store var="cmd"/>
588    </msg>
589    <msg type="&WM_LBUTTONUP;">
590      <equals>
591        <paramValue obj="this" param="window.hwnd"/>
592        <paramValue obj="clicked" param="window.hwnd"/>
593      </equals>
594    </msg>
595    <genMsg delay="20">
596      <type>
597        <constValue value="&WM_KILLFOCUS;"/>
598      </type>
599      <target>
600        <msgInfoValue obj="killfocus" msgParam="target"/>
601      </target>
602      <WPARAM>
603        <msgInfoValue obj="setfocus" msgParam="target"/>
604      </WPARAM>
605    </genMsg>
606    <genMsg delay="20">
607      <type>
608        <constValue value="&WM_SETFOCUS;"/>
609      </type>
610      <target>
611        <msgInfoValue obj="setfocus" msgParam="target"/>
612      </target>
613      <WPARAM>
614        <msgInfoValue obj="killfocus" msgParam="target"/>
615      </WPARAM>
616    </genMsg>
617    <genMsg delay="100">
618      <type>
619        <constValue value="&WM_COMMAND;"/>
620      </type>
621      <target>
622        <msgInfoValue obj="cmd" msgParam="target"/>
623      </target>
624      <LPARAM>
625        <msgInfoValue obj="setfocus" msgParam="target"/>
626      </LPARAM>
627      <WPARAM>
628        <paramValue obj="cmd" param="WPARAM"/>
629      </WPARAM>
630    </genMsg>
631  </rule>
632
633
634  <!-- rules regarding keyboard input -->
635  <!-- <rule name="KeyPressed">
636    <msg type="&WM_KEYDOWN;">
637      <store var="keydown"/>
638    </msg>
639    <msg type="&WM_KEYUP;">
640      <store var="keyup"/>
641    </msg>
642    <genMsg delay="20">
643      <storedVar obj="keydown"/>
644    </genMsg>
645    <genMsg delay="100">
646      <storedVar obj="keyup"/>
647    </genMsg>
648    <idinfo>
649      <paramValue obj="keydown" param="key"/>
650    </idinfo>
651  </rule>
652
653  <rule name="SysKeyPressed">
654    <msg type="&WM_SYSKEYDOWN;">
655      <store var="keydown"/>
656    </msg>
657    <msg type="&WM_SYSKEYUP;">
658      <store var="keyup"/>
659    </msg>
660    <genMsg delay="20">
661      <storedVar obj="keydown"/>
662    </genMsg>
663    <genMsg delay="100">
664      <storedVar obj="keyup"/>
665    </genMsg>
666    <idinfo>
667      <paramValue obj="keydown" param="key"/>
668    </idinfo>
669  </rule> -->
670 
671  <!-- Alternate rules -->
672  <rule name="KeyDown">
673    <msg type="&WM_KEYDOWN;">
674      <store var="keydown"/>
675    </msg>
676    <genMsg delay="20">
677      <storedVar obj="keydown"/>
678    </genMsg>
679    <idinfo>
680      <paramValue obj="keydown" param="key"/>
681    </idinfo>
682  </rule>
683
684  <rule name="KeyUp">
685    <msg type="&WM_KEYUP;">
686      <store var="keyup"/>
687    </msg>
688    <genMsg delay="20">
689      <storedVar obj="keyup"/>
690    </genMsg>
691    <idinfo>
692      <paramValue obj="keyup" param="key"/>
693    </idinfo>
694  </rule>
695
696  <rule name="SysKeyDown">
697    <msg type="&WM_SYSKEYDOWN;">
698      <store var="keydown"/>
699    </msg>
700    <genMsg delay="20">
701      <storedVar obj="keydown"/>
702    </genMsg>
703    <idinfo>
704      <paramValue obj="keydown" param="key"/>
705    </idinfo>
706  </rule>
707
708  <rule name="SysKeyUp">
709    <msg type="&WM_SYSKEYUP;">
710      <store var="keyup"/>
711    </msg>
712    <genMsg delay="20">
713      <storedVar obj="keyup"/>
714    </genMsg>
715    <idinfo>
716      <paramValue obj="keyup" param="key"/>
717    </idinfo>
718  </rule>
719
720
721
722  <!--Diese Regel basiert auf relativen Koordinaten...wird nicht funktionieren, wenn sich zb das zu klickende Element in einer Symbolleiste
723  verschoben hat. Die Regel sendet ein WM_LBUTTONDOWN und WM_LBUTTONUP mit den relativen Koordinaten, die beim Aufzeichnen des Logs berechnet und
724  in WM_LBUTTONUP übergeben wurden-->
725
726  <rule name ="LeftClickRelativ">
727    <msg type="&WM_LBUTTONDOWN;">
728      <store var="clicked"/>
729    </msg>
730    <msg type="&WM_LBUTTONUP;">
731      <equals>
732        <paramValue obj="clicked" param="window.hwnd"/>
733        <paramValue obj="this" param="window.hwnd"/>
734      </equals>
735      <store var="up"/>
736    </msg>
737    <genMsg delay="0">
738      <type>
739        <constValue value="&WM_LBUTTONDOWN;"/>
740      </type>
741      <target>
742        <msgInfoValue obj="clicked" msgParam="target"/>
743      </target>
744      <LPARAM>
745        <LOWORD>
746          <paramValue obj="up" param="point.x"/>
747        </LOWORD>
748        <HIWORD>
749          <paramValue obj="up" param="point.y"/>
750        </HIWORD>
751      </LPARAM>
752      <WPARAM>
753        <constValue value="1"/>
754      </WPARAM>
755    </genMsg>
756    <genMsg delay="0">
757      <storedVar obj="up"/>
758    </genMsg>
759  </rule>
760 
761</rules>
Note: See TracBrowser for help on using the repository browser.