C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

サイズ変更不可・キャプションバー無しのウィンドウ作成


(過去ログ 66 を表示中)

[トピック内 1 記事 (1 - 1 表示)]  << 0 >>

■38314 / inTopicNo.1)  サイズ変更不可・キャプションバー無しのウィンドウ作成
  
□投稿者/ まえかわ (1回)-(2009/07/10(Fri) 18:08:06)

分類:[.NET 全般] 

開発環境:VS2008
言語:C# (.NET Framework 2.0)

初めて質問させていただきます。まえかわと申します。

現在,タイトルどおり,サイズ変更が不可で,キャプションバーがないウィンドウを作成しようと
コーディングしています。
諸事情により継承したフォームは使えないので,フォームに対してSet/GetWindowLongで
以下のようにウィンドウスタイルを設定し,所望の動作を実現しています。

//FormBorderStyleにFixedDialogを設定
form.FormBorderStyle = FormBorderStyle.FixedDialog;
// 現在のスタイルを取得
UInt32 unSyle = Win32.GetWindowLong(form.Handle, Win32.GWL.STYLE);
// キャプションのスタイルを削除
unSyle = (unSyle & ~Win32.WS_CAPTION);
// スタイルを反映
Win32.SetWindowLong(form.Handle, Win32.GWL.STYLE, unSyle);


XPではこれで問題なく動作するのですが,Vista(Aero有効)にて,問題が発生しました。
確かに,サイズ変更不可,キャプション無しのフォームはできるのですが,
Vista独特の角が丸くて少し太いウィンドウ枠ではなく,クラシックスタイルなウィンドウ枠の
ままになってしまい,他のウィンドウと並べると非常に不自然になってしまいます。

Vista風の外観を保ったまま,所望の動作は実現できるのでしょうか?
ご存知の方,よろしくお願いいたします。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -