PageControlの背景色を変更するには?

解決


吉岡  2004-11-09 07:11:36  No: 11669

久しぶりに投稿します。

過去ログを検索したらPageControlのタブの色の変更方法は見つけましたが、ページ自体の背景色の変更はできないのでしょうか?

フォームの背景色が白なのでTabSheetの背景色も白にしたいだけなのですが、例えばフォームならform1.Colorといった背景色用のプロパティがあるのに対し、PageControlや配下のTabSheetにもそれらしいプロパティが見当たりませんので、自分で描画する必要があるかと思いますが、具体的な方法が思い浮かびません。

宜しければご教授下さると幸いですm(__)m


@っしー  2004-11-09 07:41:59  No: 11670

TPanelを乗せるのは如何でしょうか?


吉岡  2004-11-09 17:36:58  No: 11671

@っしー様。お返事ありがとうございます。

> TPanelを乗せるのは如何でしょうか?

ご教授の通りやってみましたが、どうにもうまくいきません。
タブ上に配置したパネルのAlignプロパティをalClientに設定し、
FormCreateで

TabSheet1.TabVisible := False;
TabSheet2.TabVisible := False;
TabSheet3.TabVisible := False;
・・・・

をやってタブそのものを消して、別のクリックイベントでページを切り替えられるようにしたのですが、配置したPanelを囲むようにPageControlの灰色が出てしまいます。

これはプロパティ等を工夫することでどうにかなるのでしょうか?
それともPageControlとTabSheetは原色の灰色でしか使えない代物なのでしょうか?


にしの  2004-11-09 18:49:58  No: 11672

BevelInner、BevelOuterをbvNoneにすれば、枠は消えますよ。


にしの  2004-11-09 18:51:15  No: 11673

もう1つ。
PageControlのStyleを、tsButtonsにすれば、TPageControlの枠が消えます。


にしの  2004-11-09 18:53:23  No: 11674

勘違いでした^^;
TPageControlの部分出ますね。ちょっと調べます。


吉岡  2004-11-09 19:07:39  No: 11675

@っしー様。申し訳ありません。
フォームの上にWindow背景となるBitmapを張っていたため気が付かなかったのですが(WindowのサイズもBitmapにあわせているため)、確認したらフォームの背景が灰色になっておりました・・(なんともくだらないミスでした)
そのためタブの背景色が灰色で表示されていたようです。

なお、探してたらタブシートにColorプロパティを追加するサンプルがありました。

http://www.swissdelphicenter.ch/torry/showcode.php?id=788

こちらを参考にしてコードを書いたらタブの淵も含めきれいに消えました^^


にしの  2004-11-09 19:08:30  No: 11676

やりようによっては出来そうですが、時間がないので代替案です。

TPageControlの代わりにTPanelをベベル無し、ボーダー無しで貼り付けておきます。
これをParentとして、新しいTPanelを貼り付けalClientにし、表示したいパネルだけVisible=True(他はVisible=False)にすれば出来ます。


吉岡  2004-11-09 19:09:15  No: 11677

あ、書いている最中に西野さんまでご回答を下さっていたとは。
単純なミスで本当に申し訳ありませんm(__)m


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加