![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() ![]() |
![]() |
APAL |
![]()
Сообщение
#1
|
![]() Смотрю... ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: ![]() ![]() ![]() |
Подскажите как изменить (пример - сделать жирным) текст в заголовках колонок таблицы TStringGrid?
Нашел вроде бы Tabl.Cells.Canvas.Font.Style:=[fsBold]; - да не работает... ![]() Сообщение отредактировано: APAL - 12.04.2004 16:50 -------------------- |
KRUTOY |
![]()
Сообщение
#2
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 68 Пол: Мужской Репутация: ![]() ![]() ![]() |
APAL
stringgrid1.Font.Style:=[fsBold]; а в Cells надо указывать номер строки и столбца: Cells[i,j] Сообщение отредактировано: KRUTOY - 12.04.2004 18:12 -------------------- Главное - чтобы воля была, к победе...
|
APAL |
![]()
Сообщение
#3
|
![]() Смотрю... ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: ![]() ![]() ![]() |
Цитата(KRUTOY @ 12.04.04 19:08) APAL stringgrid1.Font.Style:=[fsBold]; а в Cells надо указывать номер строки и столбца: Cells[i,j] Спасибо! Работает! Вроде мелочь, но я замучился с ней... ![]() -------------------- |
APAL |
![]()
Сообщение
#4
|
![]() Смотрю... ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: ![]() ![]() ![]() |
Только теперь другая проблема...
Жирный шрифт нужен был для заголовков колонок - он им и становиться, но после возврата предидущего стиля заголовки опять стандартного стиля. Как сделать раздельное определение стиля на разные ячейки, а не на всю таблицу целиком? Код procedure TfMain.TablEnter(Sender: TObject); Var Style: TFontStyles; begin Style := Tabl.Font.Style; // Получение стиля текущего шрифта. Tabl.Font.Style:=[fsBold]; Tabl.Cells[0,0]:='Дата'; Tabl.Cells[1,0]:='Время'; Tabl.Cells[2,0]:='№ документа'; Tabl.Cells[3,0]:='Документ'; Tabl.Cells[4,0]:='Сумма'; Tabl.Cells[5,0]:='Получатель'; Tabl.Cells[6,0]:='Поставщик'; Tabl.Cells[7,0]:='Информация'; { Tabl.Font.Style:=Style; } end; -------------------- |
KRUTOY |
![]()
Сообщение
#5
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 68 Пол: Мужской Репутация: ![]() ![]() ![]() |
Да, проблемка, попробуй что-нибудь с Canvas-ом:
Tab1.Canvas.textout...или textrect(cellsrect(0,0),0,0,'hsgjkfsk'); Tab1.Canvas.Font.Style... Сообщение отредактировано: KRUTOY - 12.04.2004 21:09 -------------------- Главное - чтобы воля была, к победе...
|
APAL |
![]()
Сообщение
#6
|
![]() Смотрю... ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: ![]() ![]() ![]() |
Еще есть какие нибудь идеи???
-------------------- |
P@sh@ |
![]()
Сообщение
#7
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 180 Пол: Мужской Репутация: ![]() ![]() ![]() |
Попробуй запихать смену шрифта в обработчик OnDrawCell, в зависимости от координаты
|
APAL |
![]()
Сообщение
#8
|
![]() Смотрю... ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: ![]() ![]() ![]() |
Искал, читал, так и не понял как это реализовать.
-------------------- |
KRUTOY |
![]()
Сообщение
#9
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 68 Пол: Мужской Репутация: ![]() ![]() ![]() |
Попробуй этот код!!!!!! МОжно даже разными цветами!!
я думаю,для себя приспособишь... в цикле if...then параметр смени; запускай,кликай по Stringgrid-у ![]() Код type TForm1 = class(TForm) StringGrid1: TStringGrid; procedure StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); procedure StringGrid1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); const CharOffset = 3; begin with StringGrid1.canvas do begin if State=[gdFixed]then begin font.color := clMaroon; font.Style:=[fsBold]; textout(rect.left + CharOffset, rect.top + CharOffset, 'Lloyd'); font.color := clNavy; font.Style:=[]; textout(rect.left + CharOffset + TextWidth('L'), rect.top + CharOffset, 'loyd'); end else end; end; procedure TForm1.StringGrid1Click(Sender: TObject); begin Stringgrid1.Font.Style:=[]; Stringgrid1.Cells[2,2]:='kruto'; Stringgrid1.Cells[3,3]:='офонареть'; end; end. Сообщение отредактировано: KRUTOY - 21.04.2004 19:33 -------------------- Главное - чтобы воля была, к победе...
|
APAL |
![]()
Сообщение
#10
|
![]() Смотрю... ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: ![]() ![]() ![]() |
Спасибо, KRUTOY!
Немного подкорректировал и все заработало как надо! -------------------- |
KRUTOY |
![]()
Сообщение
#11
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 68 Пол: Мужской Репутация: ![]() ![]() ![]() |
Без моргания??
-------------------- Главное - чтобы воля была, к победе...
|
APAL |
![]()
Сообщение
#12
|
![]() Смотрю... ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: ![]() ![]() ![]() |
Никакого моргания не наблюдаю...
Привожу итоговый код: Код procedure TfMain.TablEnter(Sender: TObject); begin Tabl.Cells[0,0]:='Дата'; Tabl.Cells[1,0]:='Время'; Tabl.Cells[2,0]:='№ документа'; Tabl.Cells[3,0]:='Документ'; Tabl.Cells[4,0]:='Сумма'; Tabl.Cells[5,0]:='Получатель'; Tabl.Cells[6,0]:='Поставщик'; Tabl.Cells[0,1]:='Информация'; Tabl.Cells[1,1]:='Информация'; Tabl.Rowcount:=Tabl.Rowcount+1; Tabl.Cells[0,2]:='Информация'; Tabl.Cells[1,2]:='Информация'; Tabl.Rowcount:=Tabl.Rowcount+1; Tabl.Cells[0,3]:='Информация'; Tabl.Cells[1,3]:='Информация'; Tabl.Rowcount:=Tabl.Rowcount+1; Tabl.Cells[0,4]:='Информация'; Tabl.Cells[1,4]:='Информация'; Tabl.Rowcount:=Tabl.Rowcount+1; Tabl.Cells[0,5]:='Информация'; Tabl.Cells[1,5]:='Информация'; end; procedure TfMain.TablDrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); const CharOffset = 2; begin With TStringGrid(Sender),TStringGrid(Sender).Canvas Do Begin IF (Odd(ARow)) then Brush.Color:=$f7f9fc else If ARow<>0 then Brush.Color:=Cl3Dlight; IF ARow<>0 then FillRect(Rect); TextOut(Rect.Left+2,Rect.Top+2,Cells[ACol,ARow]); End; with Tabl.canvas do begin if State=[gdFixed]then begin font.Style:=[fsBold]; textout(rect.left + CharOffset, rect.top + CharOffset, Tabl.Cells[ACol,Arow]); end else font.Style:=[fsBold]; end; end; Сообщение отредактировано: APAL - 25.04.2004 15:06 -------------------- |
KRUTOY |
![]()
Сообщение
#13
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 68 Пол: Мужской Репутация: ![]() ![]() ![]() |
тоже столкнулся с этой проблемой, только при появлении скролла Stringgrid-a
отрисовка глючит, надо свой обработчик писать... ![]() -------------------- Главное - чтобы воля была, к победе...
|
APAL |
![]()
Сообщение
#14
|
![]() Смотрю... ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: ![]() ![]() ![]() |
А вот скролл я еще не испытывал... :o
-------------------- |
KRUTOY |
![]()
Сообщение
#15
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 68 Пол: Мужской Репутация: ![]() ![]() ![]() |
надо вместо TextOut использовать:
SG.Canvas.TextRect(SG.CellRect(0,0),SG.CellRect(0,0).left+ch, -------------------- Главное - чтобы воля была, к победе...
|
![]() ![]() |
![]() |
Текстовая версия | 20.06.2025 21:13 |