私のアプリケーションでは、mfc リスト コントロールを含むモーダル ダイアログを作成します。リスト コントロールの列または項目を初期化しないと、ダイアログはエラーなしで表示されます。リスト コントロールに列を追加しようとすると、次のDebug Assertion Failedメッセージが表示されます。
それが役立つ場合、ブレークポイントは
_AFXCMN_INLINE int CListCtrl::InsertColumn(int nCol, const LVCOLUMN* pColumn) { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, LVM_INSERTCOLUMN, nCol, (LPARAM)pColumn); }
に次のコードを使用して列ヘッダーを追加しようとしていますOnInitDialog()
:
BOOL EventL::OnInitDialog()
{
m_ListEventLog.InsertColumn(0, _T("Description"), LVCFMT_LEFT, 250); //Failure happens HERE
//m_ListEventLog.InsertColumn(0, "Description", LVCFMT_LEFT, 200, 0); //I have also tried things such as this.
return FALSE;
}
この方法で、アプリケーションの他の CListControls に列ヘッダーを問題なく追加します。モーダル ダイアログは次のコードで呼び出されます。
void ListOption::OnBnClickedEventLog()
{
EventL eventLog;
eventLog.DoModal();
}