Meka][Meka Unstopable Posts: 700
| regardless of cpu, here is some starting code for making a app fader, might come in handy for someone delphi7 version: Code:
Code: | unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls; type TTMainFRM = class(TForm) Timer: TTimer; procedure FormCreate(Sender: TObject); procedure TimerTimer(Sender: TObject); private { Private declarations } bAdd : Boolean; public { Public declarations } end; var TMainFRM: TTMainFRM; implementation {$R *.dfm} procedure TTMainFRM.FormCreate(Sender: TObject); begin Self.AlphaBlend := True; bAdd := False; Timer.Interval := 100; Timer.Enabled := True; end; procedure TTMainFRM.TimerTimer(Sender: TObject); begin if bAdd = False then begin Self.AlphaBlendValue := Self.AlphaBlendValue - 1; if Self.AlphaBlendValue < 1 then bAdd := True; end else begin Self.AlphaBlendValue := Self.AlphaBlendValue + 1; if Self.AlphaBlendValue > 254 then bAdd := False; end; end; end. | -/Meka][Meka
|
Meka][Meka Unstopable Posts: 700
| ok sitting bored, so i thought i wud rewrite this, and make it much much much better and nicer, and smoother
Code: | unit Unit1; interface uses SysUtils, Classes, Forms; type TFadeThread = class(TThread) private bAdd: Boolean; protected procedure Execute; override; end; TMainFRM = class(TForm) procedure FormCreate(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); private { Private declarations } Fader: TFadeThread; public { Public declarations } end; const FadeSpeed : Integer = 2; var MainFRM: TMainFRM; implementation {$R *.dfm} procedure TFadeThread.Execute; begin FreeOnTerminate:=True; //free thread when terminated :) bAdd := False; //not fading in, but out :) while True do begin //lets chill for 800ms sleep(800); if bAdd = False then begin MainFRM.AlphaBlendValue := MainFRM.AlphaBlendValue - FadeSpeed; if MainFRM.AlphaBlendValue < 1 then bAdd := True; end else begin MainFRM.AlphaBlendValue := MainFRM.AlphaBlendValue + FadeSpeed; if MainFRM.AlphaBlendValue > 254 then bAdd := False; end; //lets chill for 800ms just to keep cpu lower sleep(800); end; end; procedure TMainFRM.FormCreate(Sender: TObject); begin Self.AlphaBlend := True; //set blending enabled Fader := TFadeThread.Create(False); end; procedure TMainFRM.FormClose(Sender: TObject; var Action: TCloseAction); begin Fader.Terminate; end; end. | njoy
|