怎样更改CFileDialog的标题? 怎么更改对话框上按钮的标题?

puyinghua 2002-12-16 11:40:43
如题, 可用分:42
没分了, 呵呵
...全文
151 点赞 收藏 14
写回复
14 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
cbc 2002-12-17
1.从CFileDialog继承一个子类CMyDialog
2.重载OnInitDialog()
3.在OnInitDialog()加入

SetControlText(IDOK,"test");
SetControlText(IDCANCEL,"cancel1");
回复
kingcom_xu 2002-12-17
得到句柄后进行子类化后你想对它做什么都可以了。。。
回复
kingcom_xu 2002-12-17
FindWindow是可行的。。。
至少有三种方法。。。
1.SetWindowHookEx。。。得到新窗口产生的消息并对其子类化或者用FindWindow!
2.新模式窗口产生后主窗口后收到WM_active消息。。。这时可用FindWindow
3.在新模式窗口产生之前SetTimer。。。然后响应wm_timer并Findwindow

具体可看这一贴:
http://expert.csdn.net/Expert/topicview.asp?id=1187389
回复
puyinghua 2002-12-17
up 还有一问题呢? 没法解决吗?
回复
romanticist 2002-12-16
SetWindowText(...);
回复
yinx 2002-12-16
惭愧惭愧。,我的可用分还有四千多
回复
hanwg 2002-12-16
重载OnIntialdialog函数,加上代码:
SetWindowText(...);
SetDlgItemText( int nID, LPCTSTR lpszString );
回复
yinx 2002-12-16
这样呗:
先findwindow()
再setwindowtext()
直接用windows的api
回复
lightwell 2002-12-16
OPENFILENAME
The OPENFILENAME structure contains information that the GetOpenFileName and GetSaveFileName functions use to initialize an Open or Save As common dialog box. After the user closes the dialog box, the system returns information about the user's selection in this structure.

typedef struct tagOFN { // ofn
DWORD lStructSize;
HWND hwndOwner;
HINSTANCE hInstance;
LPCTSTR lpstrFilter;
LPTSTR lpstrCustomFilter;
DWORD nMaxCustFilter;
DWORD nFilterIndex;
LPTSTR lpstrFile;
DWORD nMaxFile;
LPTSTR lpstrFileTitle;
DWORD nMaxFileTitle;
LPCTSTR lpstrInitialDir;
LPCTSTR lpstrTitle;
DWORD Flags;
WORD nFileOffset;
WORD nFileExtension;
LPCTSTR lpstrDefExt;
DWORD lCustData;
LPOFNHOOKPROC lpfnHook;
LPCTSTR lpTemplateName;
} OPENFILENAME;

回复
puyinghua 2002-12-16
To andy_lau:
能不能把按钮的标题改成别的呢? 如构造时是true则为打开, 如别存,为保存, 能不能改为别的?

回复
andy_lau 2002-12-16
dlg.m_ofn.lpstrTitle="备份数据库"; //改变标题
回复
andy_lau 2002-12-16
char BASED_CODE szFilter[] = "Microsoft Access Fiel(*.mdb)|*.mdb|All Files (*.*)|*.*||";
CFileDialog dlg(TRUE,"mdb","*.mdb",OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,szFilter);
dlg.m_ofn.lpstrTitle="备份数据库";
if(dlg.DoModal()==IDCANCEL)
return;
回复
puyinghua 2002-12-16
hanwg() ( ) 的说法中,nId得不到, 因为是微软已经构建好的类, 源代码你是看不到的, 谁知道对话框的ID啊?
回复
puyinghua 2002-12-16
yinx(yinx) ( )说法不可行啊, findwindow是得在显示出窗口后的, 可是那时候"打开"对话框都已经显示了, 再说domodal后, 程序停顿, 呵呵
回复
相关推荐
发帖
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
帖子事件
创建了帖子
2002-12-16 11:40
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……