Q&A

  • 스트링 그리드에서 셀이 선택시 셀 색상 변경 막기
스트링 그리드에서 셀이 선택되면 선택된 셀은 특정 생상, 보통 파란색으로 바뀌게 됩니다.

단순히 표의 기능을 수행하기 위해서는 위와 같은 기능은 불필요 한데요..

어떻게 처리를 해야 선택된 셀의 색상이 바뀌지 않게 됩니까?
4  COMMENTS
  • Profile
    최용일 2004.03.24 20:55
    안녕하세요. 최용일입니다.

    스트링그리드의 OnDrawCell이벤트에서 보통이든 선택되었든 똑같은 색으로 그리도록 해보세요...

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

  • Profile
    안명호 2004.03.24 21:07
    빠른 답변 감사드립니다.

    일단 색상이 선택되는건 해결하였습니다.

    스트링 그리드의 속성중 DefaultDrawing 을 false로 설정하고 OnDrawCell 에서 모든 출력 처리를 담당하도록 하였습니다.

    그런데 다시 문제에 부딪쳤습니다. ^^*

    셀을 그릴때 배경색이 설정이 되지 않는 문제 입니다.

    여러개의 스트링 그리드를 함께 처리하기 위해 이벤트 처리를 한 프로시져로 처리하기위해 코딩을 하였습니다.

      if Acol = 0 then
        (Sender as TStringGrid).Brush.Color := (Sender as TStringGrid).FixedColor
      else
        (Sender as TStringGrid).Brush.Color := (Sender as TStringGrid).Color;

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

      if Acol = 0 then begin
        DrawText((Sender as TStringGrid).Canvas.Handle,
                 PChar((Sender as TStringGrid).Cells[ACol, ARow]),
                 -1,
                 Rect,
                 DT_SINGLELINE or DT_CENTER or DT_VCENTER);

      end

    API 를 이용한 문자 출력은 정상적으로 적용이 되는데..

    배경은 적용이 되지 않습니다.

    도와주세요...

  • Profile
    최용일 2004.03.25 00:34
    안녕하세요. 최용일입니다.

    배경색 설정하는 부분에서 Canvas가 빠져있네요...

      if Acol = 0 then
        (Sender as TStringGrid).Canvas.Brush.Color := (Sender as TStringGrid).FixedColor
      else
        (Sender as TStringGrid).Canvas.Brush.Color := clred;

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

  • Profile
    안명호 2004.03.25 02:47
    앗 그런 실수를...ㅡㅡ;

    감사합니다.. ^^*

    • 김기원
      2004.03.25 01:57
      * 일반 네트워환경에서 하실 경우.. - 버전관리 할 서버에 폴더 공유 - 공유폴더에 ini 등의 환경설정 ...
    • 박수영
      2004.03.24 22:57
      저두 그런 작업을 하려구 알아보는 중이거든요... FTP나 Socket을 활용하면 된다는디... FTP는 저는 ...
    • KDDG_Cali
      2004.03.24 21:58
      뭐 여러가지 방법이 있겠지만... 단순하게 현재의 버전이나 빌드넘버를 프로그램 내에 기억하고 있다가 ...
    • KDDG_Cali
      2004.03.24 21:17
      WinExec(DriverPath ,SW_Show);   -> 요 부분을 WinExec(pChar(DriverPath) ,SW_Show); ...
    • 왕초보
      2004.03.24 21:45
    • 박수영
    • 2004.03.24 20:42
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 너구리
      2004.03.24 22:55
      제가 안을 뒤져 보진 않았어도 절대 세지 않고 RecordCount에 값이 실제 레코드수와 같을수는 없습니다....
    • 장태원
      2004.03.24 22:07
      그런 기능은 없습니다. 차라리 sum 하는 쿼리를 한번 더 날리는게 빠릅니다.
    • 최용일
      2004.03.24 20:53
      안녕하세요. 최용일입니다. 델파이 VCL은 유니코드를 지원하지 않습니다. TQuery컴포넌트도 마찬가지...
    • 휴초보
      2004.03.24 21:50
      tnt 패키지에서 별도의 퀴리 콤포넌트는 찾아보았는데 없구요 MS-SQL에서는 저장이 제대로 되는것(?) 같은...
    • 최용일
      2004.03.25 00:39
      안녕하세요. 최용일입니다. Tnt 패키지에 쿼리 컴포넌트는 없네요.... 유니코드를 지원하는 필드는 ...
    • 안명호
    • 2004.03.24 19:53
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2004.03.24 20:55
      안녕하세요. 최용일입니다. 스트링그리드의 OnDrawCell이벤트에서 보통이든 선택되었든 똑같은 색으로 ...
    • 안명호
      2004.03.24 21:07
      빠른 답변 감사드립니다. 일단 색상이 선택되는건 해결하였습니다. 스트링 그리드의 속성중 DefaultD...
    • 최용일
      2004.03.25 00:34
      안녕하세요. 최용일입니다. 배경색 설정하는 부분에서 Canvas가 빠져있네요...   if Acol ...
    • 안명호
      2004.03.25 02:47
      앗 그런 실수를...ㅡㅡ; 감사합니다.. ^^*
    • 김승재
    • 2004.03.24 19:14
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 연기훈
      2004.03.24 19:33
      자식 폼의 OnClose 이벤트 에다가    Action := caFree; 이걸 코딩 해주세요.. 그럼 C...
    • 김승재
      2004.03.24 19:50
      ^^
    • 김병만
    • 2004.03.24 04:23
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 김병만
      2004.03.26 06:22
      ...
    • KDDG_Cali
      2004.03.24 18:17
      델파이를 깔면 BDE도 자동적으로 인스톨 되기때문에 개발PC에서는 에러가 나지 않는거고 운영PC에 ...
    • 김기원
      2004.03.24 22:05
      별도로 BDE를 설치 하지 못할 경우에는 인스톨쉴드를 이용해서 프로그램 배포시 BDE 설치도 가능합니다...
    • 미러
    • 2004.03.24 03:40
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 홍성락
      2004.03.24 08:10
      그냥, 마지막 ShowMessage(IntToStr(ExcelSheet.UsedRange.Rows.count) + '건의 자료를 변환하였습니다');...
    • 민상익
    • 2004.03.24 03:22
    • 2 COMMENTS
    • /
    • 0 LIKES
    • KDDG_Apine
      2004.03.24 04:53
      글쎄요....  이걸 어떻게 하면 쉽게 볼수 있을까요.. 방법은 여러가지가 있겠지만 쉽게 ...
    • 박정훈
      2004.03.24 05:04
      저같은 경우는 무식하게 합니다만.. 음.. 좀 무식한.. ^^;;; sql := 'SELECT name FROM member WHERE id...
    • 윤태일
    • 2004.03.24 00:18
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 김진석
    • 2004.03.23 22:45
    • 1 COMMENTS
    • /
    • 0 LIKES
    • K모씨
      2004.03.24 00:04
      SQL 서버 포트(일반적으로 1433)으로 텔넷 접속 혹은 TCPClient의 접속 여부
    • 휴초보
    • 2004.03.23 20:40
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 박수영
      2004.03.25 01:30
      RoundTo라는 함수를 무슨 용도로 쓰실려는 건지... 기본 수학함수에 Round는 있어도 RoundTo는 없...
    • 너구리
      2004.03.23 20:44
      에러에서 보시다 시피 Tform1.RoundTo 입니다. TForm1 에 정의 되있지 않는건데요.. TForm1을 빼...
    • 휴초보
      2004.03.23 19:51
      Access 의 버젼이 97이면 자료실에 있는 암호찾기 프로그램으로 찾을 수 있고요, 2000 버젼이면 HEX Edit...
    • 배정은
      2004.03.23 22:24
      감사합니다. HEX Editor로 해당 프로그램을 열어는데 찾을수가 없네요. 어떻게 찾아야 할지 찾는 방법좀 ...
    • 휴초보
      2004.03.23 22:27
      프로그램과 데이타를 보내주시면 찾아드릴께요... 무리가 된다면 Hex editer로 처음부터 찾아야 합니다. ...
    • 류광석
    • 2004.03.23 17:34
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 류광석
      2004.03.23 22:08
      헉!~ 답변은 너무너무 감사합니다만.. 제 질문이 약간 빗나간 것일까요? ^^ 제가 바라는건 그 창에 있는 ,...
    • 너구리
      2004.03.24 01:46
      실시간으로 입력 된다는..  시점이  좀 애매 한데요.. DB화 시킨다는것도 좀 애매 ...
    • 류광석
      2004.03.24 02:52
      옷~ 답변 감사합니다. 제가 바라던.. 그 문제를 맞게 지적하신것 같아요. 근데 이상하게 왜 제가 보고있는...
    • 너구리
      2004.03.23 21:11
      ㅋㅋㅋ 메뉴를 보니 침이 질질 복분자도 파는군요... 일단 테이블부터 만들어야 겠지요.. 테이블은 ...
    • 키키
    • 2004.03.23 02:16
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 박수영
    • 2004.03.23 01:46
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 박정훈
      2004.03.24 05:20
      zeos 5.x 에서는 커넥션 타임이랑 retry 횟수를 정할수 있었는데 6.x 부터는 그게 없더군요. 음.. 일...
    • 연기훈
      2004.03.23 22:23
      원하시는 답은 아니구여... 저같은 경우엔.. 이렇게 합니다.... 프로그램 실행하고서 에러가 발생하...
    • 박수영
      2004.03.23 23:40
      감사합니다...
    • 김병희
    • 2004.03.23 01:28
    • 0 COMMENTS
    • /
    • 0 LIKES