想实现单击list列表一行文件时,获取其地址,读取这个txt里内容,存到list2中。
现在有两个问题,一个是char* pszFileName=nIndex1这里地址不知道怎么修改才能获取,还有一个是txt文档在读到换行时就停止了,不知道怎么解决,求大侠赐教~~~~~~~~~~~~~~~~~
void CFindFilesDlg::OnClickList(NMHDR* pNMHDR, LRESULT* pResult)
{
CWaitCursor waitCursor;
char nIndex1 = m_list.GetSelectionMark(); char* pszFileName=nIndex1;
CStdioFile myFile;
CFileException fileException;
if(myFile.Open(pszFileName,CFile::typeText|CFile::modeReadWrite),&fileException)
{ myFile.SeekToBegin();
CString str1;
myFile.ReadString(str1);
CString str2;
myFile.ReadString(str2); m_list2.InsertItem(0,str1); }
else
{
TRACE("no open %s,error=%u\n",pszFileName,fileException.m_cause);
}
myFile.Close();
}
现在有两个问题,一个是char* pszFileName=nIndex1这里地址不知道怎么修改才能获取,还有一个是txt文档在读到换行时就停止了,不知道怎么解决,求大侠赐教~~~~~~~~~~~~~~~~~
void CFindFilesDlg::OnClickList(NMHDR* pNMHDR, LRESULT* pResult)
{
CWaitCursor waitCursor;
char nIndex1 = m_list.GetSelectionMark(); char* pszFileName=nIndex1;
CStdioFile myFile;
CFileException fileException;
if(myFile.Open(pszFileName,CFile::typeText|CFile::modeReadWrite),&fileException)
{ myFile.SeekToBegin();
CString str1;
myFile.ReadString(str1);
CString str2;
myFile.ReadString(str2); m_list2.InsertItem(0,str1); }
else
{
TRACE("no open %s,error=%u\n",pszFileName,fileException.m_cause);
}
myFile.Close();
}
解决方案 »
- C中的Char数组,对应在delphi中该如何写呀?
- CSocket.detach()问题????????????
- 菜鸟的问题
- ??在VC类中,怎样声明一个事件,就象VB的withEvents功能,不知道用VC如何来实现??
- 请问directx编程的问题,谢谢帮忙!
- 关于MSDN2003和Visual Studio的问题
- 局域网问题(分没有问题)急!!!!
- 我写一个控制台程序,用_beginthread和_beginthreadex开一个线程,出现了一个奇快的问题,般赐教!!!高分!!!
- 请问在VC++中如何实现窗体间的数据传递
- 高手签定题
- 用CPicture::Load(UINT nIDRes)载入资源图像的问题
- 求VC++ 大型整流设备 监控界面 代码
int GetItemText( int nItem, int nSubItem, LPTSTR lpszText, int nLen ) const;
CString GetItemText( int nItem, int nSubItem ) const;UINT Read( void* lpBuf, UINT nCount );用这几个试试
{
CWaitCursor waitCursor;
int nIndex1 = m_list.GetSelectionMark();
if(-1 == nIndex1)
return ;
CString strText = m_list.GetItemText(nIndex1,0);CStdioFile myFile;
CFileException fileException;
CString strLine;
if(myFile.Open(strText,CFile::typeText|CFile::modeReadWrite),&fileException)
{
while(myFile.ReadString(strLine))
{
m_list2.InsertItem(0, _T(""));
m_list2.SetItemText(0, 0, strLine);
}
}
else
{
TRACE("no open %s,error=%u\n",pszFileName,fileException.m_cause);
}
myFile.Close();
}
{
// 确定单击的listctrl的行列号方法1
DWORD dwPos = GetMessagePos();
CPoint point( LOWORD(dwPos), HIWORD(dwPos) ); m_list.ScreenToClient(&point); LVHITTESTINFO lvinfo;
lvinfo.pt = point;
lvinfo.flags = LVHT_ABOVE;
int nItem = m_list.SubItemHitTest(&lvinfo);
if(nItem != -1)
{
CString strtemp;
strtemp.Format( "单击的是第%d行第%d列 ", lvinfo.iItem, lvinfo.iSubItem);
}
*pResult = 0;
}