PageControlをXPのLunaに対応させるには?

解決


ユウキ  2004-04-11 19:21:21  No: 8307

こんにちは!ユウキです。早速質問ですが、、
ソフトを作っているときに気がついたんですが、
マニフェストファイルを作って、EXEに結合した状態で、
PageControlをフォームにおいて、ページを作ったとき、
XPのスタイルが適応されていない領域がくっきりと出てしまいます。
これはどうしたらいいでしょう?

p.s 改善方法がない場合は、TabControlを使う予定ですが、
      使い方が、手身とにある参考書に載ってないんです。。。
      どなたかご教授いただければ幸いです。

お返事お待ちしております。。


たかみちえ  URL  2004-04-11 20:00:29  No: 8308

Delphi6以前ですね、
Delphiが独自に描画しているようで、それを何とか回避してやらないといけないようです。
http://www.namakoworld.com/lowtech/
こちらにXPに対応したタブコンポーネントが公開されてますので、使ってみてはいかがでしょうか?

※ このコンポーネントは使い方がちょっと特殊なので、わたしは面倒なので(ソース公開時にも困るし)、ボタンスタイルに変更するなどしてごまかしていました。

> 改善方法がない場合は、TabControlを使う予定ですが、
  PageControlは、複数のTabControlを生成しています。インスペクタを見れば、わかると思います。
よって、それはしても意味がありません。
(んまあ、じゃあ何でパレットに追加してるかというと…、なぜでしょうね(^_^;)


ユウキ  2004-04-11 20:10:29  No: 8309

たかみちえさんへ。
お返事ありがとうございました。
教えていただいたコンポーネント(http://www.namakoworld.com/lowtech/)を
使ってみようかと思いましたが、、、

>TTrackBarやReadOnlyのEdit関係を上に乗せると再描画が上手くいきませ
>ん。あと、上に乗っけたコントロールがチラつくという問題が解決できま
>せん・・・修正方法がわかりましたら教えていただけると助かります。

いい加減な質問ですが、これを回避するにはどうしたらいいでしょう?


ユウキ  2004-04-11 20:14:45  No: 8310

追記:
この質問の前に、まずTabControlの使い方がわからないです。。。
すいませんが、たかみちえさん教えてください。。。
ボタンをタブに表示するコードを
添えていただければうれしいのですが、、、

P.s
Googleで Delphi タブコントロール と入れて、検索しましたが出てきませんでした。。。


たかみちえ  URL  2004-04-11 23:00:14  No: 8311

TabControlというコントロールを単体で使うことはあり得ないのです。(少なくとも、VCLを普通に使っている限りは)
ページコントロールで"ページの新規作成"をして表示される、これがタブコントロールです。それ以外の用途はないです。

> ボタンをタブに表示するコード
  とはどういうことでしょうか?

> いい加減な質問ですが、これを回避するにはどうしたらいいでしょう?
  仕様と思って諦めるしかないと思います。それがどうしてもイヤなら、APIで一から作成するしか…。
トラックボックスは横スクロールバー、読み取り専用EditはStaticTextで代用できるのではないでしょうか?


jok  2004-04-12 01:34:55  No: 8312

> TabControlというコントロールを単体で使うことはあり得ないのです。(少なくとも、VCLを普通に使っている限りは)

そうですか? ウィンドウズのコモンコントロールとしては TTabControl のほうが
純正です。TPageControl は VCL 独自のモノで、TabControl とタブごとに変わる
パネルみたいなタブシートでできています。タブコントロールは、タブシートが
1枚しかない TPageControl に相当しており、タブごとに配置されたコントロールの
内容を変更して使います。住所録の入力欄のように、決まった内容の入出力に
使います。


ユウキ  2004-04-12 05:02:38  No: 8313

jokさん、たかみちえさん。
結局、TPageControlをXPに対応させることは
自作コンポを使わない限りできないんですね。

TTabControlもTPageControlのように使うことはできないようですし。。。
Delphi6Personalでがんばってきましたが、7の購入も検討してみたいと思います。

お返事ありがとうございました。。。

p.s  少し悔しいです。。。


るるとん@K  2004-04-12 06:11:05  No: 8314

タブブラウザなんかはTabControlをつかうんじゃないですか?
MDIの子フォームの切り替えに
私が見たサンプルではそうでした


jok  2004-04-12 09:08:08  No: 8315

> タブブラウザなんかはTabControlをつかうんじゃないですか?

コントロールの内容が同一な場合はタブコントロールを使う場合があります。
タブの選択を変更するたびに、コントロールの内容を変更するものです。タブ式
のエディタにもそういうのがあります。この方式の欠点は、非表示の情報の持ち方
が面倒、および、タブの選択変更にしたがって表示がすこし遅れることです。

一方、TPageControl 方式のものもあります。タブごとにエディタやブラウザ
コントロールを独立してもつものです。データの管理が楽で、表示の応答も速い
のですが、より多くのリソースを消費します。

どちらがいいかは場合によります。


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

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






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