WTLお勉強スレッド
■ このスレッドは過去ログ倉庫に格納されています
0496489
NGNG俺もそう思ってやってみてたんだけど、同じようにやると、
class MyListView : public CWindowImpl<MyListView, CListViewCtrl> {
private:
typedef CWindowImpl<MyListView, CListViewCtrl> _BaseClass;
BEGIN_MSG_MAP_EX(MyListView)
MESSAGE_HANDLER(WM_CREATE, OnCreate)
END_MSG_MAP()
LRESULT OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL & bHandled)
{
/* A */
if (_BaseClass::OnCreate(uMsg, wParam, lParam, bHandled) != 0)
return -1;
/* B */
/* 独自の初期化 */
/* bHandled = FALSE; */
return 0;
}
};
派生元クラスにOnCreateが無いって言われるんだよね。
で、/*A*/から/*B*/までを消してやると独自の初期化は行われるんだが
派生元であるCListVewCtrl自体の初期化が正常に行われない。
ちなみに独自の初期化の後の /* bHandled = FALSE; */をコメントアウトすれば、
ちゃんと派生元の初期化も行われるんだが、その前にSetViewType(LVS_REPORT)とかしていると、
その設定が初期化されてしまう。
誰か、いい方法知らない?
■ このスレッドは過去ログ倉庫に格納されています