Thema: Delphi TStringgrid Problem

Einzelnen Beitrag anzeigen

zack0r

Registriert seit: 5. Jan 2005
Ort: Rosenheim
25 Beiträge
 
#1

TStringgrid Problem

  Alt 20. Feb 2005, 21:09
Hallo!

Also ich habe folgendes Problem mit einem TStringGrid: ich bin dabei eine Software für Zeiterfassung zu programmieren. Die Software ist für den kleinen Betrieb von meinem Vatter bestimmt. Also ich will eigentlich nur das die verschiedenen Felder von dem jeweiligen Mitarbeiter markiert werden und dann bei klick auf einen Button oder bei enter die Zeilen entweder zu einer Zelle verbunden werden sollen oder ein Rahmen um die Zellen gezogen werden soll. Ersteres währe zwar besser aber ich habe es mal mit der zweiten möglichkeit versucht:

Delphi-Quellcode:
procedure TForm1.strgrdDrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);
begin
  with (sender as TStringGrid).Canvas do
  begin
    Pen.Color := clBlack;
    Pen.Width := 2;
    Pen.Style := psSolid;
    MoveTo(strgrd.selection.left, strgrd.selection.top );
    Lineto(strgrd.selection.right, strgrd.selection.top );
    Lineto(strgrd.selection.right, strgrd.selection.bottom );
    Lineto(strgrd.selection.left, strgrd.selection.bottom );
    Lineto(strgrd.selection.left, strgrd.selection.top );
  end;
end;
Damit habe ichs erfolglos versucht wenn ich damit eine Selektion mache und ein strgrd.repaint dann kommt ein ganz kleiner rahmen in die oberste linke Zelle. Wenn ich ein
if (aRow = 10) and (aCol = 5) and not (gdFixed In State) then voransetze und die strgrd.selection's durch rect ersetze klappts. Ich bekomms aber net hin, dass der die Zellen einfach so Excel-like mit dem Rahmen umschließt.
Kann mir vielleicht jemand helfen? Danke!
  Mit Zitat antworten Zitat