久しぶりに投稿します。
過去ログを検索したらPageControlのタブの色の変更方法は見つけましたが、ページ自体の背景色の変更はできないのでしょうか?
フォームの背景色が白なのでTabSheetの背景色も白にしたいだけなのですが、例えばフォームならform1.Colorといった背景色用のプロパティがあるのに対し、PageControlや配下のTabSheetにもそれらしいプロパティが見当たりませんので、自分で描画する必要があるかと思いますが、具体的な方法が思い浮かびません。
宜しければご教授下さると幸いですm(__)m
TPanelを乗せるのは如何でしょうか?
@っしー様。お返事ありがとうございます。
> TPanelを乗せるのは如何でしょうか?
ご教授の通りやってみましたが、どうにもうまくいきません。
タブ上に配置したパネルのAlignプロパティをalClientに設定し、
FormCreateで
TabSheet1.TabVisible := False;
TabSheet2.TabVisible := False;
TabSheet3.TabVisible := False;
・・・・
をやってタブそのものを消して、別のクリックイベントでページを切り替えられるようにしたのですが、配置したPanelを囲むようにPageControlの灰色が出てしまいます。
これはプロパティ等を工夫することでどうにかなるのでしょうか?
それともPageControlとTabSheetは原色の灰色でしか使えない代物なのでしょうか?
BevelInner、BevelOuterをbvNoneにすれば、枠は消えますよ。
もう1つ。
PageControlのStyleを、tsButtonsにすれば、TPageControlの枠が消えます。
勘違いでした^^;
TPageControlの部分出ますね。ちょっと調べます。
@っしー様。申し訳ありません。
フォームの上にWindow背景となるBitmapを張っていたため気が付かなかったのですが(WindowのサイズもBitmapにあわせているため)、確認したらフォームの背景が灰色になっておりました・・(なんともくだらないミスでした)
そのためタブの背景色が灰色で表示されていたようです。
なお、探してたらタブシートにColorプロパティを追加するサンプルがありました。
http://www.swissdelphicenter.ch/torry/showcode.php?id=788
こちらを参考にしてコードを書いたらタブの淵も含めきれいに消えました^^
やりようによっては出来そうですが、時間がないので代替案です。
TPageControlの代わりにTPanelをベベル無し、ボーダー無しで貼り付けておきます。
これをParentとして、新しいTPanelを貼り付けalClientにし、表示したいパネルだけVisible=True(他はVisible=False)にすれば出来ます。
あ、書いている最中に西野さんまでご回答を下さっていたとは。
単純なミスで本当に申し訳ありませんm(__)m
ツイート | ![]() |