Contact US

Log In

Come Join Us!

Are you a
Computer / IT professional?
Join Tek-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!

*Tek-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Graphical User Interface

How do I right justify text in a StringGrid? by towerbase
Posted: 30 Apr 03

It is fairly easy to right justify text in a String Grid (a similar technique can be used in a Draw Grid).

First you need to set the string grid DefaultDrawing property to False.

Second you need to write a handler for the string grid's OnDrawCell event.

The event handler should look something like:

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);
  text: string;
  WidthOfText: integer;
  WidthOfCell: integer;
  LeftOffset: integer;
 with StringGrid1 do begin
  text := Cells[ACol,ARow];
  WidthOfText := Canvas.TextWidth(text);
  WidthOfCell := ColWidths[ACol];
  LeftOffset := WidthOfCell - WidthOfText;

You may wish to enhance this code by changing the brush and pen properties of the string grid's canvas to introduce colour.  

You may also wish to centre the text vertically in the cell in which case you will find the TextHeight function useful.


Back to Embarcadero: Delphi FAQ Index
Back to Embarcadero: Delphi Forum

My Archive

Close Box

Join Tek-Tips® Today!

Join your peers on the Internet's largest technical computer professional community.
It's easy to join and it's free.

Here's Why Members Love Tek-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close