我有一个应用程序有2个窗体,每个窗体和应用程序都有单独的图标。在Form1BitBtn1.Click Form2上显示Nonmodaly和Form1BitBtn2.Click Form1已关闭。在Form2BitBtn1.Click Form2已关闭和Form2BitBtn2.Click Form1已关闭。它工作正常。但问题是,在Windows 7任务栏中,Form1图标是模糊的,另一个问题是使用Form1BitBtn1.Click显示Form2时,应用程序只显示Form1图标而不显示Form2图标。 请帮帮我。Windows 7中的模糊Delphi窗体图标任务栏
这里是下载链接为我的项目文件是“http://hotfile.com/dl/140219264/04ce49c/Delphi_XE2_Form_Handler.7z.html”
我的代码如下:
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.
请编辑您的问题包括** **小屏幕捕获或东西给你在问什么。 “Windows 7任务栏中的模糊Delphi窗体图标”很难从模糊描述和一些完全不相关的代码中理解,你希望人们编译和运行以便甚至(可能)知道你在问什么。这里的人想要帮助,但你需要真正解释你想要帮助什么,才能使之成为可能。 :)(你发布的代码只能在几个事件中重复几件事;它们都是'DoubleBuffered:= True' /'Font.Color:='没有理由完成。) –
2012-01-07 03:49:40
澄清,'DoubleBuffered: = True'可以在Object Inspector中执行一次*(或者甚至在FormCreate中执行一次),并且在您每次执行操作时都会浪费精力。在你问的任何问题的范围内改变Font.Color是没有意义的(不管它是什么,它与字体颜色的改变无关)。这些代码都不适用于与应用程序或窗口图标相关的任何问题。 – 2012-01-07 03:54:12
@Koushik - 这个问题是[this one](http://stackoverflow.com/q/2621814/243614)的重复,尽管您发布了所有代码? – 2012-01-08 15:21:59