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

Вниз

Form.Icon   Найти похожие ветки 

 
Dolphin ©   (2003-10-22 08:51) [0]

Хотелось бы менять иконки у формы. Получится анимированная иконка. Только не просто указать форме анимированную иконку, а в виде процентов выполнения определенной операции будут идти часики.


 
Спрашивающий_   (2003-10-22 08:56) [1]

И что ?


 
TUser ©   (2003-10-22 08:57) [2]

Сделай сколько тебе надо иконок и заменяй их.


 
Спрашивающий_   (2003-10-22 09:36) [3]

procedure TForm1.Timer1Timer(Sender: TObject);
begin
Timer1.Tag:=SetIconAp(Timer1.Tag);
end;

function TForm1.SetIconAp(Val:Byte):Byte;
begin
If Val=0 Then Result:=1 Else Result:=0;
ImageList1.GetIcon(Result,Application.Icon);
end;


 
Dolphin ©   (2003-10-23 03:17) [4]

Есть 8 иконок. В ImageList я их засунул. Вот и нужно было, что бы они не от таймера крутились, а от общего процента выполненой задачи. Соответственно 8 иконо на 100%. Вот только я их форма не мог подсунуть. Сегодня попробую. В любом случае Сенкс.


 
Спрашивающий_   (2003-10-23 04:29) [5]

Дело в том что задача может выполняться на разных компьютерах
и от скорости будет зависить анимация, а по тймеру
можно задать нужный интервал анимации. Лови пример приведенный ниже для любого колличества иконок в ImageList.
function TForm1.SetIconAp(const Count,Value:Byte):Byte;
begin
If Value<>Count Then Result:=Value+1 Else Result:=0;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
I,N:Integer;
begin
Timer1.Enabled:=True;
N:=10000 ;
For I:=0 To N Do
begin
RichEdit1.Lines.Add("Test");
Proces(I,N,1000);
Application.ProcessMessages;
end;
Timer1.Enabled:=False;
//здесь верни иконку и Caption приложения на место
end;

procedure TForm1.Proces(J,K,Max:Integer);
var
N:Byte;
begin
If K=0 Then K:=1;
N:=Trunc(J * 100 / K);
If N in [0,10,20,30,40,50,60,70,75,80,85,90,95,100] Then
begin
If K>Max Then Text:=IntToStr(N)+" % Выполнено";
end;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
Timer1.Tag:=SetIconAp(ImageList1.Count-1,Timer1.Tag);
ImageList1.GetIcon(Timer1.Tag,Application.Icon);
end;



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

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

Наверх




Память: 0.48 MB
Время: 0.016 c
14-8647
Карлсон
2003-10-13 13:41
2003.11.03
спамеры совсем озверели!


14-8620
Zoloto
2003-10-14 17:03
2003.11.03
Интересно было бы узнать


4-8719
Alex_Y
2003-08-29 12:32
2003.11.03
Передача переменных в работающее приложение


3-8306
miklo
2003-10-13 13:14
2003.11.03
Перекодировка базы Dos-Win1251 в Interbase v.5.6


14-8609
Skyle
2003-10-14 15:26
2003.11.03
Возник спор о правомерности продаж ПО