Вверх ↑
Ответов: 1841
Рейтинг: 369
#1: 2011-09-14 11:45:14 ЛС | профиль | цитата
идею понял, думаю можно решить 2 дополнительными блоками:
в первый блок пишем println('Select EventGadget()') и потом все println('Case ',G_id)
а во второй println('EndSelect')...

хотя возможно можно и с 1 блоком всё реализовать но я ещё не до конца разобрался с FTCG (ещё и PB изучаю)
------------ Дoбавленo в 11.45:
да, можно с 1 блоком реализовать...
вот мой вариант hiMainForm.hws и hiButtonGadget.hws.
Сейчас ещё обдумываю структуру MainForm.

hiMainForm.hws

func doStart()

gvar (VarDtType,BLOCK_VARS, BLOCK_PRECEDURE, BLOCK_GADGET, BLOCK_CODE, BLOCK_REPEAT, BLOCK_REPEAT_C, BLOCK_CASE, BLOCK_END)
BLOCK_VARS = block.reggen()
BLOCK_PRECEDURE = block.reggen()
BLOCK_GADGET = block.reggen()
BLOCK_CODE = block.reggen()
BLOCK_REPEAT = block.reggen()
BLOCK_CASE = block.reggen()
BLOCK_END = block.reggen()

block.select(BLOCK_GADGET)
event(onStart)
print('OpenWindow(',code(_id_),',',Left,',',Top,',',Width-10,',',Height-39,',',WindowTitle)
fvar(Sep)
Sep = ','
if (PBSystemMenu = 'True')
print(Sep + '#PB_Window_SystemMenu')
Sep = '|'
end
if (MinimizeGadget = 'True')
print(Sep + '#PB_Window_MinimizeGadget')
Sep = '|'
end
if (MaximizeGadget = 'True')
print(Sep + '#PB_Window_MaximizeGadget')
Sep = '|'
end
if (SizeGadget = 'True')
print(Sep + '#PB_Window_SizeGadget')
Sep = '|'
end
if (Invisible = 'True')
print(Sep + '#PB_Window_Invisible')
Sep = '|'
end
if (TitleBar = 'True')
print(Sep + '#PB_Window_TitleBar')
Sep = '|'
end
if (Tool = 'True')
print(Sep + '#PB_Window_Tool')
Sep = '|'
end
if (BorderLess = 'True')
print(Sep + '#PB_Window_BorderLess')
Sep = '|'
end
if (ScreenCentered = 'True')
print(Sep + '#PB_Window_ScreenCentered')
Sep = '|'
end
switch (WindowsState)
case 'Maximize': print(Sep + '#PB_Window_Maximize')
Sep = '|'
case 'Minimize': print(Sep + '#PB_Window_Minimize')
Sep = '|'
end
if (NoGadgets = 'True')
print(Sep + '#PB_Window_NoGadgets')
Sep = '|'
end
println(')')

block.reg(BLOCK_CODE)
event(onCreate)

block.select(BLOCK_REPEAT)
println('Repeat : Event = WaitWindowEvent()')

block.select(BLOCK_CASE)
println('Select EventGadget()')

sys.initall()

block.select(BLOCK_CASE)
println('EndSelect')

block.select(BLOCK_END)
println('Until Event=#PB_Event_CloseWindow')
end

func doCaption(dt)
println('SetWindowTitle(',code(_id_),',',dt,')')
end
hiButtonGadget.hws

func init()
block.select(BLOCK_GADGET)
print('ButtonGadget(',code(_id_),',',Left,',',Top,',',Width,',',Height,',',Caption)

fvar(Sep)
Sep = ','
switch (TextAlign)
case 'Right': print(Sep + '#PB_Button_Right')
Sep = '|'
case 'Left': print(Sep + '#PB_Button_Left')
Sep = '|'
end
if (Default = 'True')
print(Sep + '#PB_Button_Default')
Sep = '|'
end
if (MultiLine = 'True')
print(Sep + '#PB_Button_MultiLine')
Sep = '|'
end
if (Toggle = 'True')
print(Sep + '#PB_Button_Toggle')
Sep = '|'
end
println(')')

if(linked(onClick))
block.select(BLOCK_CASE)
println('Case ',code(_id_))
event(onClick, Data)
end

end
карма: 1
0