解説
WTLやMFC派生のクラスを使えば簡単にリストビューを作れる。例えばアイテムの追加の AddItem()はAPIでのInsertItem()まで呼んでくれて便利。ソースコード
太字で示した部分を追加する。class CxxxView : public CWindowImpl{ public: DECLARE_WND_SUPERCLASS(NULL, CListViewCtrl::GetWndClassName()) BOOL PreTranslateMessage(MSG* pMsg) { pMsg; return FALSE; } BEGIN_MSG_MAP(CxxxView) MESSAGE_HANDLER(WM_CREATE, OnCreate) END_MSG_MAP() protected: LRESULT OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) { LRESULT lRet = DefWindowProc(); SetFont(AtlGetDefaultGuiFont()); //リストビューに変更 SetViewType(LVS_REPORT); //1行選択、TIPSによる表示 SetExtendedListViewStyle(LVS_EX_INFOTIP | LVS_EX_FULLROWSELECT); ////////////////////////// //カラム名設定 // InsertColumn(0, _T("カラム1"), LVCFMT_LEFT,100, -1); InsertColumn(1, _T("カラム2"), LVCFMT_LEFT,100, -1); InsertColumn(2, _T("カラム3"), LVCFMT_LEFT,100, -1); InsertColumn(3, _T("カラム4"), LVCFMT_LEFT,100, -1); ////////////////////////// //アイテム追加 // AddItem(_T("アイテム1"),_T("AAA"),_T("BBB"),_T("CCC")); AddItem(_T("アイテム2"),_T("DDD"),_T("EEE"),_T("FFF")); AddItem(_T("アイテム3"),_T("GGG"),_T("HHH"),_T("III")); AddItem(_T("アイテム4"),_T("JJJ"),_T("KKK"),_T("LLL")); return lRet; } // // アイテム追加用関数 // bool AddItem(LPCTSTR pszColumn1,LPCTSTR pszColumn2,LPCTSTR pszColumn3,LPCTSTR pszColumn4) { int nIndex; nIndex = GetItemCount(); CListViewCtrl::AddItem(nIndex, 0, pszColumn1); CListViewCtrl::AddItem(nIndex, 1, pszColumn2); CListViewCtrl::AddItem(nIndex, 2, pszColumn3); CListViewCtrl::AddItem(nIndex, 3, pszColumn4); return true; } };







