Q&A

  • stringgrid 에서 선택한 셀(가로줄) 모두 바탕색을 변경할려면...???
안녕하세요..



stringgrid 에서 특정셀 (2,2) 같은 경우에는 아래와 같이 한다지만..



----------------------

procedure TwaitingForm.StringGrid3DrawCell(Sender: TObject; ACol,

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

begin

if (col=2) and (row=2) then

begin

TStringGrid(Sender).Canvas.Brush.Color := clYellow;

TStringGrid(Sender).Canvas.FillRect(Rect);

end;

end;

----------------------



마우스로 클릭한 라인의 바탕색을 변경 시키고자 할때는 어떻게 하면 되는지요???





4  COMMENTS
  • Profile
    최용일 2000.05.02 02:37
    안녕하세요. 최용일입니다.



    State파라매터를 이용하세요.



    procedure TwaitingForm.StringGrid3DrawCell(Sender: TObject; ACol,

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

    begin

    ...

    if [gdSelected] in State then // 셀이 현재 선택되어 있다면...

    ....

    if [gdFocused] in State then // 셀이 현재 입력 포커스를 가지고 있다면...

    ....

    if [gdFixed] in State then // 셀이 고정된형(FixedColumn or FixedRow)이라면...

    ....

    ...

    end;



    ^^ 항상 즐코하세요.



    이수정 wrote:

    > 안녕하세요..

    >

    > stringgrid 에서 특정셀 (2,2) 같은 경우에는 아래와 같이 한다지만..

    >

    > ----------------------

    > procedure TwaitingForm.StringGrid3DrawCell(Sender: TObject; ACol,

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

    > begin

    > if (col=2) and (row=2) then

    > begin

    > TStringGrid(Sender).Canvas.Brush.Color := clYellow;

    > TStringGrid(Sender).Canvas.FillRect(Rect);

    > end;

    > end;

    > ----------------------

    >

    > 마우스로 클릭한 라인의 바탕색을 변경 시키고자 할때는 어떻게 하면 되는지요???

    >

    >

  • Profile
    이수정 2000.05.02 05:24
    최용일 wrote:

    > 안녕하세요. 최용일입니다.

    >

    > State파라매터를 이용하세요.

    >

    > procedure TwaitingForm.StringGrid3DrawCell(Sender: TObject; ACol,

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

    > begin

    > ...

    > if [gdSelected] in State then // 셀이 현재 선택되어 있다면...





    작성한 코딩 내용 :



    if gdSelected in State then begin

    TStringGrid(Sender).Canvas.Brush.Color := clYellow;

    TStringGrid(Sender).Canvas.FillRect(Rect);

    end;



    요렇게만 하니까.. 아무 변화가 없네요..

    셀렉트된 칼럼과 로우의 convas 라는걸 알려줘야 할듯한데..

    우찌 하는지.. 헐...

    > ....

    > if [gdFocused] in State then // 셀이 현재 입력 포커스를 가지고 있다면...

    > ....

    > if [gdFixed] in State then // 셀이 고정된형(FixedColumn or FixedRow)이라면...

    > ....

    > ...

    > end;

    >

    > ^^ 항상 즐코하세요.

    >





  • Profile
    최용일 2000.05.02 06:46
    안녕하세요. 최용일입니다.



    어떤식으로 하실려는지 잘 모르겠군요. 아래와 같이 하면 현재 선택된 셀이 노랗게 표시되는데...



    물론 셀의 내용은 표시되진 않구요.



    아마도 아무 변화가 없다는 것은 StringGrid의 OnDrawCell이벤트에 링크가 안되있는 것 같은데...

    안되있다면 Object Inspector의 StringGird1 이벤트탭에서 OnDrawCell이벤트로 링크시켜주세요...



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

    Rect: TRect; State: TGridDrawState);

    begin

    if gdSelected in State then

    begin

    TStringGrid(Sender).Canvas.Brush.Color := clYellow;

    TStringGrid(Sender).Canvas.FillRect(Rect);

    // 아래 구문을 추가하면 셀이 선택될때 바탕이 노랗게 표시됩니다.

    // 물론 셀의 내용도 표시되구요.

    // TStringGrid(Sender).Canvas.TextOut(Rect.Left+2, Rect.Top+2, TStringGrid(Sender).Cells[ACol, ARow]);



    end;

    end;



    ^^ 항상 즐코하세요.



    이수정 wrote:

    > 최용일 wrote:

    > > 안녕하세요. 최용일입니다.

    > >

    > > State파라매터를 이용하세요.

    > >

    > > procedure TwaitingForm.StringGrid3DrawCell(Sender: TObject; ACol,

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

    > > begin

    > > ...

    > > if [gdSelected] in State then // 셀이 현재 선택되어 있다면...

    >

    >

    > 작성한 코딩 내용 :

    >

    > if gdSelected in State then begin

    > TStringGrid(Sender).Canvas.Brush.Color := clYellow;

    > TStringGrid(Sender).Canvas.FillRect(Rect);

    > end;

    >

    > 요렇게만 하니까.. 아무 변화가 없네요..

    > 셀렉트된 칼럼과 로우의 convas 라는걸 알려줘야 할듯한데..

    > 우찌 하는지.. 헐...

    > > ....

    > > if [gdFocused] in State then // 셀이 현재 입력 포커스를 가지고 있다면...

    > > ....

    > > if [gdFixed] in State then // 셀이 고정된형(FixedColumn or FixedRow)이라면...

    > > ....

    > > ...

    > > end;

    > >

    > > ^^ 항상 즐코하세요.

    > >

    >

    >

  • Profile
    최석기 2000.05.02 02:25
    스트링그리드에서 선색을 바꾸는 방법입니다.



    말씀하신게 이걸 말하는지 잘 의미를 모르겠어서요..



    참고만 하세요..



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

    Rect: TRect; State: TGridDrawState);

    begin

    if (Arow <> 0) and (ACol <> 0) then // 고정 행 및 고정 칼럼은 선 그리기 제외

    begin

    with StringGrid1.Canvas do

    begin

    Pen.Width := 2 ;

    Pen.Style := psSolid ;

    Pen.Color := clBlue ;



    MoveTo(Rect.Left, Rect.Top) ;

    LineTo(Rect.right, Rect.Top) ; // 윗쪽 선



    MoveTo(Rect.Left, Rect.Bottom) ;

    LineTo(Rect.right , Rect.Bottom) ; // 아래쪽 선







    MoveTo(Rect.Left, Rect.Top) ;

    LineTo(Rect.Left, Rect.Bottom) ; // 왼쪽 세로선



    MoveTo(Rect.right, Rect.Top) ;

    LineTo(Rect.right, Rect.Bottom) ; // 오른쪽 세로선





    FillRect(Rect) ;

    end ;

    end ;

    end;



    이수정 wrote:

    > 안녕하세요..

    >

    > stringgrid 에서 특정셀 (2,2) 같은 경우에는 아래와 같이 한다지만..

    >

    > ----------------------

    > procedure TwaitingForm.StringGrid3DrawCell(Sender: TObject; ACol,

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

    > begin

    > if (col=2) and (row=2) then

    > begin

    > TStringGrid(Sender).Canvas.Brush.Color := clYellow;

    > TStringGrid(Sender).Canvas.FillRect(Rect);

    > end;

    > end;

    > ----------------------

    >

    > 마우스로 클릭한 라인의 바탕색을 변경 시키고자 할때는 어떻게 하면 되는지요???

    >

    >

    • 이승우
    • 2000.05.02 02:45
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 한창희
      2000.05.02 04:08
      이승우 wrote: > 현재 CBM POS 프린터기를 사용합니다. > 프린터 메뉴얼에서 제공하는 제어코드(ESC CODE...
    • 최종민
    • 2000.05.02 02:36
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 화랑
      2000.05.02 19:14
      최종민 wrote: > 아주 쉬운 질문입니다... > > TChart에서 데이터를 실시간으로 보여줄 수 있나요... ...
    • 김태균
      2000.05.02 20:14
      ActiveX폼을 생성하구 컴포넌트를 그대로 카피해서 옮기구 소스를 그대로 복사해 버리면 됩니다.
    • 변인호
      2000.05.02 04:08
      이수정 wrote: > > Web Deployment Options 메뉴가 비활성화 되어 있으면.. > > 어떻게 되나요?? ...
    • 최용일
      2000.05.02 04:21
      안녕하세요. 최용일입니다. ActiveX는 특별한 형식을 가지고 있으므로 일반어플리케이션을 ActiveX로 ...
    • 이수정
    • 2000.05.02 02:21
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.05.02 02:37
      안녕하세요. 최용일입니다. State파라매터를 이용하세요. procedure TwaitingForm.StringGrid3DrawCe...
    • 이수정
      2000.05.02 05:24
      최용일 wrote: > 안녕하세요. 최용일입니다. > > State파라매터를 이용하세요. > > procedure Twait...
    • 최용일
      2000.05.02 06:46
      안녕하세요. 최용일입니다. 어떤식으로 하실려는지 잘 모르겠군요. 아래와 같이 하면 현재 선택된 셀이 ...
    • 최석기
      2000.05.02 02:25
      스트링그리드에서 선색을 바꾸는 방법입니다. 말씀하신게 이걸 말하는지 잘 의미를 모르겠어서요.. ...
    • 조씨
    • 2000.05.02 01:04
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 어린왕자
      2000.05.02 01:30
      조씨 wrote: > 리스트박스의 아이템을 다른리스트박스로 드레그엔드롭 할려고하는데... > 잘안되서....여...
    • 권오길
    • 2000.05.02 00:56
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 공성환
      2000.05.02 09:56
      권오길 wrote: > 안녕하세요. > > 파일서버(sun)과 pc의 특정디렉토리에 있는 파일의 정보를 서로 비교...
    • 어린왕자
      2000.05.02 01:08
      최상열 wrote: > 새로운 컴포넌트를 만들때 unit을 만들고 컴파일해서 등록하잖아요? > 그런데 컴파일 해...
    • 이쁜이
      2000.05.12 23:10
      어린왕자 wrote: > 최상열 wrote: > > 새로운 컴포넌트를 만들때 unit을 만들고 컴파일해서 등록하잖아요...
    • 어린왕자
      2000.05.13 02:35
      이쁜이 wrote: > 어린왕자 wrote: > > 최상열 wrote: > > > 새로운 컴포넌트를 만들때 unit을 만들고 컴...
    • 김일영
      2000.05.02 03:21
      제가 환경이 안 되는 관계로 직접 해보지는 못했습니다만, Image 컨트롤에서 Image.Picture.SaveToFile은 ...
    • 어린왕자
      2000.05.02 03:28
      김일영 wrote: > 제가 환경이 안 되는 관계로 직접 해보지는 못했습니다만, > Image 컨트롤에서 Image.Pi...
    • 정주희
    • 2000.05.01 21:18
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 강민주
      2000.05.01 21:27
      정주희 wrote: > 여러폼을 생성시 hide 해주었다. 한꺼번에 보든 show 해주고 싶어요 > 메세지 프로그램...
    • heimdal
    • 2000.05.01 21:04
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 변인호
      2000.05.01 22:50
      heimdal wrote: > 안녕하세여..델초보입니다.. > > 폼크기를 정하는데여...모니터에 맞게 최적화할려면...
    • heimdal
      2000.05.02 01:08
      변인호 wrote: > heimdal wrote: > > 안녕하세여..델초보입니다.. > > > > 폼크기를 정하는데여...모...
    • 변인호
      2000.05.02 04:15
      heimdal wrote: > 변인호 wrote: > > heimdal wrote: > > > 안녕하세여..델초보입니다.. > > > > > >...
    • 하얀까마귀
      2000.05.01 20:52
      안녕하세요 하얀까마귀 입니다.. 자동증가는 디비에서 구현하시면 될것 같네요... client/Server라면...
    • 하얀까마귀
      2000.05.01 21:42
      안녕하세요 하얀까마귀 입니다... 좀더 자세히.. 알려 드릴려면 디비가 뭔지 알아야 되는데.... 모든...
    • 권용민
    • 2000.05.01 20:35
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 하얀까마귀
      2000.05.01 20:59
      안녕하세요 하얀까마귀 입니다.. 다른폼이든 같은 폼이든 프로시져 내에 있는 지역변수를 부르는 건 안...
    • 조유정
    • 2000.05.01 19:54
    • 2 COMMENTS
    • /
    • 0 LIKES
    • ACCESS
      2000.05.01 20:11
      조유정 wrote: > 안녕하셔요... > 유니온이 잘 안되네요 > > Select A.Chgodate, A.Chcode, D.ChName,...
    • 하얀까마귀
      2000.05.01 20:07
      안녕하세요 하얀까마귀 입니다. 우선 쿼리에 큰 잘못은 없어 보이구요... 쿼리해온 필드의 갯수나 타...
    • Jservant
    • 2000.05.01 19:02
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 하얀까마귀
      2000.05.01 20:15
      안녕하세요 하얀까마귀 입니다... 음.. 질문의 내용을 정확히는 잘 모르겠습니다만.. 다른 두개의 ...
    • changhwan
    • 2000.05.01 17:40
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 하얀까마귀
      2000.05.01 20:23
      안녕하세요 하얀까마귀 입니다... ......????? 페이지 콘트롤기능이나 이미지나 뭐 이런건 상관 없구...
    • changhwan
      2000.05.01 22:55
      Access violation at address 00403052 in module ' Project.exe', read of address FFFFFFF4.이라는 메세...
    • 하얀까마귀
      2000.05.01 23:58
      안녕하세요 하얀까마귀 입니다.. 역시... .. 이 에러는 무언가 잘못되긴 했는데... 뭐가 잘모되었는지 ...