Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Выравнивание текста ячейки в StringGrid [D7]


Khabibulin ©   (2006-12-25 02:18:00) 

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


Virgo_Style   (2006-12-25 22:34:00) [1]

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

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


Khabibulin   (2006-12-25 18:53:00) [2]

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


Khabibulin   (2006-12-25 03:05:00) [3]

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;


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


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

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


Khabibulin   (2006-12-25 02:54:00) [5]

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


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


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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо