728x90
반응형
프로그레스바의 색을 바꾸는 방법은 매우 간단합니다.
위 그림을 보면, 붉은색으로 색을 변경하였는데, SendMessage로 메시지를 보내면 색 변경이 가능합니다.
SendMessage(ProgressBar1.Handle, PBM_SETBARCOLOR, 0, RGB(255, 0, 0));
PBM_SETBARCOLOR 상수가 CommCtrl에 정의되어 있으므로, 그 유닛을 포함해 줘야만 컴파일이 성공적으로 됩니다.
아래 위 데모의 예제 소스를 첨부합니다.
위 그림을 보면, 붉은색으로 색을 변경하였는데, SendMessage로 메시지를 보내면 색 변경이 가능합니다.
SendMessage(ProgressBar1.Handle, PBM_SETBARCOLOR, 0, RGB(255, 0, 0));
PBM_SETBARCOLOR 상수가 CommCtrl에 정의되어 있으므로, 그 유닛을 포함해 줘야만 컴파일이 성공적으로 됩니다.
아래 위 데모의 예제 소스를 첨부합니다.
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, ComCtrls, CommCtrl; type TProgressBarColorChangeForm = class(TForm) pbChangeColor: TProgressBar; btnGO: TButton; tmrStep: TTimer; procedure btnGOClick(Sender: TObject); procedure tmrStepTimer(Sender: TObject); private { Private declarations } public { Public declarations } end; var ProgressBarColorChangeForm: TProgressBarColorChangeForm; implementation {$R *.dfm} procedure TProgressBarColorChangeForm.btnGOClick(Sender: TObject); begin Timer1.Enabled := True; ProgressBar1.Position := 0; SendMessage(ProgressBar1.Handle, PBM_SETBARCOLOR, 0, RGB(255, 0, 0)); end; procedure TProgressBarColorChangeForm.tmrStepTimer(Sender: TObject); begin ProgressBar1.StepBy(3); Timer1.Enabled := ProgressBar1.Max <> ProgressBar1.Position; end; end.
'프로그래밍 > 델파이' 카테고리의 다른 글
Live Templates(라이브 템플릿) (0) | 2009.09.18 |
---|---|
델파이 컴파일러를 감염시키는 바이러스 주의(델파이 4~7) (0) | 2009.08.24 |
비스타(Vista)에서 ActiveX UAC 관련 문제 (2) | 2009.07.08 |
ActiveForm의 DAX 오류 해결하기. (0) | 2009.06.18 |
TADOStoredProc를 통한 저장 프로시저 호출하기 (0) | 2009.04.26 |