CTabCtrlの枠が立体的にならない – プログラミング – Home

CTabCtrlの枠が立体的にならない
 
通知
すべてクリア

[解決済] CTabCtrlの枠が立体的にならない


カミーユ
 カミーユ
(@カミーユ)
ゲスト
結合: 22年前
投稿: 16
Topic starter  

お世話になってます。
VC++の左側にあるClassView,ResourceView,FileViewを切り替えるようなものを作ろうと思
い、以下のようなコードを書いてみました。

class CMyView : public CScrollView
{
//前略

protected:
CTreeCtrl m_treeCtrl;
CTabCtrl m_tabCtrl;

//後略
};

int CMyView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CScrollView::OnCreate(lpCreateStruct) == -1)
return -1;

// TODO: この位置に固有の作成用コードを追加してください
m_tabCtrl.Create(WS_CHILD | WS_VISIBLE, CRect(0, 0, 0, 0), this, 1);
m_tabCtrl.SendMessage(WM_SETFONT, (WPARAM)GetStockObject(DEFAULT_GUI_FONT),
0);

m_tabCtrl.InsertItem(0, TEST1);
m_tabCtrl.InsertItem(1, TEST2);
m_tabCtrl.InsertItem(2, TEST3);

m_treeCtrl.Create(WS_CHILD | WS_VISIBLE, CRect(0, 0, 0, 0), &m_tabCtrl, 1);

return 0;
}

void CMyView::OnSize(UINT nType, int cx, int cy)
{
CScrollView::OnSize(nType, cx, cy);

// TODO: この位置にメッセージ ハンドラ用のコードを追加してください
m_tabCtrl.MoveWindow(0, 0, cx, cy);

RECT r;
m_tabCtrl.GetClientRect(&r);
m_tabCtrl.AdjustRect(FALSE, &r);
m_treeCtrl.MoveWindow(&r);
}

一応はそれっぽく表示できたのですが、よく見るとタブコントールの外枠が3Dになっておらず、
m_treeCtrlがのっぺりと平面的にm_tabCtrlの上に乗っているように表示されます。
(こんな説明で理解してもらえますか?)

そこで質問なのですがタブコントールの外枠を3Dっぽくするにはどうしたらいいでしょうか?
ご教授ください。

開発環境はWin Me, VC++6.0SP5 MFCです。


引用未解決
トピックタグ
Wanderer
 Wanderer
(@Wanderer)
ゲスト
結合: 22年前
投稿: 35
 

以下のようにCTreeCtrlを作成してみてください。

m_treeCtrl.CreateEx(WS_EX_CLIENTEDGE, WC_TREEVIEW, NULL, WS_CHILD |
WS_VISIBLE, CRect(0, 0, 0, 0), &m_tabCtrl, 1);


返信引用
カミーユ
 カミーユ
(@カミーユ)
ゲスト
結合: 22年前
投稿: 16
Topic starter  

ありがとうございました。
期待通りに表示されました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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