16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"すべてのFromの最小化をタスクバーに"
この発言に対し以下のコメントが寄せられています
#01180 S.S.Labo さん RE:すべてのFromの最小化をタスクバーに
//すべてのFromの最小化をタスクバーに
通常Windowsアプリはフォームの最少化ボタンをクリックすると
タスクバーに入りますが、Delphi製アプリでは、デスクトップの
左下に最少化された残ります。
しかし、これはかっこわるいのでアプリ全体を最小化してデスクトップから
消去する方法です。
わたしは、これをベースフォームにしてこれを継承して使っています。
# 実際には、その他諸々の機能を盛り込んだものをBaseUnitにしています。
------------------------------------------------------------------
unit UnitBase1;
interface
uses
Windows, Messages, SysUtils, Classes, Forms;
type
TFormBase1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private 宣言 }
protected
procedure AppOnMessage(var Msg: TMsg; var Handled: Boolean);
procedure WMSysCommand(var Msg: TWMSysCommand); message
WM_SYSCOMMAND;
public
{ Public 宣言 }
end;
var
FormBase1: TFormBase1;
implementation
{$R *.DFM}
procedure TFormBase1.WMSysCommand(var Msg: TWMSysCommand);
begin
Case (Msg.CmdType and $FFF0) of
SC_MINIMIZE :
Application.Minimize;
else
inherited;
end;
end;
procedure TFormBase1.AppOnMessage(var Msg: TMsg; var Handled:
Boolean);
begin
if (Msg.Message = WM_SYSCOMMAND) then begin
Case (Msg.wParam and $FFF0) of
SC_MINIMIZE : //TaskBar Icon 右Ckick「最小化」選択
Application.Minimize;
end;
end;
end;
{FormCreate}
procedure TFormBase1.FormCreate(Sender: TObject);
begin
Application.OnMessage := AppOnMessage; //Application.OnMessage
Handle Set
end;
end.
------------------------------------------------------------------
なお、使っているものを切り出したものですので動作がおかしいところが
あったらご指摘ください。
--- 2000/10/12(Thu) 19:38pm S.S.Labo (GHF03343) ---
Original document by S.S.Labo 氏 ID:(GHF03343)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|