rendered paste body
REQUIRE NEEDS ~day/lib/includemodule.f
NEEDS ~ygrek/lib/wfl/grid/grid.f
\ Небольшое отцепление, чтобы сделать возможным подключение статических
\ элементов управления. Насколько правильно так делать -- не знаю
: (put) ( obj -- )
TO ctl
CGridBox NewObj put-box
parent SELF ctl => create DROP
ctl box => :control! ;
0 VALUE ddd
MODULE: ids
CStatic NEW label1
CEventButton NEW button1
VECT changeLabel ( event -- )
;MODULE
CDialog SUBCLASS CMyDialog
CGridController OBJ _g
W: WM_INITDIALOG
0 GRID
ids::label1 this (put)
S" 1" =text
CStatic
put
S" 2" =text
ROW
ids::button1 this (put)
S" 3" =text
ids::['] changeLabel =command
ROW
;GRID _g :grid!
_g this SUPER injectMsgController
TRUE
;
: changeGrid ( grid -- )
_g :grid!
;
:NONAME DROP S" :NONAME 0 GRID CStatic put S' text' =text ROW ;GRID ; EXECUTE ddd => changeGrid" EVALUATE
;
ids::TO changeLabel
;CLASS
0 0 0 0
WS_POPUP WS_SYSMENU OR WS_CAPTION OR DS_MODALFRAME OR WS_SIZEBOX OR
DS_CENTER OR
DIALOG: dlg1 grid-show!
DIALOG;
: winTest ( -- n )
|| CMyDialog dlg ||
dlg this TO ddd
dlg1 0 dlg showModal DROP
;
winTest