MFCのCTabCtrlでタブアイテムのサイズを変えたい – プログラミング – Home

MFCのCTabCtrlでタブアイテム...
 
通知
すべてクリア

[解決済] MFCのCTabCtrlでタブアイテムのサイズを変えたい


tomtom
 tomtom
(@tomtom)
ゲスト
結合: 23年前
投稿: 12
Topic starter  

初めまして。
環境:WinXP(SP2)VC++2003 MFC
で作業をしていて、CTabCtrlから派生クラスを作成し、
DrawItemをオーバーライドして、タブのアイテム部分をビットマップ
で表示しようとしています。
 
ビットマップは表示できたんですが、タブ部分のサイズだけが変わらず困っています。
CTabCtrl::SetItemSizeでセットしてるんですが、何故か全然変わりません。

InsertItem時に何か必要なのでしょうか。
知識のある方、どうかよろしくお願いします。


引用未解決
トピックタグ
tomtom
 tomtom
(@tomtom)
ゲスト
結合: 23年前
投稿: 12
Topic starter  

取りあえず↓のように派生コントロールを無視して新しいプロジェクトで単純にやって

変化無いみたいです。テキストの幅に単純にされちゃいます。
 
CTabCtrl *tab = (CTabCtrl*)GetDlgItem(IDC_TAB1);
tab->InsertItem( 0, abcdefghijklmn );
tab->InsertItem( 1, opq );
tab->SetItemSize( CSize( 200, 20 ) );
 
単純にプロパティの問題なんでしょうか。
上記のコードはOnInitDlgの末尾でやっています。


返信引用
aetos
(@aetos)
Noble Member
結合: 5年前
投稿: 1480
 

SetItemSize は TCS_FIXEDWIDTH スタイルを持つタブでないと効かないんじゃなかったか
な。


返信引用
tomtom
 tomtom
(@tomtom)
ゲスト
結合: 23年前
投稿: 12
Topic starter  

>SetItemSize は TCS_FIXEDWIDTH スタイルを持つタブでないと効かないんじゃなかった

な。

できました!!
OwnerDrawと同時にTCS_FIXEDWIDTHも指定したらあまりにあっさり成功しました!
2日も使ってしまいましたが、自分で一度でもCreateWindowでタブを作ったことが
あったらもう少し早く解決できたかもしれないと思うと、自分の未熟さを
思い知らされます。
 
シャノン様ほんとうにどうもありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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