Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.07.17;
Скачать: [xml.tar.bz2];

Вниз

Формат ячеек в StringGrid   Найти похожие ветки 

 
Lexa2504   (2003-06-24 10:07) [0]

Уважаемые знатоки, у меня в программе данные выводятся при помощи StringGrid. Для "красоты оформления" программы нужно, чтобы одни ячейки были одного шрифты, "жирные" и выровнены влево, другие - наобарот, все по-другому ... Как это осуществить? И возможно ли это сделать этим компонентом?


 
Соловьев   (2003-06-24 10:12) [1]

лови событие
TDrawCellEvent = procedure (Sender: TObject; ACol, ARow: Longint; Rect: TRect; State: TGridDrawState) of object;
property OnDrawCell: TDrawCellEvent;

(Sender as TStringGrid).Canvas....


 
Семен Сорокин   (2003-06-24 10:13) [2]

надо обрабатывать OnDrawCell


 
Lexa2504   (2003-06-24 10:36) [3]

Если я делаю на OnDrawCell так :
If (ACol=0) Or (ARow=0) Then
begin
(Sender as TStringGrid).canvas.Font.Style:=[fsBold];
end
else
begin
(Sender as TStringGrid).canvas.Font.Style:=[fsItalic];
end;
то не видно никакого результата

Если без canvas
If (ACol=0) Or (ARow=0) Then
begin
(Sender as TStringGrid).Font.Style:=[fsBold];
end
else
begin
(Sender as TStringGrid).Font.Style:=[fsItalic];
end;
то на форме нет половины компонентов и StringGrid "дрожит" ...


 
Семен Сорокин   (2003-06-24 10:41) [4]

with TstringGrid(Sender) do
if (ACol=0) Or (ARow=0) Then begin
Canvas.Font.Style := [fsBold];
Canvas.TextOut(Rect.Left+2, Rect.Top+2, Cells[ACol, ARow])
end
else begin
Canvas.Font.Style := [fsItalic];
Canvas.TextOut(Rect.Left+2, Rect.Top+2, Cells[ACol, ARow])
end;


 
NAlexey   (2003-06-24 10:44) [5]

Щас насчет фона будет пост наверное...


 
Lexa2504   (2003-06-24 10:50) [6]

Спасибо, все получилось.
Последний глупый вопрос, выравнивание можно как-то сделать или только таким "макаром" - Rect.Left+2, Rect.Top+2 ?


 
Семен Сорокин   (2003-06-24 10:53) [7]

Lexa2504 (24.06.03 10:50)
вычисли середину Rect"a, вычти половину длины печатаемого текста Canvas.textHeight(...) div 2, твари и создавай :))


 
Anatoly Podgoretsky   (2003-06-24 11:02) [8]

SetTextAlign не устроит?


 
Lexa2504   (2003-06-24 11:16) [9]

Семен Сорокин ©
Canvas.TextHeight(Cells[ACol, ARow])
Почему-то, и для "23" и для "8" дает одну цифру =20.
Шрифт - MS Sans Serif.


 
Sandman25   (2003-06-24 11:24) [10]

Lexa2504 (24.06.03 11:16)
TextWidth



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.07.17;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.008 c
3-55476
caesar
2003-06-25 17:01
2003.07.17
DBLookupListBox


14-55761
vuk
2003-07-02 20:34
2003.07.17
Вот я не понял...


3-55456
Kpax
2003-06-25 10:26
2003.07.17
TDBComboBox или?...


1-55515
Poirot
2003-07-04 10:36
2003.07.17
Проблема с хранением больших числовых массивов


1-55571
Franzy
2003-07-02 17:16
2003.07.17
Run-time Resizeble components





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский