首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >cdr9导出对话框遮挡怎么办_sldprt文件ug怎么打开

cdr9导出对话框遮挡怎么办_sldprt文件ug怎么打开

作者头像
全栈程序员站长
发布2022-11-09 16:16:23
发布2022-11-09 16:16:23
1.3K0
举报

说明

因为之前旧项目采用的是 MFC+BCG 界面库的方法实现的。维护旧项目过程中,遇到选择文件对话框没有从默认位置选择的问题,学习和思考后,问题得到解决,特此记录。

原来的 BCG中配置选择的方法是这样的:

代码语言:javascript
复制
	lpszDefExt = _T("DAT");
	lpszFilter = _T("文件|*.dat|\
					 文件|*.bln|\
					 文件|*.xyz|\
					 文件|*.txt||");  

	m_editDataName.EnableFileBrowseButton (lpszDefExt,lpszFilter);

相当于,BCG内部已经帮我们实现完全了。不好做修改。

BCG中的继承

代码语言:javascript
复制
class CCustomBrowseEdit : public CBCGPEdit
{
	virtual void OnBrowse ();
};
	
void CCustomBrowseEdit::OnBrowse ()
{
	//文件类型过滤
    const TCHAR pszFilter[] = _T("dat File (*.dat)|*.dat|");

    //第一个参数为TRUE是打开文件,为FALSE是文件另存为
    CFileDialog dlg(FALSE, this->m_strDefFileExt, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
        this->m_strFileFilter, this);

	//设置对话框默认呈现的路径
    dlg.m_ofn.lpstrInitialDir = WorkDir; 

    if (dlg.DoModal() == IDOK)
    {
        //获取选中的文件的路径
        CString strFilePath = dlg.GetPathName();

		this->SetWindowText(strFilePath);
    }
}

继承类,通过重写 OnBrowse 方法,实现改变了对话框默认选择的方式

this->m_strDefFileExt 这个利用继承了BCG类的方法,访问了BCG的成员。 this->SetWindowText(strFilePath); 这个利用继承了CEdit类的方法,访问了CEdit的成员,实现了设定编辑框的文本。

总结

  1. 多看示例文档,总会有新的思路
  2. 不断尝试,永不放弃!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/184611.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月8日 ,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 说明
  • BCG中的继承
  • 总结
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档