Kommunerne har digitaliseret indgangen for borgerne. Men bag skærmen håndteres mange arbejdsgange stadig manuelt mellem systemer, mails og organisatoriske siloer.
Det rigtige er at bruge OnDrawCell event som hejhej foreslår. Når først man ser lyset mht OnDrawCell eventen, så er det meget nemt. Da man selv kontrollerer visningen kan man vise teksten i hver celle nøjagtig som man vil.
procedure HoejreJustereCell(StringGrid: TStringGrid; Col, Row: Integer); 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, StringGrid.CellRect(Col, Row), S, Formats[Alignment]); end; begin Display(StringGrid, StringGrid.Cells[Col, Row], taRightJustify) end;
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); begin if ARow = 1 then HoejreJustereCell(StringGrid1, ACol, ARow); if ACol = 3 then HoejreJustereCell(StringGrid1, ACol, ARow);
HoejreJustereCell(StringGrid1, 1, 4); end;
procedure TForm1.FormCreate(Sender: TObject); var col, row: Integer; begin for col := 1 to 4 do for row := 1 to 4 do begin StringGrid1.Cells[col,row] := 'hej'; end; end;
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.