Q&A

  • DBGRID의 특정셀을 깜박이게 할수있나요?
아래처럼 그리드의 비율에따른 그래프가 바로 옆필드에 표시되고
그 표시된 그래프가 비율에 따라서 깜박이게 하고 싶습니다..
경험이 부족해서.. 자주 도움을 청하게 되네요...

[예]

부서        최초보유     소모     현보유        비율        그래프
-------------------------------------------------------------
인사과      110             60         50              40%        노란색 그래프
홍보과      210             20       190            90%          파랜색 그래프
관리과      310             300      10              10%          노란색 그래프


이런식으로 바로 옆필드에 .. 그래프로 비율에 따른 색상으로 표시를
했는데.. 비율값이 50% 이하일때 그래프 색은 노란색이거든요..
이것을 깜박이게 할수는 없을까요?..... 경고음도 들어가면 좋구요..


dbgird 그래프 표시예문)  
----------------------------
procedure TForm2.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
  tmpRect : TRect;
begin
  with TDBGrid(Sender).Canvas do
    begin
       Brush.Style := bsSolid;
       Brush.Color := clWindow;
       FillRect(Rect);
       tmpRect := Rect;

       if (Column.FieldName = 'Qty') then
         begin
           inc(tmpRect.Top,2);
           dec(tmpRect.Bottom,2);
           if column.Field.AsInteger < 3 then
             begin
               Brush.Color := clBlue;
               tmpRect.Right := Rect.Left + round((Rect.Right - Rect.Left) * 0.3);
             end
           else if column.Field.AsInteger < 5 then
             begin
               Brush.Color := clYellow;
               tmpRect.Right := Rect.Left + round((Rect.Right - Rect.Left) * 0.5);
             end
           else
             begin
               Brush.Color := clRed;
               tmpRect.Right := Rect.Left + round((Rect.Right - Rect.Left) * 0.8);
             end;
         end;

       if (gdFocused in State) or (gdSelected in State) then begin
           Brush.Color := clHighlight;
           Font.Color := clHighlightText;
       end;
       FillRect(tmpRect);

       if (Column.FieldName = 'Qty') then
         begin
           Brush.Color := clBlack;
           FrameRect(tmpRect);
         end
       else
         begin
           TextOut(Rect.Left+2,Rect.Top+2,Column.Field.AsString);
         end;
       Brush.Style := bsSolid;
       Brush.Color := clWindow;
   end;
end;


