![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Компоненты: индикатор отклонения [D7, WinXP]
intNaked © (2007-04-26 12:00:00)Добрый день.
Встала задача реализации в Delphi двухстороннего индикатора отклонений.
Индикатор, скажем в стиле ProgressBar, также должен иметь свойства Min(LeftValue), Max(RightValue) и "точка нуля"(Center). Так вот в зависимости от значения Position должен отклонятся в одну из сторон от точки нуля: влево или вправо. В частности точка нуля может совпадать с граничными точками.
Подскажите пожалуйста, какими путями можно это сделать, возможно без написания своего компонента, или может уже есть готовые?! Буду признателен!
С уважением, intNaked
vl_chel (2007-04-27 11:55:00) [1]Есть готовое решение
привожу выдержку из 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;
clickmaker (2007-04-26 15:25:00) [2]
> как это можно сделать с помощью PainBox?
рисовать в событии OnPaint
Canvas.FillRect и т.п.
Darvin (2007-04-26 14:53:00) [3]Панель тонкая - шкала. Панель другая поверх первой - индикатор. И далее двигаешь вторую панель, управляя свойством Left второй панели, используя положение и размеры первой панели.
intNaked (2007-04-26 12:53:00) [4]2 ПрогрессБара не катит, он действительно назад не показывает.
> [1] 0 == 50
Это что значит?
А как это можно сделать с помощью PainBox?
clickmaker (2007-04-26 12:42:00) [5]
> [3] tesseract © (26.04.07 12:40)
а он может от конца показывать?
tesseract (2007-04-26 12:40:00) [6]два прогресбара, на вскидку.
clickmaker (2007-04-26 12:38:00) [7]
> без написания своего компонента
PaintBox
Jeer (2007-04-26 12:36:00) [8]
> ProgressBar
0 == 50