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

Вниз

Выравнивание текста ячейки в StringGrid   Найти похожие ветки 

 
Khabibulin ©   (2006-12-25 02:18) [0]

Как правильно выравнить текст в строке FixedRows в StringGrid?


 
Германн ©   (2006-12-25 02:28) [1]


>
> Khabibulin ©   (25.12.06 02:18)
>
> Как правильно выравнить текст в строке FixedRows в StringGrid?
>
>

А что значит
> правильно
?


 
Khabibulin ©   (2006-12-25 02:54) [2]

Да просто у меня таблица 7х7 и верхняя строка типа Fixed, и когда я в DrawCell StringGrid"a выравниваю текст по центру, везде все отлично, кроме верхней строки (Fixed)... Там остается изначальный невыравненый текст, а поверх него ложится выровненый и получается каша...


 
Германн ©   (2006-12-25 03:02) [3]


> Khabibulin ©   (25.12.06 02:54) [2]
>
> Да просто у меня таблица 7х7 и верхняя строка типа Fixed,
>  и когда я в DrawCell StringGrid"a выравниваю текст по центру,
>  везде все отлично, кроме верхней строки (Fixed)... Там
> остается изначальный невыравненый текст, а поверх него ложится
> выровненый и получается каша...
>

Приведи код OnDrawCell.


 
Khabibulin ©   (2006-12-25 03:05) [4]

procedure...
var
 X, Y: Integer;
begin
 with TStringGrid(Sender).Canvas do
 begin
   with Rect do
   begin
     X := Left + (Right - Left - TextWidth(TStringGrid(Sender).Cells[ACol,
     ARow])) div 2;
     Y := Top + (Bottom - Top - TextHeight(TStringGrid(Sender).Cells[ACol,
     ARow])) div 2;
   end;

   if (gdFixed in State) then
   begin
     Brush.Color := clBtnFace;
     TextOut(X, Y, TStringGrid(Sender).Cells[ACol, ARow]);
   end
   else
   begin
     if (gdSelected in State) then
     begin
       Brush.Color := clBlue
     end
     else
     begin
       if (ACol = 3) and (ARow = 4) then
       begin
         Brush.Color := clRed ;
       end
       else
       begin
         Brush.Color := clWhite;
       end;
     end;

     TextRect(Rect, X, Y, TStringGrid(Sender).Cells[ACol, ARow]);
     if (gdFocused in State) then
     begin
       DrawFocusRect(Rect);
     end;
   end;
 end;
end;


 
Khabibulin ©   (2006-12-25 18:53) [5]

Народ, помогите мне пожалуйста! Срочно надо...


 
Virgo_Style ©   (2006-12-25 22:34) [6]

В приведенном коде указанной проблемы не наблюдается.

вместо TextOut лучше использовать TextRect.



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

Форум: "Основная";
Текущий архив: 2007.02.18;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.036 c
3-1164292131
Константин_
2006-11-23 17:28
2007.02.18
групировка в sql запросе


1-1167002316
Khabibulin
2006-12-25 02:18
2007.02.18
Выравнивание текста ячейки в StringGrid


1-1166783436
STIK
2006-12-22 13:30
2007.02.18
Сохранение компоненты.


15-1169567372
TIF
2007-01-23 18:49
2007.02.18
Создание своего формата файла


6-1147537557
scolopax
2006-05-13 20:25
2007.02.18
ClientSocket1.Open;





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский