Ну, например, контрол CHECK -
Код: Выделить всё
create(i#,CREATE:check)
i#{prop:Text} = clip(Q.FQName)
i#{prop:TrueValue} = '1'
i#{prop:FalseValue} = '0'
i#{prop:Use} = '1'
unhide(i#)
Модератор: Дед Пахом
Код: Выделить всё
create(i#,CREATE:check)
i#{prop:Text} = clip(Q.FQName)
i#{prop:TrueValue} = '1'
i#{prop:FalseValue} = '0'
i#{prop:Use} = '1'
unhide(i#)
А что мешает сделать так?kreator писал(а):И по prop:Use я не могу ни присвоить значение ни получить его назад. Prop:Checked работает, но как задать изначально, что Checked?
Код: Выделить всё
loc:checkbox byte
CODE
...
i#{PROP:Use} = loc:checkbox
loc:checkbox = 1
Код: Выделить всё
i#{prop:Use} = LOC:Check[j#]
LOC:Check[j#] = Q.FQValue1
Код: Выделить всё
PROGRAM
MAP
Main
END
CODE
Main
MAIN PROCEDURE
Window WINDOW('Caption'),AT(,,218,212),FONT('Verdana',8,,FONT:regular,CHARSET:CYRILLIC),CENTER,SYSTEM, |
GRAY
LIST,AT(5,9,103,166),USE(?List),VSCROLL,FORMAT('41C|M~Control~@n14_@20C|M~Checked~@n14_@')
END
QwClass QUEUE,TYPE
Control SIGNED
val BYTE
field &BYTE
END
wClass CLASS
W &Window
Control SIGNED
Q &QwClass
Construct PROCEDURE()
Destruct PROCEDURE(),VIRTUAL
Init PROCEDURE(Window W,SIGNED Control)
NewCheck PROCEDURE()
Events PROCEDURE()
END
CODE
OPEN(Window)
wClass.Init(Window,?List)
LOOP 10 TIMES
wClass.NewCheck
END
ACCEPT
wClass.Events()
END
wClass.Construct PROCEDURE
CODE
SELF.Q &= NEW QwClass
wClass.Destruct PROCEDURE
I LONG
CODE
LOOP I = 1 TO RECORDS(SELF.Q)
GET(SELF.Q,I)
DISPOSE(SELF.Q.Field)
END
DISPOSE(SELF.Q)
wClass.Init PROCEDURE(Window W,SIGNED Control)
CODE
SELF.W &= W
SELf.Control = Control
W $ Control{PROP:From} = SELF.Q
wClass.NewCheck PROCEDURE
tmp SIGNED
CODE
CLEAR(SELF.Q)
SELF.Q.Field &= NEW BYTE
SELF.Q.Control = CREATE(0,CREATE:CHECK)
ADD(SELF.Q)
SELF.W $ SELF.Q.Control{PROP:Use} = SELF.Q.Field
SELF.W $ SELF.Q.Control{PROP:Text} = 'Check ' & RECORDS(SELF.Q)
SELF.W $ SELF.Q.Control{PROP:Xpos} = SELF.W $ SELF.Control{PROP:Xpos} + SELF.W $ SELF.Control{PROP:Width} + 10
SELF.W $ SELF.Q.Control{PROP:Ypos} = SELF.W $ SELF.Control{PROP:Ypos} + RECORDS(SELF.Q) * 10
SELF.W $ SELF.Q.Control{PROP:Hide} = False
wClass.Events PROCEDURE
CODE
CASE EVENT()
OF EVENT:Accepted
SELF.Q.Control = FIELD()
GET(SELF.Q,SELF.Q.Control)
IF NOT ERRORCODE()
SELF.Q.val = SELF.Q.Field
PUT(SELF.Q)
END
END
Код: Выделить всё
SELF.W $ SELF.Q.Control{PROP:Use} = SELF.Q.Field
SELF.Q.Field = 1