Q&A

  • striggrid의 윗부분을 나눌수 있나요
질문의 제목을 정하기가 정말 애매하군요



제가 바라는 바는 가로로는 번호 세로로는 제목이 있는데 하나가



나뉘어진 항목도 있습니다. 그리고 또한 셀 중간에도 셀 윗부분처럼



편집이 안되면서 제목이 있을수 있을까요 그리고 이것을 저장해야 하는데



정말 설명 드리기도 애매한군요 쩝~ 이해 하시는분이나 저를 도와 주시려는



고마우신분들 보충 설명 바라시면 해드릴테니 도움 주시면 감사하겠습니다.

1  COMMENTS
  • Profile
    김영대 1999.11.23 19:07
    송수현 wrote:

    > 질문의 제목을 정하기가 정말 애매하군요

    > 제가 바라는 바는 가로로는 번호 세로로는 제목이 있는데 하나가

    > 나뉘어진 항목도 있습니다. 그리고 또한 셀 중간에도 셀 윗부분처럼

    > 편집이 안되면서 제목이 있을수 있을까요 그리고 이것을 저장해야 하는데

    > 정말 설명 드리기도 애매한군요 쩝~ 이해 하시는분이나 저를 도와 주시려는

    > 고마우신분들 보충 설명 바라시면 해드릴테니 도움 주시면 감사하겠습니다.



    StringGrid를 다루는 다른 정보는

    제 홈페이지(http://myhome.shinbiro.com/~cozykyd/index.htm)의

    "Delphi Tip" 에서 "StringGrid" 키워드로 검색해 보세요



    unit Unit1;



    interface



    uses

    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

    Grids;



    type

    TForm1 = class(TForm)

    StringGrid1: TStringGrid;

    procedure StringGrid1DrawCell(Sender: TObject; Col, Row: Integer;

    Rect: TRect; State: TGridDrawState);

    procedure StringGrid1SelectCell(Sender: TObject; Col, Row: Integer;

    var CanSelect: Boolean);

    procedure FormCreate(Sender: TObject);

    private

    { Private declarations }

    public

    { Public declarations }

    end;



    var

    Form1: TForm1;



    implementation

    {$R *.DFM}



    // StringGrid1의 프로퍼티 setting

    // DefaultDrawing := True

    // Options에 goEditing 추가



    procedure TForm1.FormCreate(Sender: TObject);

    var

    i, j: Integer;

    begin

    StringGrid1.RowCount := 6;

    StringGrid1.ColCount := 5;



    // Column의 title을 만든다

    for i := 1 to StringGrid1.ColCount - 1 do

    begin

    StringGrid1.Cells[i, 0] := Char(Ord('A')+i-1); // 제목

    StringGrid1.Cells[i, 3] := Char(Ord('E')+i-1); // 제목



    StringGrid1.Cells[i, 1] := Format('%.0n', [i * 1 * 10000.0]); // 값

    StringGrid1.Cells[i, 2] := Format('%.0n', [i * 2 * 10000.0]); // 값

    StringGrid1.Cells[i, 4] := Format('%.0n', [i * 3 * 10000.0]); // 값

    StringGrid1.Cells[i, 5] := Format('%.0n', [i * 4 * 10000.0]); // 값

    end;

    end;



    procedure TForm1.StringGrid1DrawCell(Sender: TObject; Col, Row: Integer;

    Rect: TRect; State: TGridDrawState);

    begin

    if Row = 3 then

    begin

    with (Sender as TstringGrid).Canvas do

    begin

    // 버튼 모양을 그린다

    DrawFrameControl(Handle, Rect, DFC_BUTTON,

    DFCS_BUTTONPUSH {or DFCS_FLAT} or DFCS_ADJUSTRECT);

    Brush.Style := bsClear;

    Font.Color := clBlack;

    TextRect(rect, rect.left+2, rect.top+2,

    TStringGrid(Sender).Cells[Col, Row]);

    end;

    end;

    end;



    procedure TForm1.StringGrid1SelectCell(Sender: TObject; Col, Row: Integer;

    var CanSelect: Boolean);

    begin

    if Row = 3 then

    StringGrid1.Options := StringGrid1.Options - [goEditing]

    else

    StringGrid1.Options := StringGrid1.Options + [goEditing];

    end;



    end.