Форум: "Потрепаться";
Текущий архив: 2002.07.25;
Скачать: [xml.tar.bz2];
ВнизЛюди!! Выручайте!! ГАРЮ!!!! Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.006 c