wrb 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/README +28 -0
- data/Rakefile +66 -0
- data/bin/wrb +41 -0
- data/bin/wrb.bat +6 -0
- data/ext/rwin/aatree.c +192 -0
- data/ext/rwin/aatree.h +55 -0
- data/ext/rwin/extconf.rb +47 -0
- data/ext/rwin/rw_api.c +2058 -0
- data/ext/rwin/rw_devices.c +215 -0
- data/ext/rwin/rw_gdiplus.h +278 -0
- data/ext/rwin/rw_graphics.c +1583 -0
- data/ext/rwin/rw_resources.c +1988 -0
- data/ext/rwin/rw_ubfuncs.c +281 -0
- data/ext/rwin/rw_windows.c +1936 -0
- data/ext/rwin/rwin.c +451 -0
- data/ext/rwin/rwin.h +442 -0
- data/lib/rwin.rb +820 -0
- data/lib/wrb.rb +20 -0
- data/lib/wrb/applications/frmdesigner/angle.cur +0 -0
- data/lib/wrb/applications/frmdesigner/angle2.cur +0 -0
- data/lib/wrb/applications/frmdesigner/controls/Button.bmp +0 -0
- data/lib/wrb/applications/frmdesigner/controls/Button.rb +34 -0
- data/lib/wrb/applications/frmdesigner/controls/Checkbox.bmp +0 -0
- data/lib/wrb/applications/frmdesigner/controls/Checkbox.rb +10 -0
- data/lib/wrb/applications/frmdesigner/controls/Combobox.bmp +0 -0
- data/lib/wrb/applications/frmdesigner/controls/Combobox.rb +88 -0
- data/lib/wrb/applications/frmdesigner/controls/ComboboxEx.rb +97 -0
- data/lib/wrb/applications/frmdesigner/controls/Comboboxex.bmp +0 -0
- data/lib/wrb/applications/frmdesigner/controls/DateTimePicker.bmp +0 -0
- data/lib/wrb/applications/frmdesigner/controls/DateTimePicker.rb +11 -0
- data/lib/wrb/applications/frmdesigner/controls/Edit.bmp +0 -0
- data/lib/wrb/applications/frmdesigner/controls/Edit.rb +8 -0
- data/lib/wrb/applications/frmdesigner/controls/Groupbox.bmp +0 -0
- data/lib/wrb/applications/frmdesigner/controls/Groupbox.rb +9 -0
- data/lib/wrb/applications/frmdesigner/controls/Hotkeyctrl.bmp +0 -0
- data/lib/wrb/applications/frmdesigner/controls/Hotkeyctrl.rb +9 -0
- data/lib/wrb/applications/frmdesigner/controls/Imagelist.bmp +0 -0
- data/lib/wrb/applications/frmdesigner/controls/Imagelist.rb +115 -0
- data/lib/wrb/applications/frmdesigner/controls/Listbox.bmp +0 -0
- data/lib/wrb/applications/frmdesigner/controls/Listbox.rb +77 -0
- data/lib/wrb/applications/frmdesigner/controls/Listview.bmp +0 -0
- data/lib/wrb/applications/frmdesigner/controls/Listview.rb +157 -0
- data/lib/wrb/applications/frmdesigner/controls/Menu.bmp +0 -0
- data/lib/wrb/applications/frmdesigner/controls/Menu.rb +198 -0
- data/lib/wrb/applications/frmdesigner/controls/Menubar.bmp +0 -0
- data/lib/wrb/applications/frmdesigner/controls/Menubar.rb +9 -0
- data/lib/wrb/applications/frmdesigner/controls/MonthCalender.bmp +0 -0
- data/lib/wrb/applications/frmdesigner/controls/Monthcalender.rb +9 -0
- data/lib/wrb/applications/frmdesigner/controls/Panel.bmp +0 -0
- data/lib/wrb/applications/frmdesigner/controls/Panel.rb +30 -0
- data/lib/wrb/applications/frmdesigner/controls/Progressbar.rb +10 -0
- data/lib/wrb/applications/frmdesigner/controls/Radiobutton.bmp +0 -0
- data/lib/wrb/applications/frmdesigner/controls/Radiobutton.rb +13 -0
- data/lib/wrb/applications/frmdesigner/controls/Rebar.bmp +0 -0
- data/lib/wrb/applications/frmdesigner/controls/Rebar.rb +162 -0
- data/lib/wrb/applications/frmdesigner/controls/Splitter.bmp +0 -0
- data/lib/wrb/applications/frmdesigner/controls/Splitter.rb +66 -0
- data/lib/wrb/applications/frmdesigner/controls/Static.bmp +0 -0
- data/lib/wrb/applications/frmdesigner/controls/Static.rb +9 -0
- data/lib/wrb/applications/frmdesigner/controls/Statusbar.bmp +0 -0
- data/lib/wrb/applications/frmdesigner/controls/Statusbar.rb +103 -0
- data/lib/wrb/applications/frmdesigner/controls/Tabctrl.bmp +0 -0
- data/lib/wrb/applications/frmdesigner/controls/Tabctrl.rb +136 -0
- data/lib/wrb/applications/frmdesigner/controls/Timer.bmp +0 -0
- data/lib/wrb/applications/frmdesigner/controls/Timer.rb +36 -0
- data/lib/wrb/applications/frmdesigner/controls/Toolbar.bmp +0 -0
- data/lib/wrb/applications/frmdesigner/controls/Toolbar.rb +165 -0
- data/lib/wrb/applications/frmdesigner/controls/Trackbar.bmp +0 -0
- data/lib/wrb/applications/frmdesigner/controls/Trackbar.rb +34 -0
- data/lib/wrb/applications/frmdesigner/controls/Treeview.bmp +0 -0
- data/lib/wrb/applications/frmdesigner/controls/Treeview.rb +107 -0
- data/lib/wrb/applications/frmdesigner/controls/Updown.bmp +0 -0
- data/lib/wrb/applications/frmdesigner/controls/Updown.rb +31 -0
- data/lib/wrb/applications/frmdesigner/controls/default.bmp +0 -0
- data/lib/wrb/applications/frmdesigner/controls/progressbar.bmp +0 -0
- data/lib/wrb/applications/frmdesigner/controls/unselect.bmp +0 -0
- data/lib/wrb/applications/frmdesigner/fddialogs.rb +87 -0
- data/lib/wrb/applications/frmdesigner/fdesign.rb +1315 -0
- data/lib/wrb/applications/frmdesigner/fdmodules.rb +1394 -0
- data/lib/wrb/applications/frmdesigner/fdparseform.rb +197 -0
- data/lib/wrb/applications/frmdesigner/img13.bmp +0 -0
- data/lib/wrb/base.rb +1294 -0
- data/lib/wrb/combocommon.rb +77 -0
- data/lib/wrb/commctrlconst.rb +139 -0
- data/lib/wrb/commdlg.rb +77 -0
- data/lib/wrb/components/animate.rb +114 -0
- data/lib/wrb/components/bitmap.rb +116 -0
- data/lib/wrb/components/button.rb +134 -0
- data/lib/wrb/components/canvas.rb +266 -0
- data/lib/wrb/components/checkbox.rb +118 -0
- data/lib/wrb/components/choosecolordlg.rb +87 -0
- data/lib/wrb/components/choosefontdlg.rb +142 -0
- data/lib/wrb/components/clipboard.rb +174 -0
- data/lib/wrb/components/combobox.rb +282 -0
- data/lib/wrb/components/comboboxex.rb +574 -0
- data/lib/wrb/components/cursor.rb +91 -0
- data/lib/wrb/components/datetimepicker.rb +197 -0
- data/lib/wrb/components/ddeclient.rb +180 -0
- data/lib/wrb/components/ddeserver.rb +131 -0
- data/lib/wrb/components/dialog.rb +228 -0
- data/lib/wrb/components/edit.rb +412 -0
- data/lib/wrb/components/font.rb +35 -0
- data/lib/wrb/components/form.rb +65 -0
- data/lib/wrb/components/groupbox.rb +122 -0
- data/lib/wrb/components/header.rb +479 -0
- data/lib/wrb/components/hotkeyctrl.rb +72 -0
- data/lib/wrb/components/icon.rb +109 -0
- data/lib/wrb/components/imagelist.rb +396 -0
- data/lib/wrb/components/inifile.rb +97 -0
- data/lib/wrb/components/listbox.rb +149 -0
- data/lib/wrb/components/listview.rb +1467 -0
- data/lib/wrb/components/menu.rb +592 -0
- data/lib/wrb/components/menubar.rb +84 -0
- data/lib/wrb/components/monthcalender.rb +164 -0
- data/lib/wrb/components/openfilenamedlg.rb +147 -0
- data/lib/wrb/components/pager.rb +199 -0
- data/lib/wrb/components/panel.rb +103 -0
- data/lib/wrb/components/picture.rb +55 -0
- data/lib/wrb/components/printdlg.rb +148 -0
- data/lib/wrb/components/printdlgex.rb +117 -0
- data/lib/wrb/components/printer.rb +97 -0
- data/lib/wrb/components/progressbar.rb +140 -0
- data/lib/wrb/components/radiobutton.rb +49 -0
- data/lib/wrb/components/rebar.rb +830 -0
- data/lib/wrb/components/registry.rb +408 -0
- data/lib/wrb/components/richedit.rb +1181 -0
- data/lib/wrb/components/savefilenamedlg.rb +27 -0
- data/lib/wrb/components/scintilla.rb +1298 -0
- data/lib/wrb/components/scrollbar.rb +239 -0
- data/lib/wrb/components/splitter.rb +494 -0
- data/lib/wrb/components/static.rb +198 -0
- data/lib/wrb/components/statusbar.rb +490 -0
- data/lib/wrb/components/tabctrl.rb +686 -0
- data/lib/wrb/components/timer.rb +117 -0
- data/lib/wrb/components/toolbar.rb +1107 -0
- data/lib/wrb/components/tooltip.rb +651 -0
- data/lib/wrb/components/trackbar.rb +298 -0
- data/lib/wrb/components/treeview.rb +845 -0
- data/lib/wrb/components/updown.rb +198 -0
- data/lib/wrb/ddeml.rb +241 -0
- data/lib/wrb/documents/animate.html +46 -0
- data/lib/wrb/documents/bitmap.html +69 -0
- data/lib/wrb/documents/button.html +78 -0
- data/lib/wrb/documents/canvas.html +137 -0
- data/lib/wrb/documents/checkbox.html +77 -0
- data/lib/wrb/documents/choosecolordlg.html +29 -0
- data/lib/wrb/documents/choosefontdlg.html +31 -0
- data/lib/wrb/documents/clipboard.html +31 -0
- data/lib/wrb/documents/combobox.html +117 -0
- data/lib/wrb/documents/comboboxex.html +139 -0
- data/lib/wrb/documents/control.html +53 -0
- data/lib/wrb/documents/cursor.html +45 -0
- data/lib/wrb/documents/datetimepicker.html +70 -0
- data/lib/wrb/documents/ddeclient.html +33 -0
- data/lib/wrb/documents/ddeserver.html +26 -0
- data/lib/wrb/documents/dialog.html +78 -0
- data/lib/wrb/documents/edit.html +169 -0
- data/lib/wrb/documents/empty.html +11 -0
- data/lib/wrb/documents/favicon.png +0 -0
- data/lib/wrb/documents/font.html +38 -0
- data/lib/wrb/documents/form.html +63 -0
- data/lib/wrb/documents/groupbox.html +57 -0
- data/lib/wrb/documents/header.html +85 -0
- data/lib/wrb/documents/hotkeyctrl.html +42 -0
- data/lib/wrb/documents/icon.html +45 -0
- data/lib/wrb/documents/imagelist.html +101 -0
- data/lib/wrb/documents/images/button.png +0 -0
- data/lib/wrb/documents/images/checkbox.png +0 -0
- data/lib/wrb/documents/images/combobox.png +0 -0
- data/lib/wrb/documents/images/comboboxex.png +0 -0
- data/lib/wrb/documents/images/datetimepicker.png +0 -0
- data/lib/wrb/documents/images/edit.png +0 -0
- data/lib/wrb/documents/images/groupbox.png +0 -0
- data/lib/wrb/documents/images/hotkeyctrl.png +0 -0
- data/lib/wrb/documents/images/listbox.png +0 -0
- data/lib/wrb/documents/images/listview.png +0 -0
- data/lib/wrb/documents/images/menu.png +0 -0
- data/lib/wrb/documents/images/menubar.png +0 -0
- data/lib/wrb/documents/images/monthcalender.png +0 -0
- data/lib/wrb/documents/images/progressbar.png +0 -0
- data/lib/wrb/documents/images/radiobutton.png +0 -0
- data/lib/wrb/documents/images/rebar.png +0 -0
- data/lib/wrb/documents/images/richedit.png +0 -0
- data/lib/wrb/documents/images/splitter.png +0 -0
- data/lib/wrb/documents/images/static.png +0 -0
- data/lib/wrb/documents/images/statusbar.png +0 -0
- data/lib/wrb/documents/images/tabctrl.png +0 -0
- data/lib/wrb/documents/images/toolbar.png +0 -0
- data/lib/wrb/documents/images/tooltip.png +0 -0
- data/lib/wrb/documents/images/trackbar.png +0 -0
- data/lib/wrb/documents/images/treeview.png +0 -0
- data/lib/wrb/documents/images/updown.png +0 -0
- data/lib/wrb/documents/index.html +155 -0
- data/lib/wrb/documents/inifile.html +36 -0
- data/lib/wrb/documents/license.txt +22 -0
- data/lib/wrb/documents/listbox.html +96 -0
- data/lib/wrb/documents/listview.html +277 -0
- data/lib/wrb/documents/make_doc.rb +596 -0
- data/lib/wrb/documents/menu.html +144 -0
- data/lib/wrb/documents/menubar.html +54 -0
- data/lib/wrb/documents/monthcalender.html +48 -0
- data/lib/wrb/documents/openfilenamedlg.html +36 -0
- data/lib/wrb/documents/pager.html +63 -0
- data/lib/wrb/documents/panel.html +32 -0
- data/lib/wrb/documents/picture.html +48 -0
- data/lib/wrb/documents/printdlg.html +35 -0
- data/lib/wrb/documents/printdlgex.html +35 -0
- data/lib/wrb/documents/printer.html +40 -0
- data/lib/wrb/documents/progressbar.html +69 -0
- data/lib/wrb/documents/radiobutton.html +51 -0
- data/lib/wrb/documents/rebar.html +143 -0
- data/lib/wrb/documents/registry.html +36 -0
- data/lib/wrb/documents/richedit.html +232 -0
- data/lib/wrb/documents/samples/editimg.bmp +0 -0
- data/lib/wrb/documents/samples/editimg.iml +0 -0
- data/lib/wrb/documents/samples/fileimg.bmp +0 -0
- data/lib/wrb/documents/samples/fileimg.iml +0 -0
- data/lib/wrb/documents/samples/sample_button.rb +21 -0
- data/lib/wrb/documents/samples/sample_checkbox.rb +18 -0
- data/lib/wrb/documents/samples/sample_combobox.rb +18 -0
- data/lib/wrb/documents/samples/sample_comboboxex.rb +23 -0
- data/lib/wrb/documents/samples/sample_datetimepicker.rb +11 -0
- data/lib/wrb/documents/samples/sample_edit.rb +25 -0
- data/lib/wrb/documents/samples/sample_groupbox.rb +19 -0
- data/lib/wrb/documents/samples/sample_hotkeyctrl.rb +12 -0
- data/lib/wrb/documents/samples/sample_listbox.rb +12 -0
- data/lib/wrb/documents/samples/sample_listview.rb +32 -0
- data/lib/wrb/documents/samples/sample_menu.rb +21 -0
- data/lib/wrb/documents/samples/sample_menubar.rb +23 -0
- data/lib/wrb/documents/samples/sample_monthcalender.rb +11 -0
- data/lib/wrb/documents/samples/sample_progressbar.rb +14 -0
- data/lib/wrb/documents/samples/sample_radiobutton.rb +14 -0
- data/lib/wrb/documents/samples/sample_rebar.rb +25 -0
- data/lib/wrb/documents/samples/sample_richedit.rb +60 -0
- data/lib/wrb/documents/samples/sample_splitter.rb +33 -0
- data/lib/wrb/documents/samples/sample_static.rb +15 -0
- data/lib/wrb/documents/samples/sample_statusbar.rb +17 -0
- data/lib/wrb/documents/samples/sample_tabctrl.rb +19 -0
- data/lib/wrb/documents/samples/sample_toolbar.rb +29 -0
- data/lib/wrb/documents/samples/sample_tooltip.rb +50 -0
- data/lib/wrb/documents/samples/sample_trackbar.rb +30 -0
- data/lib/wrb/documents/samples/sample_treeview.rb +19 -0
- data/lib/wrb/documents/samples/sample_updown.rb +18 -0
- data/lib/wrb/documents/samples/sampleimg16.iml +0 -0
- data/lib/wrb/documents/samples/sampleimg32.iml +0 -0
- data/lib/wrb/documents/samples/samplemg16.png +0 -0
- data/lib/wrb/documents/samples/samplemg32.png +0 -0
- data/lib/wrb/documents/samples/wrb.ico +0 -0
- data/lib/wrb/documents/savefilenamedlg.html +19 -0
- data/lib/wrb/documents/scrollbar.html +60 -0
- data/lib/wrb/documents/splitter.html +96 -0
- data/lib/wrb/documents/static.html +84 -0
- data/lib/wrb/documents/statusbar.html +110 -0
- data/lib/wrb/documents/tabctrl.html +151 -0
- data/lib/wrb/documents/timer.html +43 -0
- data/lib/wrb/documents/toolbar.html +181 -0
- data/lib/wrb/documents/tooltip.html +131 -0
- data/lib/wrb/documents/trackbar.html +107 -0
- data/lib/wrb/documents/treeview.html +210 -0
- data/lib/wrb/documents/updown.html +85 -0
- data/lib/wrb/documents/wincontrol.html +258 -0
- data/lib/wrb/documents/window.html +499 -0
- data/lib/wrb/documents/wrb.css +228 -0
- data/lib/wrb/gmem.rb +26 -0
- data/lib/wrb/imecommon.rb +59 -0
- data/lib/wrb/listcommon.rb +185 -0
- data/lib/wrb/lzss.rb +126 -0
- data/lib/wrb/scrollinfo.rb +142 -0
- data/lib/wrb/toplevelcommon.rb +634 -0
- metadata +315 -0
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
require 'wrb'
|
|
2
|
+
require 'wrb/commctrlconst'
|
|
3
|
+
|
|
4
|
+
module WR
|
|
5
|
+
module RC
|
|
6
|
+
UD_MAXVAL = 0x7fff
|
|
7
|
+
UD_MINVAL = -UD_MAXVAL
|
|
8
|
+
|
|
9
|
+
UDS_WRAP = 0x1
|
|
10
|
+
UDS_SETBUDDYINT = 0x2
|
|
11
|
+
UDS_ALIGNRIGHT = 0x4
|
|
12
|
+
UDS_ALIGNLEFT = 0x8
|
|
13
|
+
UDS_AUTOBUDDY = 0x10
|
|
14
|
+
UDS_ARROWKEYS = 0x20
|
|
15
|
+
UDS_HORZ = 0x40
|
|
16
|
+
UDS_NOTHOUSANDS = 0x80
|
|
17
|
+
UDS_HOTTRACK = 0x100
|
|
18
|
+
|
|
19
|
+
UDM_SETRANGE = WM_USER+101
|
|
20
|
+
UDM_GETRANGE = WM_USER+102
|
|
21
|
+
UDM_SETPOS = WM_USER+103
|
|
22
|
+
UDM_GETPOS = WM_USER+104
|
|
23
|
+
UDM_SETBUDDY = WM_USER+105
|
|
24
|
+
UDM_GETBUDDY = WM_USER+106
|
|
25
|
+
UDM_SETACCEL = WM_USER+107
|
|
26
|
+
UDM_GETACCEL = WM_USER+108
|
|
27
|
+
UDM_SETBASE = WM_USER+109
|
|
28
|
+
UDM_GETBASE = WM_USER+110
|
|
29
|
+
UDM_SETRANGE32 = WM_USER+111
|
|
30
|
+
UDM_GETRANGE32 = WM_USER+112
|
|
31
|
+
UDM_SETPOS32 = WM_USER+113
|
|
32
|
+
UDM_GETPOS32 = WM_USER+114
|
|
33
|
+
UDM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT
|
|
34
|
+
UDM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT
|
|
35
|
+
|
|
36
|
+
UDN_FIRST = -721
|
|
37
|
+
UDN_DELTAPOS = UDN_FIRST-1
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# A pair of arrow buttons that the user can click to increment or decrement a value, such as a number displayed in a buddy control.
|
|
41
|
+
# <br>See also <a href="https://docs.microsoft.com/en-us/windows/desktop/Controls/
|
|
42
|
+
# window-controls"> Windows Control section of Microsoft Docs.</a>
|
|
43
|
+
class Updown < WinControl
|
|
44
|
+
UDACCEL = API.defstruct "
|
|
45
|
+
UINT nSec;
|
|
46
|
+
UINT nInc;"
|
|
47
|
+
|
|
48
|
+
UDACCELS = API.defstruct "UDACCEL[]"
|
|
49
|
+
|
|
50
|
+
NMUPDOWN = API.defstruct "
|
|
51
|
+
NMHDR hdr;
|
|
52
|
+
int iPos;
|
|
53
|
+
int iDelta;"
|
|
54
|
+
|
|
55
|
+
module ModUpdownBuddy
|
|
56
|
+
attr_accessor :__updownbuddy__
|
|
57
|
+
def move(*args)
|
|
58
|
+
super
|
|
59
|
+
if @__updownbuddy__
|
|
60
|
+
if @__updownbuddy__.style&RC::UDS_ALIGNRIGHT>0
|
|
61
|
+
@__updownbuddy__.move(x+w, y, @__updownbuddy__.w, h)
|
|
62
|
+
elsif @__updownbuddy__.style&RC::UDS_ALIGNLEFT>0
|
|
63
|
+
@__updownbuddy__.move(x-@__updownbuddy__.w, y, @__updownbuddy__.w, h)
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
self
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
WinStyles = {
|
|
71
|
+
:wrap => UDS_WRAP,
|
|
72
|
+
:setbuddyint => UDS_SETBUDDYINT,
|
|
73
|
+
:alignright => UDS_ALIGNRIGHT,
|
|
74
|
+
:alignleft => UDS_ALIGNLEFT,
|
|
75
|
+
:autobuddy => UDS_AUTOBUDDY,
|
|
76
|
+
:arrowkeys => UDS_ARROWKEYS,
|
|
77
|
+
:horz => UDS_HORZ,
|
|
78
|
+
:nothousands => UDS_NOTHOUSANDS,
|
|
79
|
+
:hottrack => UDS_HOTTRACK
|
|
80
|
+
}
|
|
81
|
+
# def self.sym2style(*args) _sym2style(WinStyles, args); end
|
|
82
|
+
|
|
83
|
+
PreDefinedEvents = {
|
|
84
|
+
:releasedcapture => [WM_NOTIFY, NM_RELEASEDCAPTURE, 'xs', NMHDR],
|
|
85
|
+
:deltapos => [WM_NOTIFY, UDN_DELTAPOS, 'xs', NMUPDOWN]
|
|
86
|
+
}
|
|
87
|
+
DefaultEvents = [:deltapos]
|
|
88
|
+
|
|
89
|
+
def initialize(*args)
|
|
90
|
+
super
|
|
91
|
+
@_classname = "msctls_updown32"
|
|
92
|
+
@_acceptable_events = PreDefinedEvents.dup
|
|
93
|
+
end
|
|
94
|
+
#
|
|
95
|
+
def create()
|
|
96
|
+
super
|
|
97
|
+
self.accel =@_accel if @_accel
|
|
98
|
+
self.base = @_base if @_base
|
|
99
|
+
self.buddy = @_buddy if @_buddy
|
|
100
|
+
self.pos = @_pos if @_pos
|
|
101
|
+
self.range = @_range if @_range
|
|
102
|
+
if buddy
|
|
103
|
+
buddy.extend(ModUpdownBuddy)
|
|
104
|
+
buddy.__updownbuddy__ = self
|
|
105
|
+
end
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
# Retrieves acceleration information for this up-down control.
|
|
109
|
+
def accel()
|
|
110
|
+
if alive?
|
|
111
|
+
n = SendMessage(UDM_GETACCEL, 0, 0)
|
|
112
|
+
accels = UDACCELS[n]
|
|
113
|
+
SendMessage(UDM_GETACCEL, n, accels)
|
|
114
|
+
ar = []
|
|
115
|
+
n.times{|i|ar << accels[i].to_a}
|
|
116
|
+
ar
|
|
117
|
+
else
|
|
118
|
+
@_accel
|
|
119
|
+
end
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
# Sets the acceleration for an up-down control.<br>
|
|
123
|
+
# Give an array of [[nSec, nInc], ... ].<br>
|
|
124
|
+
# The nSec is an amount of elapsed time, and the nInc is a position to change accelaration.
|
|
125
|
+
def accel=(*args)
|
|
126
|
+
raise ArgumentError, "argument must be pair of [nSec, nInc]" unless args[0].is_a?(Array)
|
|
127
|
+
ar = args[0][0].is_a?(Array) ? args[0] : [args[0]]
|
|
128
|
+
n = ar.size
|
|
129
|
+
accels = UDACCELS[n]
|
|
130
|
+
n.times{|i| accels[i] = UDACCEL[*ar[i]]}
|
|
131
|
+
if alive?
|
|
132
|
+
SendMessage(UDM_SETACCEL, n, accels)
|
|
133
|
+
else
|
|
134
|
+
@_accel = args[0]
|
|
135
|
+
end
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
# Retrieves the current radix base (that is, either base 10 or 16) for this up-down control.
|
|
139
|
+
def base()
|
|
140
|
+
alive? ? SendMessage(UDM_GETBASE, 0, 0) : @_base
|
|
141
|
+
end
|
|
142
|
+
# Sets the radix base for this up-down control.
|
|
143
|
+
def base=(bs)
|
|
144
|
+
alive? ? SendMessage(UDM_SETBASE, bs, 0) : @_base = bs
|
|
145
|
+
end
|
|
146
|
+
alias radix base
|
|
147
|
+
alias radix= base=
|
|
148
|
+
|
|
149
|
+
# Retrieves crrent buddy window for this up-down control.
|
|
150
|
+
def buddy()
|
|
151
|
+
alive? ? APP.hwnd2ref(SendMessage(UDM_GETBUDDY, 0, 0)) : @_buddy
|
|
152
|
+
end
|
|
153
|
+
|
|
154
|
+
# Sets the buddy window for this up-down control.
|
|
155
|
+
def buddy=(win)
|
|
156
|
+
if alive?
|
|
157
|
+
if win
|
|
158
|
+
# win.create unless win.alive?
|
|
159
|
+
win.extend(ModUpdownBuddy)
|
|
160
|
+
win.__updownbuddy__ = self
|
|
161
|
+
SendMessage(UDM_SETBUDDY, win._hwnd, 0)
|
|
162
|
+
else
|
|
163
|
+
SendMessage(UDM_SETBUDDY, 0, 0)
|
|
164
|
+
end
|
|
165
|
+
else
|
|
166
|
+
@_buddy = win
|
|
167
|
+
end
|
|
168
|
+
end
|
|
169
|
+
|
|
170
|
+
# Retrieves the current position of this up-down control.
|
|
171
|
+
def pos()
|
|
172
|
+
alive? ? SendMessage(UDM_GETPOS, 0, 0) : @_pos
|
|
173
|
+
end
|
|
174
|
+
# Sets the current position for this up-down control.
|
|
175
|
+
def pos=(ps)
|
|
176
|
+
alive? ? SendMessage(UDM_SETPOS, 0, MAKELPARAM(ps, 0)) : @_pos = ps
|
|
177
|
+
end
|
|
178
|
+
|
|
179
|
+
# Retrieves the minimum and maximum positions (range) for this up-down control.
|
|
180
|
+
def range()
|
|
181
|
+
alive? ? SPLITPARAM(SendMessage(UDM_GETRANGE, 0, 0)) : @_range
|
|
182
|
+
end
|
|
183
|
+
# range=(low=0, hifgh)
|
|
184
|
+
# Sets the minimum and maximum positions (range) for this up-down control.
|
|
185
|
+
def range=(*args)
|
|
186
|
+
lo, hi = args[0].is_a?(Array) ? args[0] : [0, args[0]]
|
|
187
|
+
alive? ? SendMessage(UDM_SETRANGE, 0, MAKELPARAM(hi, lo)) : @_range = [lo, hi]
|
|
188
|
+
end
|
|
189
|
+
|
|
190
|
+
protected
|
|
191
|
+
def _apply_options(arg)
|
|
192
|
+
if st=WinStyles[arg]
|
|
193
|
+
self.style |= st
|
|
194
|
+
end
|
|
195
|
+
end
|
|
196
|
+
|
|
197
|
+
end
|
|
198
|
+
end
|
data/lib/wrb/ddeml.rb
ADDED
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
# Base class and common constants for DDEML
|
|
2
|
+
|
|
3
|
+
require 'wrb'
|
|
4
|
+
|
|
5
|
+
module WR
|
|
6
|
+
module RC
|
|
7
|
+
CF_TEXT = 1 unless defined? CF_TEXT
|
|
8
|
+
CF_OEMTEXT = 7 unless defined? CF_OEMTEXT
|
|
9
|
+
CF_HDROP = 15 unless defined? CF_HDROP
|
|
10
|
+
|
|
11
|
+
XST_NULL = 0
|
|
12
|
+
XST_INCOMPLETE = 1
|
|
13
|
+
XST_CONNECTED = 2
|
|
14
|
+
XST_INIT1 = 3
|
|
15
|
+
XST_INIT2 = 4
|
|
16
|
+
XST_REQSENT = 5
|
|
17
|
+
XST_DATARCVD = 6
|
|
18
|
+
XST_POKESENT = 7
|
|
19
|
+
XST_POKEACKRCVD = 8
|
|
20
|
+
XST_EXECSENT = 9
|
|
21
|
+
XST_EXECACKRCVD = 10
|
|
22
|
+
XST_ADVSENT = 11
|
|
23
|
+
XST_UNADVSENT = 12
|
|
24
|
+
XST_ADVACKRCVD = 13
|
|
25
|
+
XST_UNADVACKRCVD = 14
|
|
26
|
+
XST_ADVDATASENT = 15
|
|
27
|
+
XST_ADVDATAACKRCVD = 16
|
|
28
|
+
|
|
29
|
+
ST_CONNECTED = 0x0001
|
|
30
|
+
ST_ADVISE = 0x0002
|
|
31
|
+
ST_ISLOCAL = 0x0004
|
|
32
|
+
ST_BLOCKED = 0x0008
|
|
33
|
+
ST_CLIENT = 0x0010
|
|
34
|
+
ST_TERMINATED = 0x0020
|
|
35
|
+
ST_INLIST = 0x0040
|
|
36
|
+
ST_BLOCKNEXT = 0x0080
|
|
37
|
+
ST_ISSELF = 0x0100
|
|
38
|
+
|
|
39
|
+
# DDE constants for wStatus field
|
|
40
|
+
DDE_FACK = 0x8000
|
|
41
|
+
DDE_FBUSY = 0x4000
|
|
42
|
+
DDE_FDEFERUPD = 0x4000
|
|
43
|
+
DDE_FACKREQ = 0x8000
|
|
44
|
+
DDE_FRELEASE = 0x2000
|
|
45
|
+
DDE_FREQUESTED = 0x1000
|
|
46
|
+
DDE_FAPPSTATUS = 0x00ff
|
|
47
|
+
DDE_FNOTPROCESSED = 0x0000
|
|
48
|
+
|
|
49
|
+
DDE_FACKRESERVED = (DDE_FACK | DDE_FBUSY | DDE_FAPPSTATUS)
|
|
50
|
+
DDE_FADVRESERVED = (DDE_FACKREQ | DDE_FDEFERUPD)
|
|
51
|
+
DDE_FDATRESERVED = (DDE_FACKREQ | DDE_FRELEASE | DDE_FREQUESTED)
|
|
52
|
+
DDE_FPOKRESERVED = (DDE_FRELEASE)
|
|
53
|
+
|
|
54
|
+
# message filter hook types
|
|
55
|
+
MSGF_DDEMGR = 0x8001
|
|
56
|
+
|
|
57
|
+
# codepage constants
|
|
58
|
+
CP_WINANSI = 1004
|
|
59
|
+
CP_WINUNICODE = 1200
|
|
60
|
+
|
|
61
|
+
# transaction types
|
|
62
|
+
XTYPF_NOBLOCK = 0x0002
|
|
63
|
+
XTYPF_NODATA = 0x0004
|
|
64
|
+
XTYPF_ACKREQ = 0x0008
|
|
65
|
+
|
|
66
|
+
XCLASS_MASK = 0xFC00
|
|
67
|
+
XCLASS_BOOL = 0x1000
|
|
68
|
+
XCLASS_DATA = 0x2000
|
|
69
|
+
XCLASS_FLAGS = 0x4000
|
|
70
|
+
XCLASS_NOTIFICATION = 0x8000
|
|
71
|
+
XTYP_ERROR = 0x0000 | XCLASS_NOTIFICATION | XTYPF_NOBLOCK
|
|
72
|
+
XTYP_ADVDATA = 0x0010 | XCLASS_FLAGS
|
|
73
|
+
XTYP_ADVREQ = 0x0020 | XCLASS_DATA | XTYPF_NOBLOCK
|
|
74
|
+
XTYP_ADVSTART = 0x0030 | XCLASS_BOOL
|
|
75
|
+
XTYP_ADVSTOP = 0x0040 | XCLASS_NOTIFICATION
|
|
76
|
+
XTYP_EXECUTE = 0x0050 | XCLASS_FLAGS
|
|
77
|
+
XTYP_CONNECT = 0x0060 | XCLASS_BOOL | XTYPF_NOBLOCK
|
|
78
|
+
XTYP_CONNECT_CONFIRM = 0x0070 | XCLASS_NOTIFICATION | XTYPF_NOBLOCK
|
|
79
|
+
XTYP_XACT_COMPLETE = 0x0080 | XCLASS_NOTIFICATION
|
|
80
|
+
XTYP_POKE = 0x0090 | XCLASS_FLAGS
|
|
81
|
+
XTYP_REGISTER = 0x00A0 | XCLASS_NOTIFICATION | XTYPF_NOBLOCK
|
|
82
|
+
XTYP_REQUEST = 0x00B0 | XCLASS_DATA
|
|
83
|
+
XTYP_DISCONNECT = 0x00C0 | XCLASS_NOTIFICATION | XTYPF_NOBLOCK
|
|
84
|
+
XTYP_UNREGISTER = 0x00D0 | XCLASS_NOTIFICATION | XTYPF_NOBLOCK
|
|
85
|
+
XTYP_WILDCONNECT = 0x00E0 | XCLASS_DATA | XTYPF_NOBLOCK
|
|
86
|
+
|
|
87
|
+
XTYP_MASK = 0x00F0
|
|
88
|
+
XTYP_SHIFT = 4
|
|
89
|
+
|
|
90
|
+
# Timeout constants
|
|
91
|
+
TIMEOUT_ASYNC = 0xFFFFFFFF
|
|
92
|
+
|
|
93
|
+
# Transaction ID constants
|
|
94
|
+
QID_SYNC = 0xFFFFFFFF
|
|
95
|
+
|
|
96
|
+
CBF_FAIL_SELFCONNECTIONS = 0x00001000
|
|
97
|
+
CBF_FAIL_CONNECTIONS = 0x00002000
|
|
98
|
+
CBF_FAIL_ADVISES = 0x00004000
|
|
99
|
+
CBF_FAIL_EXECUTES = 0x00008000
|
|
100
|
+
CBF_FAIL_POKES = 0x00010000
|
|
101
|
+
CBF_FAIL_REQUESTS = 0x00020000
|
|
102
|
+
CBF_FAIL_ALLSVRXACTIONS = 0x0003f000
|
|
103
|
+
|
|
104
|
+
CBF_SKIP_CONNECT_CONFIRMS = 0x00040000
|
|
105
|
+
CBF_SKIP_REGISTRATIONS = 0x00080000
|
|
106
|
+
CBF_SKIP_UNREGISTRATIONS = 0x00100000
|
|
107
|
+
CBF_SKIP_DISCONNECTS = 0x00200000
|
|
108
|
+
CBF_SKIP_ALLNOTIFICATIONS = 0x003c0000
|
|
109
|
+
|
|
110
|
+
SZDDESYS_TOPIC = "System"
|
|
111
|
+
SZDDESYS_ITEM_TOPICS = "Topics"
|
|
112
|
+
SZDDESYS_ITEM_SYSITEMS = "SysItems"
|
|
113
|
+
SZDDESYS_ITEM_RTNMSG = "ReturnMessage"
|
|
114
|
+
SZDDESYS_ITEM_STATUS = "Status"
|
|
115
|
+
SZDDESYS_ITEM_FORMATS = "Formats"
|
|
116
|
+
SZDDESYS_ITEM_HELP = "Help"
|
|
117
|
+
SZDDE_ITEM_ITEMLIST = "TopicItemList"
|
|
118
|
+
|
|
119
|
+
# Application command flags
|
|
120
|
+
APPCMD_CLIENTONLY = 0x00000010
|
|
121
|
+
APPCMD_FILTERINITS = 0x00000020
|
|
122
|
+
APPCMD_MASK = 0x00000FF0
|
|
123
|
+
|
|
124
|
+
# Application classification flags
|
|
125
|
+
APPCLASS_STANDARD = 0x00000000
|
|
126
|
+
APPCLASS_MASK = 0x0000000F
|
|
127
|
+
|
|
128
|
+
# Name service
|
|
129
|
+
DNS_REGISTER = 0x0001
|
|
130
|
+
DNS_UNREGISTER = 0x0002
|
|
131
|
+
DNS_FILTERON = 0x0004
|
|
132
|
+
DNS_FILTEROFF = 0x0008
|
|
133
|
+
|
|
134
|
+
DMLERR_NO_ERROR = 0
|
|
135
|
+
|
|
136
|
+
DMLERR_ADVACKTIMEOUT =0x4000
|
|
137
|
+
DMLERR_BUSY = 0x4001
|
|
138
|
+
DMLERR_DATAACKTIMEOUT = 0x4002
|
|
139
|
+
DMLERR_DLL_NOT_INITIALIZED = 0x4003
|
|
140
|
+
DMLERR_DLL_USAGE = 0x4004
|
|
141
|
+
DMLERR_EXECACKTIMEOUT = 0x4005
|
|
142
|
+
DMLERR_INVALIDPARAMETER = 0x4006
|
|
143
|
+
DMLERR_LOW_MEMORY = 0x4007
|
|
144
|
+
DMLERR_MEMORY_ERROR = 0x4008
|
|
145
|
+
DMLERR_NOTPROCESSED = 0x4009
|
|
146
|
+
DMLERR_NO_CONV_ESTABLISHED = 0x400a
|
|
147
|
+
DMLERR_POKEACKTIMEOUT = 0x400b
|
|
148
|
+
DMLERR_POSTMSG_FAILED = 0x400c
|
|
149
|
+
DMLERR_REENTRANCY = 0x400d
|
|
150
|
+
DMLERR_SERVER_DIED = 0x400e
|
|
151
|
+
DMLERR_SYS_ERROR = 0x400f
|
|
152
|
+
DMLERR_UNADVACKTIMEOUT = 0x4010
|
|
153
|
+
DMLERR_UNFOUND_QUEUE_ID = 0x4011
|
|
154
|
+
end
|
|
155
|
+
|
|
156
|
+
class DDEML
|
|
157
|
+
|
|
158
|
+
API.defun 'DdeInitialize(LPDWORD pidInst, PFNCALLBACK pfnCallback, DWORD afCmd,
|
|
159
|
+
DWORD ulRes)'
|
|
160
|
+
API.defun 'DdeUninitialize(DWORD idInst)'
|
|
161
|
+
API.defun 'DdeConnectList(DWORD idInst, HSZ hszService, HSZ hszTopic,
|
|
162
|
+
HCONVLIST hConvList, PCONVCONTEXT pCC)'
|
|
163
|
+
API.defun 'DdeQueryNextServer(HCONVLIST hConvList, HCONV hConvPrev)'
|
|
164
|
+
API.defun 'DdeDisconnectList(HCONVLIST hConvList)'
|
|
165
|
+
API.defun 'DdeConnect(DWORD idInst, HSZ hszService, HSZ hszTopic, PCONVCONTEXT pCC)'
|
|
166
|
+
API.defun 'DdeDisconnect(HCONV hConv)'
|
|
167
|
+
API.defun 'DdeReconnect(HCONV hConv)'
|
|
168
|
+
API.defun 'DdeQueryConvInfo(HCONV hConv, DWORD idTransaction, PCONVINFO pConvInfo)'
|
|
169
|
+
API.defun 'DdeSetUserHandle(HCONV hConv,DWORD id,DWORD_PTR hUser)'
|
|
170
|
+
API.defun 'DdeAbandonTransaction(DWORD idInst, HCONV hConv,DWORD idTransaction)'
|
|
171
|
+
API.defun 'DdePostAdvise(DWORD idInst, HSZ hszTopic, HSZ hszItem)'
|
|
172
|
+
API.defun 'DdeEnableCallback(DWORD idInst, HCONV hConv, UINT wCmd)'
|
|
173
|
+
API.defun 'DdeImpersonateClient(HCONV hConv)'
|
|
174
|
+
API.defun 'DdeNameService(DWORD idInst, HSZ hsz1, HSZ hsz2, UINT afCmd)'
|
|
175
|
+
API.defun 'DdeClientTransaction(LPBYTE pData, DWORD cbData, HCONV hConv, HSZ hszItem,
|
|
176
|
+
UINT wFmt, UINT wType, DWORD dwTimeout, LPDWORD pdwResult)'
|
|
177
|
+
API.defun 'DdeCreateDataHandle(DWORD idInst, LPBYTE pSrc, DWORD cb, DWORD cbOff,
|
|
178
|
+
HSZ hszItem, UINT wFmt, UINT afCmd)'
|
|
179
|
+
API.defun 'DdeAddData(HDDEDATA hData, LPBYTE pSrc, DWORD cb, DWORD cbOff)'
|
|
180
|
+
API.defun 'DdeGetData(HDDEDATA hData, LPBYTE pDst, DWORD cbMax, DWORD cbOff)'
|
|
181
|
+
API.defun 'DdeAccessData(HDDEDATA hData, LPDWORD pcbDataSize)'
|
|
182
|
+
API.defun 'DdeUnaccessData(HDDEDATA hData)'
|
|
183
|
+
API.defun 'DdeFreeDataHandle(HDDEDATA hData)'
|
|
184
|
+
|
|
185
|
+
API.defun 'DdeCreateStringHandle(DWORD idInst, LPCTSTR psz, int iCodePage)'
|
|
186
|
+
API.defun 'DdeQueryString(DWORD idInst, HSZ hsz, LPTSTR psz, DWORD cchMax, int iCodePage)'
|
|
187
|
+
API.defun 'DdeFreeStringHandle(DWORD idInst, HSZ hsz)'
|
|
188
|
+
API.defun 'DdeKeepStringHandle(DWORD idInst, HSZ hsz)'
|
|
189
|
+
API.defun 'DdeCmpStringHandles(HSZ hsz1, HSZ hsz2)'
|
|
190
|
+
API.defun 'DdeGetLastError(DWORD idInst)'
|
|
191
|
+
|
|
192
|
+
IDINST = API.defstruct 'int value'
|
|
193
|
+
|
|
194
|
+
DDEError={
|
|
195
|
+
0x4003 => "not initialized",
|
|
196
|
+
0x4004 => "illegal usage",
|
|
197
|
+
0x4006 => "invalid parameter",
|
|
198
|
+
0x400a => 'no conversation established'
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
include RC
|
|
202
|
+
|
|
203
|
+
def self.callback_finalizer(idinst, hservice, htopic)
|
|
204
|
+
proc{
|
|
205
|
+
API.DdeFreeStringHandle(idinst, hservice)
|
|
206
|
+
API.DdeFreeStringHandle(idinst, htopic)
|
|
207
|
+
API.DdeUninitialize(idinst)
|
|
208
|
+
}
|
|
209
|
+
end
|
|
210
|
+
|
|
211
|
+
def h2str(hsz)
|
|
212
|
+
ccMax = API.DdeQueryString(@_idinst, hsz, nil, 0, @_codepage) + 1
|
|
213
|
+
lpsz = @_codepage==CP_WINUNICODE ? API::WCHAR[ccMax] : CHAR[ccMax]
|
|
214
|
+
API.DdeQueryString(@_idinst, hsz, lpsz, ccMax, @_codepage)
|
|
215
|
+
lpsz.to_s
|
|
216
|
+
end
|
|
217
|
+
def str2h(str)
|
|
218
|
+
API.DdeCreateStringHandle(@_idinst, str.to_s, @_codepage)
|
|
219
|
+
end
|
|
220
|
+
def freestrhandle(hstr)
|
|
221
|
+
API.DdeFreeStringHandle(@_idinst, hstr)
|
|
222
|
+
end
|
|
223
|
+
|
|
224
|
+
def h2data(hdata)
|
|
225
|
+
sdata = API.DdeGetData(hdata, nil, 0, 0)
|
|
226
|
+
lpbDest = API::BYTE[sdata]
|
|
227
|
+
API.DdeGetData(hdata, lpbDest, sdata, 0)
|
|
228
|
+
lpbDest.to_s
|
|
229
|
+
end
|
|
230
|
+
|
|
231
|
+
def data2h(hitem, data)
|
|
232
|
+
data.force_encoding(Encoding::ASCII_8BIT) if data.is_a?(String)
|
|
233
|
+
API.DdeCreateDataHandle(@_idinst, data, data.bytesize, 0, hitem, CF_TEXT, 0)
|
|
234
|
+
end
|
|
235
|
+
|
|
236
|
+
def freedatahandle(hdata)
|
|
237
|
+
API.DdeFreeDataHandle(hdata)
|
|
238
|
+
end
|
|
239
|
+
end
|
|
240
|
+
end
|
|
241
|
+
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta content="text/html; charset=utf-8" http-equiv="content-type">
|
|
5
|
+
<title>Animate</title>
|
|
6
|
+
<link href="wrb.css" type="text/css" rel="stylesheet">
|
|
7
|
+
<link rel="shortcut icon" href="favicon.png">
|
|
8
|
+
</head>
|
|
9
|
+
<body>
|
|
10
|
+
<h3> Animate < <a href="wincontrol.html">WinControl</a> <span class=gohome> <a href="index.html">Home </a></span></h3>
|
|
11
|
+
<p>A window that displays an AVI clip (Animation).
|
|
12
|
+
<br>See also <a href="https://docs.microsoft.com/en-us/windows/desktop/Controls/
|
|
13
|
+
window-controls"> Windows Control section of Microsoft Docs.</a>
|
|
14
|
+
</p>
|
|
15
|
+
<h4> Instance methods </h4>
|
|
16
|
+
<dl>
|
|
17
|
+
<dt><code>open(path)</code></dt>
|
|
18
|
+
<dd>Opens an <i>path</i> of AVI clip and displays its first frame in this.</dd>
|
|
19
|
+
<dt><code>play(times, from=0, to=-1)</code></dt>
|
|
20
|
+
<dd>Plays an AVI clip in athis.</dd>
|
|
21
|
+
<dt><code>playing?()</code></dt>
|
|
22
|
+
<dd>Retreives whether an AVI clip is playing. Returns true/false.</dd>
|
|
23
|
+
<dt><code>stop()</code></dt>
|
|
24
|
+
<dd>Stops playing an AVI clip in this</dd>
|
|
25
|
+
</dl>
|
|
26
|
+
<h4> Animate styles <span class=spl>( both the symbols and the integers can be used )</span></h4>
|
|
27
|
+
<p></p>
|
|
28
|
+
<table>
|
|
29
|
+
<tr><th>Symbol</th><th>Integer value</th><th>Symbol</th><th>Integer value</th></tr>
|
|
30
|
+
<tr><td class=name1><code>:autoplay</code></td><td class=type><code>ACS_AUTOPLAY</code></td><td class=name1><code>:timer</code></td><td class=type><code>ACS_TIMER</code></td></tr>
|
|
31
|
+
<tr><td class=name1><code>:transparent</code></td><td class=type><code>ACS_TRANSPARENT</code></td></tr>
|
|
32
|
+
</table>
|
|
33
|
+
<h4> Pre-defined events <span class=spl> ( can be added by `events=` method )</span></h4>
|
|
34
|
+
<p></p>
|
|
35
|
+
<table>
|
|
36
|
+
<tr><th width=20%>Symbol</th><th width=20%>Notification code</th><th>Definition <span class=spl>( `???' is name of the control )</span></th></tr>
|
|
37
|
+
<tr><td class=name1><code>:start</code></td><td class=type><code>ACN_START</code></td><td class=desc><code>???_start(idcmd, code, hwnd)</code></td></code></tr>
|
|
38
|
+
<tr><td class=name1><code>:stop</code></td><td class=type><code>ACN_STOP</code></td><td class=desc><code>???_stop(idcmd, code, hwnd)</code></td></code></tr>
|
|
39
|
+
</table>
|
|
40
|
+
<h4> Default events <span class=spl>( can be defined without using `events=' method )</h4>
|
|
41
|
+
<p>(No default events)</p>
|
|
42
|
+
<dl>
|
|
43
|
+
</dl>
|
|
44
|
+
|
|
45
|
+
</body>
|
|
46
|
+
</html>
|