MFC打开文件并发送字符串消息

void CvtkmfcDoc::OnFileOpen()
{
CString szFilters = _T("stl文档(*.stl)|*.stl|vtk文档(*.vtk)|*.vtk|所有文档(*.*)|*.*|");


CFileDialog OpenDlg(TRUE, _T("*.stl"),NULL, OFN_HIDEREADONLY, szFilters);
OpenDlg.m_ofn.lpstrTitle = (LPCTSTR) _T("Open File");



if (IDOK == OpenDlg.DoModal())
{  
CString str; 
CFile File;
CFileException e;
//构造文件,同时增加异常处理  
if (!File.Open(OpenDlg.GetPathName(), CFile::modeRead, &e))
{
CString strErr;
strErr.Format(_T("File could not be opened %d\n"), e.m_cause);
   
}
str= OpenDlg.GetPathName();
char *strChar = (char*)str.GetBuffer(str.GetLength()+1);
str.ReleaseBuffer();

CString str1 ;
str1.Format(_T("%s"), strChar);
//CString suffixStr = str.substr(str.fin('.') + 1);//获取文件后缀  
CMainFrame *pMain = (CMainFrame*)AfxGetApp()->m_pMainWnd;
CvtkmfcView *pView = (CvtkmfcView *)pMain->GetActiveView();
SendMessage(pView->m_hWnd, WM_MSG3DSHowSTLMSG, WPARAM(str1.GetBuffer(str1.GetLength() + 1)), (LPARAM)(str1.GetBuffer(str1.GetLength() + 1)));
str1.ReleaseBuffer();
return;
}


}

Cstring 转为String格式

LRESULT CvtkmfcView::On3DSTLResponseFunction(WPARAM wParam, LPARAM lParam)



CString str;
str.Format(_T("%s"), (CHAR*)wParam);
std::string path = CT2A(str);
//(LPCSTR)str.GetBuffer(str.GetLength());
readStllFunction(path);
return 0;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值