Q&A

  • DBGrid에서 선택된 칼럼의 색을 바꿔주는 기능
DBGrid에서 하나의 Row를 선택하고 버튼을 클릭하면 해당 Row의 바탕색이나 글자색이 빨간색으로 바꼈으면 좋겠는데요..

   DBGrid1.Canvas.Font.Color := clGray;
   DBGrid1.Canvas.Brush.Color := clGray;

뭐..이렇게 해갖고는 다음에 어케해야할지 모르겠네여..
고수님들 부탁 좀 드립니다.
힌트라도 좀 주세요ㅜ.ㅜ
1  COMMENTS
  • Profile
    김영대 2003.04.09 09:00
    // 안녕하세요  김영대(http://www.howto.pe.kr) 입니다  
    // 아래 예제는 선택된 컬럼의 타이틀과 필드를 다른 색으로 나타내는것입니다

    unit Unit1;

    interface

    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, DB, Grids, DBGrids, DBTables;

    type
      TForm1 = class(TForm)
        Table1: TTable;
        DBGrid1: TDBGrid;
        DataSource1: TDataSource;
        procedure DBGrid1ColEnter(Sender: TObject);
        procedure DBGrid1ColExit(Sender: TObject);
        procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
          DataCol: Integer; Column: TColumn; State: TGridDrawState);
      private
        { Private declarations }
      public
        { Public declarations }
      end;

    var
      Form1: TForm1;

    implementation

    {$R *.dfm}

    procedure TForm1.DBGrid1ColEnter(Sender: TObject);
    begin
      // 선택된 필드의 title 색을 파란색으로 굵게 ...
      DBGrid1.Columns[DBGrid1.SelectedIndex].Title.Font.Color := clRed;
      DBGrid1.Columns[DBGrid1.SelectedIndex].Title.Font.Style :=
      DBGrid1.Columns[DBGrid1.SelectedIndex].Title.Font.Style + [fsBold];
      DBGrid1.Repaint;
    end;

    procedure TForm1.DBGrid1ColExit(Sender: TObject);
    begin
      // 원래대로...
      DBGrid1.Columns[DBGrid1.SelectedIndex].Title.Font.Color := clBlack;
      DBGrid1.Columns[DBGrid1.SelectedIndex].Title.Font.Style :=
      DBGrid1.Columns[DBGrid1.SelectedIndex].Title.Font.Style - [fsBold];
      DBGrid1.Repaint;
    end;

    procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    begin
      with TDBGrid(Sender).Canvas do
      begin
        if (gdFocused in State) or (gdSelected in State) then
        begin
          Brush.Color := clYellow;
          Font.Color  := clBlack;
        end;
        FillRect(Rect);
        TextOut(Rect.Left+2, Rect.Top+2, Column.Field.AsString);
        Brush.Style := bsSolid;
      end;
    end;

    end.
    • 장경석
    • 2003.04.09 10:20
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 장경석
      2003.04.09 11:44
      ...
    • 그냥
      2003.04.09 11:18
    • 임성옥
    • 2003.04.09 08:27
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김영대
      2003.04.09 09:00
      // 안녕하세요  김영대(http://www.howto.pe.kr) 입니다   // 아래 예제는 선택된 컬...
    • 초보델
    • 2003.04.09 07:06
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김영대
      2003.04.09 09:05
      // 안녕하세요  김영대(http://www.howto.pe.kr) 입니다   // 질문을 잘 모르겠지만 ...
    • 공세영
    • 2003.04.09 07:02
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 그냥
      2003.04.09 07:31
      세상에... 이렇게 막무관에 올리면 어쩝니까..-- 배움에 의지가 없어 보이는..--; 요즘 비베 컨버팅 ...
    • 김병곤
      2003.04.09 08:44
    • 공세영
      2003.04.09 07:57
      잘하시는분들에게야 당연히 쉬운건데 그럼 쉬운거라고 쓰지 뭐라씁니까 배운지 한달도 안되서 다 생소한...
    • 그냥
      2003.04.09 08:28
      문법도 아니고 간단한 메시지 띄우는건데 지금 님께서 올리신거는 책한번 들쳐보면 나오는 구문을 찾아...
    • 고가람
    • 2003.04.09 05:43
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 그냥
      2003.04.09 07:12
      팬낼이 폼의 메시지를 처리하게 맹글면 됩니다. 전역변수 var   Wnd : TWndMethod; proc...
    • 이정택
    • 2003.04.09 04:01
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2003.04.09 04:41
      안녕하세요. 최용일입니다. 폼의 OnCreate이벤트에서 크기를 재입력하시던가, TFlatEdit컨트롤을 서브...
    • 이원상
    • 2003.04.09 03:40
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 거리
      2003.04.09 20:45
      안녕하세요..거리입니다. 2칼라라면 (검정,흰색)...즉, 그레이 스케일이 맞죠? bitmap을 그레이스케...
    • KDDG_ZZOM
      2003.04.09 04:03
      이런식으로 해보세요... procedure TForm1.Button1Click(Sender: TObject); var   BMP ...
    • 델피언
      2003.04.09 02:33
      델파이 자체에서는 그림파일의 색상을 변경하는 기능이 없습니다. 델파이 관련 이미지 컴포넌트중에 그...
    • 그냥
    • 2003.04.09 02:05
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 박상윤
      2003.04.10 00:18
      음 멀티미어계층은 1.vfw(Video for Window) 2.ACM(audio Compresstion Manger) 3.VCM(Video &nbs...
    • 황영신
    • 2003.04.09 00:48
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 타락천사
      2003.04.09 21:30
      안녕하세여.. 타락임다.. 음, 그렇게 해도 되겠지만, 많은 양의 데이터를 메세지로 보내려면, WM_COPYDA...
    • 혜월
      2003.04.09 01:25
      Sendmessage로 던져야 하는거 아닌가요 ? PostMessage는 string형을 못 던지는걸로 알고 있는데...
    • 장용준
      2003.04.09 02:40
      PostMessage 도 string 넘어 가는데여 ^^; 주의할 점은 메시지가 간혹가다  공중분해 된다는......
    • 혜월
      2003.04.09 18:55
      와~ 정말 되네요. 여기껏 PostMessage는 string을 못 넘기는 줄 알았는데. 좋은거 배웠습니다. 감사. ^^...
    • 초보델
    • 2003.04.09 00:24
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 이대성
    • 2003.04.09 00:19
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2003.04.09 01:46
      안녕하세요. 최용일입니다. 델파이의 Single형과 같네요... 아래와 같이 변형하세요... procedure TF...
    • vngkgkgk
    • 2003.04.08 23:36
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 그냥
      2003.04.08 23:46
      글자색을 바꾸려면요.. Font.Color 에 컬러 값을 넣어주면 됩니다. Ex.  Form1.Font.Color...
    • vngkgkgk
      2003.04.08 23:57
      ////////////////////////////////////////////////////////////// 폼을 클릭하면요... 숫...
    • 그냥
      2003.04.09 01:43
      질문이 좀 명료하지 않군요.. 저는 님이 컴포넌트를 이용하시는줄 알았습니다. 아래에 컬러변경하는 부...
    • 김명석
    • 2003.04.08 23:03
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 오병주
      2003.04.08 23:07
      델파이를 설치하셨다면 데모 프로그램이 있습니다. 자세하게 잘나와있습니다. 왠만한건 다 해결하실...
    • 정종필
    • 2003.04.08 21:34
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 아폴론
    • 2003.04.08 21:19
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 아폴론
      2003.04.09 00:46
      이럴때 에러가 납니다. Tdate := formatdatetime('yyyy-mm-dd', date); //시스템의 날짜를 가져올때 ...
    • 최남선
      2003.04.09 00:37
      jpg로 바꿔서 저장을 하실때 TJpegImage를 사용하셨으면 CompressionQuality라는 속성을 바꾸는 방법이 있...
    • 박경진
    • 2003.04.08 21:12
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이병훈
      2003.04.09 10:12
      안녕하세요. 훔. 어떤 결과를 원하시는지 잘 몰라서 그냥 나름대로 해 보았습니다. ^^;; create ta...
    • KDDG_Hoya
      2003.04.08 21:01
      BCP.exe 를 활용하세요.
    • 델초보여요
      2003.04.08 21:32
      BCP.exe 가 어떤건가여... 제가 워낙 초보라서여... 알려주세요. 어떻게 사용하면 되는지. 아님 어디를 ...
    • KDDG_Hoya
      2003.04.09 02:36
      SQL 도움말에서 참고하시면 됩니다. DTS, BCP를 응용하여 보세요.