«前の日記(2007-02-05) 最新 次の日記(2007-02-10)» 編集

netail.net

自作フリーソフトや,ゲームに関する雑記を公開してます.
日記はソフトウェア工学の論文ネタが中心です.

最近のお知らせ (古いものはこちら)


2007-02-09 [長年日記]

_ [Delphi] 最小化してタスクトレイに隠したものをきれいに復帰させる

最小化(Application.OnMinimize)時にウィンドウに ShowWindow(Application.Handle, SW_HIDE)メッセージを送ってタスクバーから隠したものがうまく復帰できないなーと悩んでいたんですが,SetWindowPosNOMOVENOSIZE フラグを使って,サイズ変更せずに表示状態だけをいじることでタスクバーに復帰させてから,最小化を解除してやれば良いようです.

// ウィンドウをサイズ変更せず,タスクバーに復帰させる
setWindowPos(Application.Handle, HWND_TOP, 
             0, 0, 0, 0, 
             SWP_SHOWWINDOW or SWP_NOSIZE or SWP_NOMOVE);
// ウィンドウの最小化を解除する
Application.Restore;

こうすると,最小化から元に戻るときのアニメーション付きでちゃんと復帰してくれます.

久々に Win32 API のコードを読みまくったので疲れました.だんだん VCL を使ってる利点が少なくなってきている気がします.

お名前:
E-mail:
右の画像に書かれている文字列を入力してください:
コメント: