コントロールタブのアイコンについて – プログラミング – Home

コントロールタブのアイコンについて
 
通知
すべてクリア

[解決済] コントロールタブのアイコンについて


kj
 kj
(@kj)
ゲスト
結合: 21年前
投稿: 52
Topic starter  

最近似たような質問をしていますが、再度似たような質問になります。
VC++ 6.0のMFCで作成しています。
Tab Controlについてですが、InsertItemでタブパネルを追加するときに、
タブパネルのアイコンが左寄せされています。
これを中央表示したいのですが、実装方法をどなたかご教授お願いします。

コードは以下となります。

m_XcTab.InsertItem(0, _T( 項目1 ),0 /*アイコン0番*/ ); //項目1パネル追加
m_XcTab.InsertItem(1, _T( 項目2 ),0 /*アイコン0番*/ ); //項目2パネル追加

タブパネル現状(左寄せ)
☆:アイコン
|☆項目1 |☆項目2 |

タブパネル理想(中央)
| ☆ 項目1 | ☆ 項目2 |


引用未解決
トピックタグ
仲澤@失業者
(@uncle_kei)
Prominent Member
結合: 5年前
投稿: 828
 

「オーナー描画」にするしかないと思います。
CTabCtrl::DrawItem()について調べてみてください。


返信引用
PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2660
 

CTabCtrlクラスにSetPaddingという関数がありますが、
どうもこれはTAB全体への設定みたいなので無理っぽいですね。
どのタブも同じ値でよければ、これで調整出来そうなんですが。
項目名の長さが皆一定なら何とかできるかもと思いますが、
長さがまちまちなら無理ではないかと思います。

後はオーナードロウにして自分で全部描画するかですね。
自分で全て対処するのであれば、何とかなるかもしれません。
但し、オーナードロウを使うと若干動きが重くなるのは
避けられないと思います。


返信引用
kj
 kj
(@kj)
ゲスト
結合: 21年前
投稿: 52
Topic starter  

>仲澤@失業者様
>PATIO様

ご回答ありがとうございます。

オーナードロウについては知識が無いのでこれからゆっくり調べてみます。

CTabCtrl::DrawItem()で実装してみます。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました