Q&A

  • advStringGrid에 선택된 row 색깔 넣기
advStringGrid에 체크 박스를 넣고 체크박스에 Checked = true 가 되면서
한줄 (Row)를 모두 색칠 하고 싶은데. 어떻게 해야 합니까??
StringGrid에 있는 걸 적용시켜 보니깐 이상 하던데요..
고수님들 부탁드리겠습니다.
간단한 예문을 하나 던져 주세요...
^^;;;;
그럼.. 즐코 하세염...
2  COMMENTS
  • Profile
    별볼일없는 2002.02.26 21:06

    AdvStringGrid1CheckBoxClick 이벤트에서

       with AdvStringGrid1 do begin
         if acol = 1 then
           begin
             if state = True then  //체크가 되었는지 안되었는지 확인
               begin  //체크가 True
    //              RowBrush[StringAlignGrid1.RowCount-1].Color := clWindow ;
               end
             else
               begin  //체크가 False
    //              RowBrush[StringAlignGrid1.RowCount-1].Color := clblack ;
               end ;
           end
       end ;

    row color 주는 방법이 틀렸네염 찾는데로 수정하겠습니다..

    아니면 아시는분 리플달아주세요 저도 이문제로 10일넘게 고생하고 있습니다.

    - 지나가다...-

  • Profile
    별볼일없는 2002.03.20 01:50
    AdvStringGrid1CheckBoxClick 이벤트에서

       with AdvStringGrid1 do begin
         if acol = 1 then
           begin
             if state = True then  //체크가 되었는지 안되었는지 확인
               begin  //체크가 True
                  cells[3,row] := '#' //특정 셀에 '#'기호를 넣어주고
               end
             else
               begin  //체크가 False
                   cells[3,row] := '' ;
               end ;
           end
       end ;

    procedure Tkunjuk_jubsu_Form.AdvStringGrid1GetCellColor(Sender: TObject;
      ARow, ACol: Integer; AState: TGridDrawState; ABrush: TBrush;
      AFont: TFont);
    begin
       if (arow > 0) and (AdvStringGrid1.cells[3,arow] = '#') then
         begin   //로우가 0이 아니고 셀값이 '#' 일때 색의 변화를 줍니다.(이 이벤트는 셀의 변화가 일어날때 마다 항상 수행합니다.)
           ABrush.Color := $00F3F0E9 ;
           AFont.Style  := [FsBold] ;
         end
       else
         begin
           ABrush.Color := clwithe ;
           AFont.Style  := [] ;
         end ;

    end;


    - 지나가다...-