泥庭

2010年10月20日

Windowのアイコンを消す

Filed under: WPF — タグ: — yone64 @ 10:04 PM

WPFのWindowには、WindowFormsのFromに存在する「ShowIcon」というプロパティーがなぜか存在しません。
そのため、アイコン(※1)を表示しないよう設定するには苦労します。

(※1)下図の○で囲んだ部分です。
image

①WindowStyleでToolWindowを指定する。
ToolWindowを指定すると、アイコンは表示されなくなりますが、それ以外にもいろいろと外観が変わってしまいます。(×ボタンとか、最大化・最小化ボタンとか、Windowの形とか)

image

②全透過のアイコンを指定する。
アイコンを表示しないのではなく、見えないアイコンを表示する方法です。見えてないだけなので、きちんとスペースは確保されています。

image

③仕方がないので、Win32APIをたたく。
検索していると、↓サイトを発見しました。Win32APIを呼び出すと何でも出来ますよね。
http://www.danrigsby.com/blog/index.php/2008/05/26/remove-icon-from-wpf-window/

image

理想の結果となりました。

なお、リンク先で使用しているWin32APIは64Bit環境で呼び出す場合は注意が必要かもしれません。
#たとえば、GetWindowLongの場合、64Bit環境ではGetWindowLongPtrを呼ぶことになっているっぽい。
#http://www.pinvoke.net/default.aspx/user32/GetWindowLongPtr.html

1件のコメント »

  1. […] WindowsFormsだと、ShowIconプロパティーのみで解決するんですが、WPFだとそうもいきません。 このブログでも以前のエントリーで紹介していましたが、残念ながら既にリンク先ページもなくなってました。 # しかも、以前リンクしていたページの方法では、XPとか32bit版Win7では正しく動いてなかったらしい というわけで、↓がお勧め(VBですが) ・WPF ウィンドウのアイコンを非表示にする。 http://d.hatena.ne.jp/hilapon/20110530/1306735416 ただ、残念な点もあって、システムメニューが全部復活してしまうのです。 […]

    ピンバック by 【WPF】カスタムメッセージボックス | 泥庭 — 2015年4月6日 @ 11:56 PM


RSS feed for comments on this post. TrackBack URI

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

WordPress.com で無料サイトやブログを作成.

%d人のブロガーが「いいね」をつけました。