我有一個應用程序有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