Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  4 046

•  TDictionary Custom Sort  6 154

•  Fast Watermark Sources  5 948

•  3D Designer  8 814

•  Sik Screen Capture  6 283

•  Patch Maker  6 698

•  Айболит (remote control)  6 693

•  ListBox Drag & Drop  5 546

•  Доска для игры Реверси  95 794

•  Графические эффекты  6 923

•  Рисование по маске  6 151

•  Перетаскивание изображений  5 077

•  Canvas Drawing  5 456

•  Рисование Луны  5 167

•  Поворот изображения  4 711

•  Рисование стержней  3 321

•  Paint on Shape  2 565

•  Генератор кроссвордов  3 457

•  Головоломка Paletto  2 764

•  Теорема Монжа об окружностях  3 567

•  Пазл Numbrix  2 337

•  Заборы и коммивояжеры  3 022

•  Игра HIP  1 979

•  Игра Go (Го)  1 902

•  Симулятор лифта  2 253

•  Программа укладки плитки  1 963

•  Генератор лабиринта  2 411

•  Проверка числового ввода  2 093

•  HEX View  2 421

•  Физический маятник  2 051

 
скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Delphi Sources

Выравнивание ячеек в TStringGrid



Оформил: DeeCo

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
   Rect: TRect; State: TGridDrawState);

   procedure WriteText(StringGrid: TStringGrid; ACanvas: TCanvas; const ARect: TRect;
     const Text: string; Format: Word);
   const
     DX = 2;
     DY = 2;
   var
     S: array[0..255] of Char;
     B, R: TRect;
   begin
     with Stringgrid, ACanvas, ARect do
     begin
       case Format of
         DT_LEFT: ExtTextOut(Handle, Left + DX, Top + DY,
             ETO_OPAQUE or ETO_CLIPPED, @ARect, StrPCopy(S, Text), Length(Text), nil);

         DT_RIGHT: ExtTextOut(Handle, Right - TextWidth(Text) - 3, Top + DY,
             ETO_OPAQUE or ETO_CLIPPED, @ARect, StrPCopy(S, Text),
             Length(Text), nil);

         DT_CENTER: ExtTextOut(Handle, Left + (Right - Left - TextWidth(Text)) div 2,
             Top + DY, ETO_OPAQUE or ETO_CLIPPED, @ARect,
             StrPCopy(S, Text), Length(Text), nil);
       end;
     end;
   end;

   procedure Display(StringGrid: TStringGrid; const S: string; Alignment: TAlignment);
   const
     Formats: array[TAlignment] of Word = (DT_LEFT, DT_RIGHT, DT_CENTER);
   begin
     WriteText(StringGrid, StringGrid.Canvas, Rect, S, Formats[Alignment]);
   end;
 begin
   // Right-justify columns 0-2 
  // Spalten 0-2 rechts ausrichten. 
  if ACol in [0..2] then
     Display(StringGrid1, StringGrid1.Cells[ACol, ARow], taRightJustify)

     // Center the first row 
    // Erste zeile zentrieren 
    if ARow = 0 then
       Display(StringGrid1, StringGrid1.Cells[ACol, ARow], taCenter)
   end;




Похожие по теме исходники

TStringGridCheker




Copyright © 2004-2025 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте