Q&A

  • stringgrid 칼럼(세로로한줄) 바탕색 넣기
초보입니다. ㅠㅠ;

여기저기 찾아보고 해 봤는데,,

생각같이 되지 않습니다.



========== ( 예 ) ===============================

1 2 3 4 5

aa bb bb cc dd

aa bb bb cc dd

aa bb bb cc dd

aa bb bb cc dd

aa bb bb cc dd



4번 새로줄에 대해 바탕색을 노란색으로 준다면.. 어떻게 하나요?





3  COMMENTS
  • Profile
    초보 2000.11.07 03:57
    김명찬 wrote:

    > 초보입니다. ㅠㅠ;

    > 여기저기 찾아보고 해 봤는데,,

    > 생각같이 되지 않습니다.

    >

    > ========== ( 예 ) ===============================

    > 1 2 3 4 5

    > aa bb bb cc dd

    > aa bb bb cc dd

    > aa bb bb cc dd

    > aa bb bb cc dd

    > aa bb bb cc dd

    >

    > 4번 새로줄에 대해 바탕색을 노란색으로 준다면.. 어떻게 하나요?

    >

    > procedure Tfrm_AAA.Stringgrd_DrawCell(Sender: TObject; ACol,

    ARow: Integer; Rect: TRect; State: TGridDrawState);

    if (ACol = 1) then begin

    brush.color := clTeal;

    fillrect(rect);

    end;

    end;

  • Profile
    김명찬 2000.11.07 19:14
    > procedure Tfrm_AAA.Stringgrd_DrawCell(Sender: TObject; ACol,

    > ARow: Integer; Rect: TRect; State: TGridDrawState);

    > if (ACol = 1) then begin

    > brush.color := clTeal;

    > fillrect(rect);

    > end;

    > end;



    답변 감사합니다.

    그런데... 이런 에러가 나타납니다. 죄송합니다.

    워낙 초보라서....



    Incompatible types :'HDC' and 'TRECT'



    어케야 하나요?

  • Profile
    초보 2000.11.07 23:46
    김명찬 wrote:

    > > procedure Tfrm_AAA.Stringgrd_DrawCell(Sender: TObject; ACol,

    > > ARow: Integer; Rect: TRect; State: TGridDrawState);

    > > if (ACol = 1) then begin

    > > brush.color := clTeal;

    > > fillrect(rect);

    > > end;

    > > end;

    >

    > 답변 감사합니다.

    > 그런데... 이런 에러가 나타납니다. 죄송합니다.

    > 워낙 초보라서....

    >

    > Incompatible types :'HDC' and 'TRECT'

    >

    > 어케야 하나요?



    죄송합니다.

    빼먹었더군요....

    이대로 필요한 부분만 골라서 코딩해주면 될겁니다.

    즐거운 하루가 되시길......



    procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;

    Rect: TRect; State: TGridDrawState);

    var

    left, Top: integer;

    dataincell : string;

    begin

    with (sender as TStringGrid).canvas do begin

    if ARow = 0 then begin

    dataincell := (sender as TStringGrid).cells[acol, arow];

    left := rect.left + ((rect.right-rect.left) - textwidth(dataincell)) div 2;



    brush.color := clTeal;

    Font.Color := clWhite;

    Font.Style := [fsbold];



    fillrect(rect);

    textrect(rect, left, rect.top+7, dataincell);



    end

    else

    if (ACol = 1) then begin

    brush.color := clyellow;

    fillrect(rect);

    end

    else begin

    dataincell := (sender as TStringGrid).cells[acol, arow];

    left := rect.left + 3;



    fillrect(rect);

    textrect(rect, left, rect.top+7, dataincell);

    end; //if-end;



    end;

    end;



    procedure TForm1.FormCreate(Sender: TObject);

    begin

    with StringGrid1 do begin

    Cells[0,0] := '그대로'; ColWidths[0] := 60;

    Cells[1,0] := '바뀌었죠?'; ColWidths[1] := 200;

    Cells[2,0] := '그대로'; ColWidths[2] := 60;

    Cells[3,0] := '그대로'; ColWidths[3] := 200;

    Cells[4,0] := '그대로'; ColWidths[4] := 60;

    end; //with_end;

    end;