タブコントロールのタブを上ではなく
左に表示することは可能でしょうか?
VBでは簡単にできるんですが、VCだとやり方がわからないです。。。
どなたかご教授お願いします。
環境:WinXP(SP2) + VC2003 + MFC
TCS_VERTICAL コントロールスタイルを使えばよいのでは?
編集 削除レスありがとうございます。
コントロールがのっているFormViweの
OnInitialUpdate()で以下のようにやってみましたが、変化無しでした・・・
DWORD dwExStyle = m_tbs_select.GetExtendedStyle();
m_tbs_select.SetExtendedStyle(dwExStyle | TCS_MULTILINE | TCS_VERTICAL);
MSDNを見ると、以下のように書いてありました。
TCS_VERTICAL
Version 4.70. Tabs appear at the left side of the control, with tab text displayed vertically. This style is valid only when used with the TCS_MULTILINE style. To make tabs appear on the right side of the control, also use the TCS_RIGHT style. This style is not supported if you use ComCtl32.dll version 6.
環境がXPなので必然的にComCtl32.dllはVer6で、
なおかつマニフェストを作成してビジュアルスタイルで表示させています。
やはりこの環境下では不可能ということなのでしょうか。。。汗
TCS_VERTICAL は、拡張スタイルではないようですが。
普通のスタイルは、ModifyStyle で変更します。
また、リソースエディタを使っているなら、
「垂直方向」プロパティでできませんか?
レスありがとうございます。
縦表示 のプロパティをTrueに設定してみましたが、
変化なしでした。
Version 6のComCtl32.dllを使う指定をしなければ,Windows XPであってもComCtl32.dll Ver. 6が使われることはないです。
どうしてもVersion 6を使いたいのであれば,標準コントロールでは処理でいないことを前提に,自分で描画するなりする必要があります。
レスどうもです。
ビジュアルスタイルを指定しているので、
使用されるComCtl32.dllのバージョンはVer6固定だと思いますがちがうのでしょうか?Ver6を使用していなければビジュアルスタイルにはならないはずですし・・・
(ビジュアルスタイル(Windows XP スタイル)にしなければVer5が使用されますが・・・)
今回はあきらめて、COMのTabStripを使うかな・・・
いろいろ調べた結果、できないということで
一応解決と致します。
チェック忘れてた。
編集 削除