I have an application having 2 Forms, each Form and Application have individual Icon. On Form1BitBtn1.Click Form2 is Shown-Nonmodaly and on Form1BitBtn2.Click Form1 is closed. On Form2BitBtn1.Click Form2 is Closed and Form2BitBtn2.Click Form1 is closed. It works fine. But the problem is that in Windows 7 Taskbar the Form1 Icon is Blurred and another problem is that when Form2 is shown using Form1BitBtn1.Click the application shows only Form1 Icon but not Form2 Icon.
Please help me.
Here is the download link for my project file is "http://hotfile.com/dl/140219264/04ce49c/Delphi_XE2_Form_Handler.7z.html"
My code is as below :
unit KoushikHalder01;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Buttons, Vcl.ExtCtrls,
Vcl.ComCtrls;
type
TForm01 = class(TForm)
BitBtn01: TBitBtn;
BitBtn02: TBitBtn;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure FormHide(Sender: TObject);
procedure BitBtn01MouseEnter(Sender: TObject);
procedure BitBtn02MouseEnter(Sender: TObject);
procedure BitBtn01MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure BitBtn02MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure BitBtn01MouseLeave(Sender: TObject);
procedure BitBtn02MouseLeave(Sender: TObject);
procedure BitBtn02Click(Sender: TObject);
procedure BitBtn01Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form01: TForm01;
implementation
{$R *.dfm}
uses KoushikHalder02;
procedure TForm01.BitBtn01Click(Sender: TObject);
begin
Doublebuffered := True;
Form02.Show;
if Form01.Visible = true then Form01.BringToFront;
end;
procedure TForm01.BitBtn01MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
BitBtn01.Font.Color :=10379745;
end;
procedure TForm01.BitBtn01MouseEnter(Sender: TObject);
begin
BitBtn01.Font.Color :=16711825;
end;
procedure TForm01.BitBtn01MouseLeave(Sender: TObject);
begin
BitBtn01.Font.Color :=15756035;
end;
procedure TForm01.BitBtn02Click(Sender: TObject);
begin
Form01.Close;
end;
procedure TForm01.BitBtn02MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
BitBtn02.Font.Color :=10379745;
end;
procedure TForm01.BitBtn02MouseEnter(Sender: TObject);
begin
BitBtn02.Font.Color :=16711825;
end;
procedure TForm01.BitBtn02MouseLeave(Sender: TObject);
begin
BitBtn02.Font.Color :=15756035;
end;
procedure TForm01.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Doublebuffered := True;
end;
procedure TForm01.FormCreate(Sender: TObject);
begin
Doublebuffered := True;
end;
procedure TForm01.FormHide(Sender: TObject);
begin
Doublebuffered := True;
end;
procedure TForm01.FormShow(Sender: TObject);
begin
Doublebuffered := True;
end;
end.
DoubleBuffered := True/Font.Color := <something>done for no reason.) - Ken WhiteDoubleBuffered := Truecan be done once in the Object Inspector (or even once inFormCreate), and is wasted effort every other time you're doing it. Changing theFont.Coloris meaningless in the scope of any question you're asking here (whatever it is, it has nothing to do with font color changes). None of the code applies to any question related to the application or window icons. - Ken White