Текущий архив: 2007.06.24;
Скачать: CL | DM;
Вниз
Компоненты: индикатор отклонения Найти похожие ветки
← →
intNaked (2007-04-26 12:00) [0]Добрый день.
Встала задача реализации в Delphi двухстороннего индикатора отклонений.
Индикатор, скажем в стиле ProgressBar, также должен иметь свойства Min(LeftValue), Max(RightValue) и "точка нуля"(Center). Так вот в зависимости от значения Position должен отклонятся в одну из сторон от точки нуля: влево или вправо. В частности точка нуля может совпадать с граничными точками.
Подскажите пожалуйста, какими путями можно это сделать, возможно без написания своего компонента, или может уже есть готовые?! Буду признателен!
С уважением, intNaked
← →
Jeer © (2007-04-26 12:36) [1]
> ProgressBar
0 == 50
← →
clickmaker © (2007-04-26 12:38) [2]
> без написания своего компонента
PaintBox
← →
tesseract © (2007-04-26 12:40) [3]два прогресбара, на вскидку.
← →
clickmaker © (2007-04-26 12:42) [4]
> [3] tesseract © (26.04.07 12:40)
а он может от конца показывать?
← →
intNaked (2007-04-26 12:53) [5]2 ПрогрессБара не катит, он действительно назад не показывает.
> [1] 0 == 50
Это что значит?
А как это можно сделать с помощью PainBox?
← →
Darvin © (2007-04-26 14:53) [6]Панель тонкая - шкала. Панель другая поверх первой - индикатор. И далее двигаешь вторую панель, управляя свойством Left второй панели, используя положение и размеры первой панели.
← →
clickmaker © (2007-04-26 15:25) [7]
> как это можно сделать с помощью PainBox?
рисовать в событии OnPaint
Canvas.FillRect и т.п.
← →
vl_chel © (2007-04-27 11:55) [8]Есть готовое решение
привожу выдержку из dfm только то что описівает Вашу проблемуobject TrackBar1: TTrackBar
Min = -10
Position = 0
SliderVisible = False
SelEnd = 0
SelStart = -1
end
Следует помнить, что SelStart < SelEnd иначе закраска не произойдет
пример как пользоваться надеюсь на твои значения пересчитаешь сам
procedure
TForm1.SpinEdit1Change(Sender: TObject);
begin
if SpinEdit1.Value < 0 then begin
TrackBar1.SelEnd := 0;
TrackBar1.SelStart := SpinEdit1.Value;
end else begin
TrackBar1.SelStart := 0;
TrackBar1.SelEnd := SpinEdit1.Value;
end;
end;
Страницы: 1 вся ветка
Текущий архив: 2007.06.24;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.024 c