MasterGH Опубликовано 10 июля, 2011 Поделиться Опубликовано 10 июля, 2011 Для тех кто хочет использовать этот компонент, а также другие на этом примере с setProperty не из дизайнера создания форм.В данном примере создаётся ListView с 3 столбцами и 3 строками.f=createForm() lv=createListView(f) setProperty(lv, 'ViewStyle', 'vsReport') --non lua exported property but you can access it with this setProperty(lv, 'RowSelect', 'True') setProperty(lv, 'ReadOnly', 'True') lvc=listview_getColumns(lv) column1=listcolumns_add(lvc) column2=listcolumns_add(lvc) column3=listcolumns_add(lvc) listcolumn_setCaption(column1, 'a') listcolumn_setCaption(column2, 'b') listcolumn_setCaption(column3, 'c') lvi=listview_getItems(lv); row1=listitems_add(lvi) listitem_setCaption(row1, 'Row 1'); --rw 1 column a row1_subitems=listitem_getSubItems(row1) --returns a Strings object strings_add(row1_subitems, 'r1_cb') --row 1 column b strings_add(row1_subitems, 'r1_cc') --row 1 column c row2=listitems_add(lvi) listitem_setCaption(row2, 'Row 2'); row2_subitems=listitem_getSubItems(row2) strings_add(row2_subitems, 'r2_cb') strings_add(row2_subitems, 'r2_cc') row3=listitems_add(lvi) listitem_setCaption(row3, 'Row 3'); row3_subitems=listitem_getSubItems(row3) strings_add(row3_subitems, 'r3_cb') strings_add(row3_subitems, 'r3_cc')Источник форум CE. Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 7 августа, 2011 Автор Поделиться Опубликовано 7 августа, 2011 Продолжение о setPropertyЕсли Вы хотите узнать открытые свойства некоторого объекта некоторого класса для использования их в функции setProperty, то это можно сделать, например, так.trainerForm = createForm()print(strings_getText(getPropertyList(trainerForm)))В данном примере вы получите publish свойства. Их вы можете увидеть также в дизайнере форм.NameTagAnchorSideLeftAnchorSideTopAnchorSideRightAnchorSideBottomCursorLeftHeightHintTopWidthHelpTypeHelpKeywordHelpContextHorzScrollBarVertScrollBarAlignAlphaBlendAlphaBlendValueAnchorsAutoScrollAutoSizeBiDiModeBorderIconsBorderStyleBorderWidthCaptionChildSizingClientHeightClientWidthColorConstraintsDefaultMonitorDockSiteDragKindDragModeFontFormStyleIconKeyPreviewParentBiDiModeParentFontPixelsPerInchPositionShowInTaskBarWindowStateDoNotSaveInTable Эти свойства классов вы не найдёте в описании Lua-поддержки.В дизайнере форм вы можете увидеть свойства, которых в подобном списке нет. Это значит, что вы не можете обратиться к ним.Как можно использовать эти свойства? Вот ответ:undefined property functions. Not all properties of all classes have been explicitly exposed to lua, but if you know the name of a property of a specific class you can still access them (assuming they are declared as published in the pascal class declaration)getPropertyList(class) : Returns a stringlist object containing all the published properties of the specified class (free the list when done) (Note, not all classed with properties have 'published' properties. E.g: stringlist)setProperty(class, propertyname, propertyvalue) : Sets the value of a published property of a class (Won't work for method properties)getProperty(class, propertyname) : Gets the value of a published property of a class (Won't work for method properties)Например, я захотел сделать Лейбл названия игры, чтобы он выравнивался по центру, а также чтобы колонка Листбокса выравнивалась по центру..... gameNameLabel = createLabel(trainerForm) control_setCaption(gameNameLabel, "The game") setProperty(gameNameLabel, 'Alignment', 'taCenter') setProperty(gameNameLabel, "AutoSize", "false").... lv = createListView(trainerForm) control_setPosition(lv, 4, 99 + 20) control_setSize(lv, 590, 250-20) -- control_setSize(lv, 350, 250) setProperty(lv, "Checkboxes", "true") setProperty(lv, 'RowSelect', 'True') setProperty(lv, 'ReadOnly', 'True') lvc=listview_getColumns(lv) column2=listcolumns_add(lvc) listcolumn_setCaption(column2, 'Hot-Keys') setProperty(column2, 'Alignment', 'taCenter').... Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения