PaletteBorderColors(PaletteID: String): Array;
PaletteBorderColors(PaletteID: string): System.Array;
PaletteID. Идентификатор палитры.
Метод PaletteBorderColors используется для получения массива основных цветов границ по идентификатору палитры.
Для получения массива строк с идентификаторами альтернативных наборов палитр используйте метод IVisStyleProvider.PaletteIDs.
Для выполнения примера предполагается наличие формы, содержащей компонент ComboBox с идентификатором «ComboBox1», компонент UiTabSheet с идентификатором «UiTabSheet1», компонент TabSheetBox с идентификатором «TabSheetBox1». Укажите «UiTabSheet1» в качестве источника данных для «TabSheetBox1». Компонент «ComboBox1» содержит список стилей.
Пример является обработчиком события OnChange для компонента «ComboBox1».
Добавьте ссылку на системную сборку Drawing.
Sub ComboBox1OnChange(Sender: Object; Args: IEventArgs);
Var
sp: IVisStyleProvider;
TabSheet: ITabSheet;
count, i, Index: Integer;
Item: String;
BorderColor: Array Of Integer;
Begin
sp := New VisStyleProvider.Create;
TabSheet := UiTabSheet1.TabSheet;
Index := ComboBox1.ItemIndex;
Item := ComboBox1.Items.Item(Index);
BorderColor := sp.PaletteBorderColors((Item="default")?"":Item);
For i := 0 To sp.PaletteIDs.Length-1 Do
TabSheet.Cell(i,count).Style.BorderColor(TabBorder.Outline) := GxColor.FromValue(BorderColor[i]*-1);
End For;
count := count + 1;
End Sub ComboBox1OnChange;
При выборе стиля из раскрывающегося списка «ComboBox1» происходит заливка ячеек табличного листа согласно выбранному стилю.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore. Вместо компонентов Fore используйте их Fore.NET аналоги
Imports Prognoz.Platform.Interop.Tab;
Imports Prognoz.Platform.Interop.Drawing;
…
Private Sub comboBox1_SelectedValueChanged(sender: System.Object; e: System.EventArgs);
Var
sp: IVisStyleProvider;
TabSheet: ITabSheet;
count, i, Index: Integer;
Item: object;
BorderColor: Array Of Integer;
GxColor: GxColorClassClass = New GxColorClassClass();
value: uinteger;
Begin
sp := New VisStyleProvider.Create();
TabSheet := uiTabSheetNet1.TabSheetUi.TabSheet;
Index := comboBox1.SelectedIndex;
Item := comboBox1.Items.Item[Index];
BorderColor := sp.PaletteBorderColors((Item="default")?"":Item);
For i := 0 To sp.PaletteIDs.Length-1 Do
value := (BorderColor[i]*-1) As uinteger;
TabSheet.Cell[i,count].Style.BorderColor(TabBorder.Outline) := GxColor.FromValue(value);
End For;
count := count + 1;
End Sub;
См. также: