掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
リストビューで印刷するには (ID:56699)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
はじめまして リストビューで印刷しようとしていますが文字が重なってしまいます。 りんご、みかん、かき、なし、ももと印刷しようとすると同じ座標のところへ重なってしまい数値も同じようになるのです。解決方法お教え願います。 こーどは以下の通りです、XP、VC6、MFCです。 void CToyView::OnPrint(CDC* pDC, CPrintInfo* pInfo) { CToyDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); m_lv.DeleteAllItems(); int nTotal = 0; int nTotal2 = 0; int nPage = GetTabCtrl().GetCurSel(); const CASHLIST& cl = pDoc->GetCashList(); CString cs; POSITION pos = cl.GetHeadPosition(); int nIdx = 0; while( pos != NULL){ POSITION posCur = pos; const CASHITEM& ci = cl.GetNext( pos); int nCat = ci.nCategory; if( nPage == 0 || nCat == nPage){ cs.Format( _T("%u"), ci.uDate); m_lv.InsertItem( nIdx, cs); cs.Format( _T("%d"), ci.Su); m_lv.SetItemText( nIdx, 1, ci.EditNumber1); m_lv.SetItemText( nIdx, 2, ci.csName); switch( nCat){ case 1: cs = _T("みかん"); break; case 2: cs = _T("かき"); break; case 3: cs = _T("りんご"); break; case 4: cs = _T("なし"); break; case 5: cs = _T("もも"); break; } m_lv.SetItemText( nIdx, 3, cs); if( nCat == 1){ nTotal += ci.nPrice; nTotal2 += ci.nPrice; if( nCat == 1){ nTotal += ci.nPrice; if( nCat == 2){ nTotal += ci.nPrice; } } } else{ nTotal2 += ci.nPrice; nTotal2 += ci.Su; } cs.Format( _T("%d"), ci.nPrice); m_lv.SetItemText( nIdx, 4, cs); m_lv.SetItemData( nIdx, (DWORD)posCur); nIdx++; } } // 空行の挿入 m_lv.InsertItem( nIdx, _T("") ); m_lv.SetItemData( nIdx, (DWORD)NULL); // 合計の挿入 nIdx++; ////////////////////////////////////////////ここで数値を表示、重なってしまう."cs"が数値の変数 int ihce; int yybe = 4800; for ( ihce = 0; ihce < 1; ++ihce ) { pDC->TextOut(2000, yybe, cs); yybe += 100; } //////////////////////////////////////////////////// m_lv.InsertItem( nIdx, _T("合計") ); cs.Format( _T("%d"), nTotal); m_lv.SetItemText( nIdx, 5, cs); m_lv.SetItemData( nIdx, (DWORD)NULL); }
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.