Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.02.18;
Скачать: CL | DM;

Вниз

Выравнивание текста ячейки в 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.036 c
1-1166806267
urulet
2006-12-22 19:51
2007.02.18
TabControl


2-1170152950
Destroyer
2007-01-30 13:29
2007.02.18
Правильная кодировка в .bat файле


2-1169717730
kilonet
2007-01-25 12:35
2007.02.18
Защита данных в EXE файле


5-1148857887
Delphi_uzer
2006-05-29 03:11
2007.02.18
обработчик события OnClick для динамически созданых компонентов


2-1169345000
ol_nazgul
2007-01-21 05:03
2007.02.18
ComboBox дублирование строк