Главная страница
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.018 c
4-8740
Dexter
2003-08-30 14:03
2003.11.03
Меню в чужой програме. Как с ним работать?


6-8578
pec2
2003-09-07 21:09
2003.11.03
почта


4-8722
aldapooh
2003-08-27 12:44
2003.11.03
Проверка прав пользователя


3-8274
tprkv
2003-10-14 10:42
2003.11.03
Как сделать так, чтобы я нажал на запись в DBGRID а она отобразил


14-8590
Zhouck
2003-10-13 14:53
2003.11.03
---|Ветка была без названия|---