1
진행률 표시 줄을 게이지로 교체하고 싶습니다. 여기에 진행률 표시 줄에 버전 :타이머가있는 루핑 TGauge
procedure TForm1.tmr1Timer(sender: TObject);
begin
pb0.Position := (pb0.Position + 1) mod pb0.Max;
end;
는 그리고이
procedure TForm1.tmr1Timer(sender: TObject);
begin
gauge.MinValue := 0;
gauge.MaxValue := 100;
gauge.Progress := gauge.Progress + 1;
end;
게이지
에 어떻게 그것이 (100)에 도달 할 때마다 다시 시작하기 위해? 테스트 버튼으로 시도 했으므로 진행률 표시 줄처럼 반복 할 수 없습니다.procedure TForm1.btn6Click(sender: TObject);
begin
tmr1.Enabled := not tmr1.Enabled;
begin
gauge.Progress := 0;
tmr1.Enabled := True
end;
if Form1.gauge.Progress = 100 then // is this correct ?
// what to do to make it looping ?
end;
위의 진행률 표시 줄 + 타이머 대신 게이지 기능을 동일하게 만드는 방법은 무엇입니까?
굉장 경우! Ken White White 감사합니다 – Bianca
이 코드는 MinValue가 0 인 경우에만 작동합니다. 또한 진행률을 MaxValue와 동일하게 설정하지 않습니다. 당신은 MinValue + (Progress + 1) mod (MaxValue-MinValue +1) –
@David : XE5 VCL 테스트 응용 프로그램에서 작동했습니다. 게시 된 것과 똑같이, 기본값 인'MinValue = 0'과'MaxValue = 100' (테스트를 위해 타이머를 250ms로 설정). 질문의 의도는 0으로 되돌리고 다시 시작하는 것이므로 MaxValue로 진행 상황을 설정해도 문제가되지 않습니다. 그것이 100 %를 치면 완료 될 것이고, 다시 0으로 돌아가는 것에는 아무런 포인트가 없을 것입니다, 그렇습니까? 당신은 0이 아닌 MinValues에 대해 아마 맞을 것이다; 곧 업데이트 될 것입니다 (약 2 분 안에 무언가가 중간에 있음). –