Windowsの標準?のプロパティ画面のような背景が白色なプロパティ画面はどのようにつくってあるのでしょうか?
知りたいことは、
Windowsの標準のプロパティ画面のような雛形セット?があるのかどうか
多分、PageControlの背景を上記のように白色にするにはどうすればよいのか
です。
白色のPanelに乗せてみたりもしたのですがやはり違いました。
説明がわかりにくいかもしれませんが、その時は質問していただければできるかぎりこたえていきますので。
宜しくお願いします
Property Sheet のことかな?
http://msdn.microsoft.com/library/en-us/shellcc/platform/commctls/propsheet/propsheet.asp?frame=true
Delphi の標準コンポにはないですね。ネットで探すとラッパがあるかも。
WindowsXPで,例えば[画面のプロパティ]みたいなこういうやつですか.
http://homepage2.nifty.com/Mr_XRAY/Others/TempPage021.htm
これはTabControlにPanelを配置したものです.PanelのColorをclWhite
にしています.
お二人ともありがとうございます。
amoneさん
んー、さすがにMSなので、Delphiでは無理ですよね。ラッパー探してみたりもしたのですがちょっと見つかりませんでした^^;
情報ありがとうございます
Mr.XRAYさん
そのような感じです。Panel乗せればいいんですよね。極当たり前のことでした><
それについてはわかるのですが、タブのところは自分で描画しているのでしょうか?
TThemeManager(http://www.delphi-gems.com/ThemeManager.php)
を適用させると、PageControlの背景を白くさせることはできますね、、、
ちょっとThemeanager使うと実行ファイルが重くなるので、使いたくありませんが、、
> んー、さすがにMSなので、Delphiでは無理ですよね。
えーと、Delphi のボタンもリストボックスもタブもリッチエディットも MS の
もののラッパですけど。VCL 独自なものは TStringGrid などの Grid 系など
ほんの少しで、ハンドルをコントロールのほとんどは Windows のコントロール
のラッパです。ですから MSDN の内容は非常に役に立ちます。
> ハンドルをコントロールのほとんどは
意味不明でした。「ハンドルを持つコントロールのほとんどは」です。
>それについてはわかるのですが、タブのところは自分で描画しているのでしょうか?
失礼しました.PageControlでしたね.同じページにPageControlの例を
UPしました.方法は,玄米さんと同じですが...
>白色のPanelに乗せてみたりもしたのですがやはり違いました。
どのようにうまくいかなかったのでしょうか.
ただし,この方法は,WindowsXPの場合ではいいですが,他のWindowsの
画面のプロパティダイアログなどとは違ってしまいますね(色が).
そうなると,anoneさんのレスにあるように
CreatePropertySheetPageというAPI(usesにCommCtrlが必要)を利用する
しかないと思われます.残念ですが,こちらは使用したことがありません
ので具体的なコードを示すことはできません.
手順を書いてなかったので...
(コードは1行もありません.全てオブジェクトインスペクタでの設定です)
FormにPageControlを配置します.ページを3つ追加します.
この各々のページにPanelをalClientで配置します.
この各々のPanelのColorclWhiteにします.
この各々のPanelのParentBakcgoundをFalseにします.
(色が反映されない時は何回かTrue,Falseを繰り返して下さい)
またまた失礼.
確認環境は,Delphi7 + WindowsXP(SP2) です.
ツイート | ![]() |