Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.051 c
1-1167212309
Grant
2006-12-27 12:38
2007.02.18
Запись и чтение экземпляра класса в файл


2-1170086679
Patrick
2007-01-29 19:04
2007.02.18
Нулевое время


3-1164264466
pavel_guzhanov
2006-11-23 09:47
2007.02.18
Как сделать, чтобы если в диалоге ввода логина и пароля


3-1164717372
newby
2006-11-28 15:36
2007.02.18
Максимальное количество полей в Access


15-1169618650
Бумер2
2007-01-24 09:04
2007.02.18
Бумер2




   Наверх