Форум: "Основная";
Текущий архив: 2005.10.02;
Скачать: [xml.tar.bz2];
ВнизFlexСel Найти похожие ветки
← →
trash_s (2005-09-12 19:25) [0]Кто работал с FlexCel? Есть ли автоподгонка ширины колонок при работе с компонентом FlexCelImport. Пару методов (добавление/удаление листов) случайно нашол, в хелпе их нет. Может в хелпе еще чего нет?
← →
trash_s (2005-09-13 18:55) [1]Видимо придется самому расчитать ширину колонки.
← →
trash_s (2005-09-14 14:15) [2]Написал что-то типа:
procedure AutoWidthCol(FlexCelImport: TFlexCelImport; Col: integer);
var Canvas: TCanvas;
row, MaxColWidth, FontColor, width: integer;
text: string;
begin
Canvas := TCanvas.Create;
try
Canvas.Handle := GetDC(GetDesktopWindow());
for row := 1 to FlexCelImport.MaxRow do begin
Canvas.Font.Name := FlexCelImport.CellFormatDef[row,Col].Font.Name;
Canvas.Font.Size := Round(FlexCelImport.CellFormatDef[row,Col].Font.Size20 / 20);
Canvas.Font.CharSet := FlexCelImport.CellFormatDef[row,Col].Font.CharSet;
Canvas.Font.Style := [];
if flsBold in FlexCelImport.CellFormatDef[row,Col].Font.Style then
Canvas.Font.Style := Canvas.Font.Style + [fsBold];
if flsItalic in FlexCelImport.CellFormatDef[row,Col].Font.Style then
Canvas.Font.Style := Canvas.Font.Style + [fsItalic];
//увеличить строку на один символ, на всякий случай
text := "8" + XlsFormatValue(FlexCelImport.CellValue[row,Col],
FlexCelImport.CellFormatDef[row,Col].Format, FontColor);
width := Canvas.TextWidth(text);
if MaxColWidth < width then MaxColWidth := width;
end;
FlexCelImport.ColumnWidth[Col] := Round(MaxColWidth * ColMult);
finally
Canvas.Free;
end;
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.10.02;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.01 c