■ VisualC++(MFC限定)相談室 5■
■ このスレッドは過去ログ倉庫に格納されています
0095Melt-D
NGNGダイアログのエディットボックスから取った文字列を
リストに表示する処理を行っています。
・edit_dlgはCDialogの派生クラスのオブジェクトです。
・m_listCtrlはCListCtrlクラスの派生クラスのオブジェクトです。
・bufはchar型配列です
<<問題点>>
リストが正しく表示されません。
CListCtrl::InsertItemで設定した(LPCTSTR)edit_dlg.m_id_editは表示される。
CListCtrl::SetItemで設定した以下の文字列が表示されない。
既に設定してあるリストを編集する形でCListCtrl::SetItemTextを使った場合
更新はされる。
何か抜けているのがありましたらご指摘お願いします。
if( edit_dlg.DoModal() )
{
LV_ITEMmyItem;
myItem.mask = LVIF_TEXT;
myItem.iItem = m_listCtrl.GetItemCount() + 1;
myItem.iSubItem = 0;
strcpy( buf, (LPCTSTR)edit_dlg.m_id_edit ); //m_id_editはCString型
myItem.pszText = buf;
int iItem = m_listCtrl.InsertItem(&myItem);
myItem.iSubItem = 1;
myItem.mask = LVIF_TEXT;
ZeroMemory( buf, sizeof( buf ) );
strcpy( buf, (LPCTSTR)edit_dlg.m_app_edit );m_app_editはCString型
myItem.pszText = buf;
m_listCtrl.SetItem(&myItem);
myItem.iSubItem = 2;
myItem.mask = LVIF_TEXT;
ZeroMemory( buf, sizeof( buf ) );
strcpy( buf, (LPCTSTR)edit_dlg.m_slocal_edit );m_slocal_editはCString型
myItem.pszText = buf;
m_listCtrl.SetItem(&myItem);
myItem.iSubItem = 3;
myItem.mask = LVIF_TEXT;
ZeroMemory( buf, sizeof( buf ) );
strcpy( buf, (LPCTSTR)edit_dlg.m_clocal_edit );
myItem.pszText = buf;
m_listCtrl.SetItem(&myItem);
///(途中省略・・・)///
m_listCtrl.SetItem(&myItem);
m_listCtrl.Update(iItem);
}
■ このスレッドは過去ログ倉庫に格納されています