0  COMMENTS
    • 백록화
      2004.11.09 20:48
      yo Open 말고 ExecSQL 메소드를 사용해 보세요..
    • 박원용
    • 2004.11.09 16:21
    • 6 COMMENTS
    • /
    • 0 LIKES
    • 모영철
      2004.11.09 19:21
    • 박원용
      2004.11.09 20:48
    • 모영철
      2004.11.09 22:31
    • 박원용
      2004.11.09 22:35
    • 박원용
      2004.11.09 23:06
    • 박원용
      2004.11.09 23:42
    • 김도형
    • 2004.11.09 06:43
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 하얀까마귀
      2004.11.19 19:43
      안녕하세요 하얀까마귀 입
    • 소원석
      2005.05.13 03:20
      답변 감사합니다.. 정확히 알려 드리겠습니다. 컴퓨터 외부에서 음성 소스가 들어옵니다.... 외부 장비...
    • 진돌
    • 2004.11.09 03:21
    • 1 COMMENTS
    • /
    • 0 LIKES
    • KDDG_BaSTaD
      2004.11.10 01:17
      ==> 안녕하세요 KDDG_BaSTaD 입니닷.. TVirtualStringTree.OnChecking 이벤트가 상태가 바뀌기 전에 ...
    • 최용일
      2004.11.09 02:38
      안녕하세요. 최용일입니다... 인디 데모에 있는 파일들을 한번씩 보세요. 대강 인디가 어떻게 작동하는...
    • 델피언
      2004.11.09 04:19
      죄송하지만 Indy 데모 어디서 구하나요?  델파이 데모에는 없습니다만..
    • 최용일
      2004.11.09 04:51
      안녕하세요. 최용일입니다. 아래 사이트에 있습니다. http://www.indyproject.org/ ^^ 항상 즐코...
    • 최용일
      2004.11.09 02:50
      안녕하세요. 최용일입니다. 흠... 질문내용이 답변을 하기엔 많이 부족한데.... typedef절에 선언되...
    • 가리
      2004.11.10 00:39
      답변 정말로 감사 드립니다. 저도 최용일님처럼 해서 해결을 할려고 했는데.... 초기 한번만 이벤트가 떨...
    • 유응철
    • 2004.11.09 00:56
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 김형우
    • 2004.11.08 20:37
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 황법모
    • 2004.11.08 19:33
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이추형
      2004.11.09 02:43
      음성인식을 통한 혹은 필기내용(모니터가 터치스크린을 지원한다면)을 저장하는 메모장은 어떨까요?
    • 구창민
      2004.11.09 00:54
      안녕하세요.. 메모를 그림으로 남길 수 있도록 해 보는것은 어떨까요? ^_^; 다른 분들은 레포트라고 ...
    • 최용일
      2004.11.09 02:53
      안녕하세요. 최용일입니다. 자료실에 있는 ACM관련된 컴포넌트 사용해보세요... www.torry.net같은데...
    • 홍명기
      2004.11.09 06:09
      답변에 감사드립니다.. 그런데요.. acm.zip 을받아 압축을풀고 install component 하면요.. 자꾸 [Fatal ...
    • 최용일
      2004.11.09 06:43
      안녕하세요. 최용일입니다. 'SimpleTimer.dcu' ... 이 에러는 ACM컴포넌트하고 상관이 없습니다. 말...
    • 이두형
    • 2004.11.08 04:29
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 백록화
      2004.11.08 11:57
      var aCheckBox: Array Of TCheckBox; nI: Integer; begin SetLength(aCheckBox,3); aCheckBox...
    • 이두형
      2004.11.09 22:46
      답변 감사드립니다!! 정말 이렇게 하니 해결이 되었어요~ 감사감사!  복받으세요!! ^^ 그런데 ...
    • 백록화
      2004.11.10 05:58
      yo` 우선 FindComponent 는...말 그대로 콤포넌트를 찾는것입니다. 자세한것은 에프원 아저씨 한테 물...
    • 이두형
      2004.11.10 09:46
      정말 제가 원하던 명쾌한 답변입니다!!! +.+ 완벽하게 해결이 되었어요. 이런이런.. 감격의 눈물이.. ㅠ....
    • 채팅
      2004.11.08 19:47
      저희 제품(NetServer)을 한번 테스트해 보시죠. http://enserver.co.kr 오라클이랑 bde나 ADO등을 엮...
    • 일그니
      2004.11.07 06:18
      지금부터 제가 하는말은 무조건 저의 개인적인 경험들에 의거한것입니다. 다른분들이 저와는 정반대의 경...
    • KDDG_RNStone
      2004.11.06 20:33
      에러 구문으로만 보자면 until은 어떤 조건의 참, 거짓을 판단 할 수 있어야 하는데 지금 and 연산만 가지...
    • 앤디
    • 2004.11.06 12:52
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 하얀까마귀
      2004.11.23 03:00
      안녕하세요 하얀까마귀 입니다.. 말씀하신건 콤포넌트가 상당히 많은걸로 아는데요... 음.. 오래전에
    • 박원용
    • 2004.11.06 07:43
    • 0 COMMENTS
    • /
    • 1 LIKES
    • 백록화
      2004.11.06 19:44
      yo` 흠...글쎄요...필요하신건 다 요청하세요 -,.ㅡ;;; . 업무분석및 흐름도(플로우차트?) . 테이...
    • 이두형
    • 2004.11.06 05:07
    • 1 COMMENTS
    • /
    • 0 LIKES
    • ㉳㉥ㅗ㉣ㅐ㉧ㅛ
      2004.11.06 18:06
      Component에 Tag 란 것이 있습니다... 예처럼 45개의 CheckBox가 있다고 가정하면 1~45까지의 숫자...
    • 최용일
      2004.11.06 04:39
      안녕하세요. 최용일입니다. 위에서 부터 차례대로 BOOL, PByte, DWORD, PDWORD, Word, Byte, LPSTR ...
    • Zamclub.com
      2004.11.06 06:27
      답변중에 c++의 bool이 델에서도 bool인데요.. c++로 만든 dll에서 bool _stdcall InitializeTem...
    • 최용일
      2004.11.06 07:10
      안녕하세요. 최용일입니다. 델파이 문법에 대한 책한권 사서 보세요... 델파이 함수는 C/C++에 비해 ...