Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.07.25;
Скачать: CL | DM;

Вниз

Люди!! Выручайте!! ГАРЮ!!!!   Найти похожие ветки 

 
MAXep   (2002-06-26 20:40) [0]

Чуваки!! Срочно нужена компонента - круговой Progress-bar для Delphi 6 со свойствами как у обычного progress-bar"a!!! Пажалуста если не впадлу напишите и киньте на мыло!! А если есть готовый - тем лучше!! (пол инета перерыл - не нашёл) Это вопрос моей дальнейшей учёбы в институте!! Вот иллюстрация как он должен выглядеть: m-o-m.pochtamt.ru/progress.gif


 
127.0.0.1 ©   (2002-06-26 21:07) [1]

Чему же вас там учат :-))))


 
Song ©   (2002-06-27 09:01) [2]

TGauge ?


 
Johnny Smith ©   (2002-06-27 09:15) [3]

2MAXep (26.06.02 20:40)
Чувак! Карочи, ты знаишь, нету таково кампаненты...


 
Кулюкин Олег ©   (2002-06-27 09:15) [4]

TChart из штатной поставки?

См. www.torry.ru


 
Кулюкин Олег ©   (2002-06-27 09:19) [5]

MAXep (26.06.02 20:40)
> напишите и киньте на мыло
Анекдот вспоминается анекдот
"Вась, ты за сколько стометровку пробежишь?"
"За 100 баксов..."

Хотя к чему это я об оплате?
Вы наверное бесплатно хотите...


 
MAXep ©   (2002-06-27 10:10) [6]

Блин я заплочу если это так сложно! Могу по Вебмани!!! Все такие умные и хоть бы кто сделал...


 
Бурундук   (2002-06-27 11:42) [7]

Наваял минут за несколько минут, поэтому отсутствие глюков не гарантирую. Но похож.

TRingProgressBar = class(TGauge)
private
FRingWidth: Integer;
FBorderColor: TColor;
procedure SetRingWidth(const Value: Integer);
procedure SetBorderColor(const Value: TColor);
public
procedure Paint; override;
constructor Create(AOwner: TComponent); override;
published
property RingWidth: Integer read FRingWidth write SetRingWidth;
property BorderColor: TColor read FBorderColor write SetBorderColor;
end;

{ TRingProgressBar }

constructor TRingProgressBar.Create(AOwner: TComponent);
begin
inherited;
FRingWidth := 16;
Font.Size := 16;
end;

procedure TRingProgressBar.Paint;
var XAngle, YAngle, X0, Y0, PerCent, TW, TH: Integer;
Angle: Double;
R: TRect;
Text: string;
begin
with ClientRect do
begin
Canvas.Brush.Color := BackColor;
Canvas.Brush.Style := bsSolid;
Canvas.Pen.Color := BorderColor;
Canvas.Font.Assign(Font);

Canvas.Ellipse(Left, Top, Right, Bottom);

Canvas.Brush.Color := ForeColor;

PerCent := Round(Progress/MaxValue*100);
Angle := -Progress/MaxValue*2*Pi;

X0 := Round( Sin(0)*1000 ) + Width div 2;
Y0 := - Round( Cos(0)*1000 ) + Height div 2;
XAngle := Round( Sin(Angle)*1000 ) + Width div 2;
YAngle := - Round( Cos(Angle)*1000 ) + Height div 2;;

if PerCent <> 100 then
Canvas.Pie(Left, Top, Right, Bottom,
X0, Y0, XAngle, YAngle)
else
Canvas.Ellipse(Left, Top, Right, Bottom);

Canvas.Brush.Color := BackColor;
Canvas.Ellipse(Left + FRingWidth, Top + FRingWidth,
Right - FRingWidth, Bottom - FRingWidth);


Text := Format("%d %%", [PerCent]);
TW := Canvas.TextWidth(Text);
TH := Canvas.TextHeight(Text);
R := Rect(Left + Width div 2 - TW div 2 - 3, Top + Height div 2 - TH div 2 - 3,
Left + Width div 2 + TW div 2 + 3, Top + Height div 2 + TH div 2 + 3);

Canvas.Brush.Style := bsClear;
Canvas.TextRect(R, R.Left + 3, R.Top + 3, Text);
end;
end;

procedure TRingProgressBar.SetBorderColor(const Value: TColor);
begin
FBorderColor := Value;
Invalidate;
end;

procedure TRingProgressBar.SetRingWidth(const Value: Integer);
begin
FRingWidth := Value;
Invalidate;
end;


 
Бурундук   (2002-06-27 12:03) [8]

Для большей похожести:

constructor TRingProgressBar.Create(AOwner: TComponent);
begin
inherited;
FRingWidth := 13;
Font.Size := 17;
Font.Name := "Times New Roman";
Width := 90;
Height := 90;
ForeColor := clBlue;
Font.Color := clBlue;
end;


 
MAXep ©   (2002-06-27 12:06) [9]

Мен спасибо! Ты спас меня! Правда она не работает.. но не важно в принцыпе на экзамене это похрен главное текст показать! А ваще куда этот текст вставлять? Я жму New Component, в предке пишу TGaudge, и тот текст что там замещаю на этот.. а кода жму install он ругается уже на первой строчке...


 
Mike B. ©   (2002-06-27 12:36) [10]

Куда текст вставлять вообще похрен, главное чтобы на экзаменатор не ругался на первой же строчке...


 
Бурундук   (2002-06-27 12:40) [11]

Сделай отельный юнит под него, в разделе interface добавь

procedure Register;

а в разделе implementation

procedure Register;
begin
RegisterComponents("MAXep", [TRingProgressBar]);
end;

а затем не New Component, а Install Component


 
Бурундук   (2002-06-27 12:52) [12]

И uses Gauges не забудь поставить.


 
Бурундук   (2002-06-27 12:56) [13]

ЗЫ ты хоть сможешь объяснить экзаменатору, как бензин по проводам течёт?


 
MAXep ©   (2002-06-27 13:42) [14]

Да я делфи этот в #$%^% видел но что поделать если на ф-те "Дизайн" заставляют его учить...



Страницы: 1 вся ветка

Текущий архив: 2002.07.25;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.01 c
1-81236
shodan
2002-07-14 14:45
2002.07.25
Кто знает где достать компонент?


3-81194
DmitryN
2002-07-05 08:25
2002.07.25
SQLDMO not registered...????


3-81176
Still Swamp
2002-06-24 17:11
2002.07.25
Service + MSSql


1-81306
Sasha M
2002-07-12 13:23
2002.07.25
Как отключить нажатие клавиши вызыв. меню windowsa


1-81255
nitro313
2002-07-15 05:51
2002.07.25
Мастаки подскажите пожалуйста! Пишу я следующее...