怎么办?我想在CFileDialog的组合框选项变化时获取它的选项...大虾求助! 文件类型组合框吗?查找到该组合框的 ID , 然后CWnd* pCbxWnd = GetDlgItem(ID);if( pCbxWnd ){ pCbxWnd->GetCurSel(...); pCbxWnd->GetLBText(...);} 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 标准对话框的模板可以在 Visual C++ 的 include 目录下面的 FILEOPEN.DLG 文件中找到。如:(但是 cmb1,cmb2 的数值你自己去找了 :-) )NEWFILEOPENORD DIALOG DISCARDABLE 0, 0, 280, 164STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | DS_CONTEXTHELP | WS_CLIPCHILDRENCAPTION "Open"FONT 8, "MS Shell Dlg"BEGIN LTEXT "Look &in:", stc4, 7, 6, 27, 8, SS_NOTIFY COMBOBOX cmb2, 36, 3, 138, 300, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP LTEXT "", stc1, 172, 2, 102, 17, NOT WS_GROUP | NOT WS_VISIBLE LISTBOX lst1, 4, 20, 272, 85, LBS_SORT | LBS_NOINTEGRALHEIGHT | LBS_MULTICOLUMN | WS_HSCROLL | NOT WS_VISIBLE LTEXT "File &name:", stc3, 5, 112, 48, 8, SS_NOTIFY EDITTEXT edt1, 54, 111, 155, 12, ES_AUTOHSCROLL LTEXT "Files of &type:", stc2, 5, 131, 48, 8, SS_NOTIFY COMBOBOX cmb1, 54, 129, 155, 100, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP AUTOCHECKBOX "Open as &read-only", chx1, 54, 148, 74, 10, WS_TABSTOP DEFPUSHBUTTON "&Open", IDOK, 222, 110, 50, 14 PUSHBUTTON "Cancel", IDCANCEL, 222, 128, 50, 14 PUSHBUTTON "&Help", pshHelp, 222, 145, 50, 14END void CMyOpenDlg::OnTypeChange() { CString s; s.Format(_T("OnTypeChange: nFilterIndex = %d\n"), m_ofn.nFilterIndex); AddText(s); }可以获得Filter的Index再通过lpstrFilter 的分割符获得字符串例如CFileDialog cFileDlg( TRUE, (LPCTSTR)NULL, (LPCTSTR)NULL, OFN_ENABLESIZING|OFN_EXPLORER|OFN_LONGNAMES|OFN_OVERWRITEPROMPT|OFN_CREATEPROMPT, "BMP文件(*.bmp)|*.bmp|All Files (*.*)|*.*|", this);"BMP文件(*.bmp)|*.bmp|All Files (*.*)|*.*|", m_ofn.nFilterInde为0,查询到第一个|m_ofn.nFilterInde为1,查询到第二个|和第三个|字符串 昏倒。在 DLGS.H 文件中。下面是一些片断:#define cmb1 0x0470#define cmb2 0x0471#define cmb3 0x0472 #define cmb1 0x0470#define cmb2 0x0471#define cmb3 0x0472#define cmb4 0x0473#define cmb5 0x0474#define cmb6 0x0475#define cmb7 0x0476#define cmb8 0x0477#define cmb9 0x0478#define cmb10 0x0479#define cmb11 0x047a#define cmb12 0x047b#define cmb13 0x047c#define cmb14 0x047d#define cmb15 0x047e#define cmb16 0x047f终于找到了...... TAB怎么修改其他页控件内容 子类化edit 怎样通过编程的方式安装字体? 新建线程 定时发送消息 请教多线程的问题,急死了! 使用CColorDialog类 如何在CBitmapButton上写字? 大家来提提方法阿. 哪位高手帮忙看看如下代码,为什么就是不能创建CSocket类呢? InstallShield for vc++ 能做单个EXE安装包吗? 如何获取一个已知程序的某一个控件的内容,请教高手指点!谢谢!!! 请问如何实现在CListCtrl和CTreeList间的拖动 精通ATL的请进?
如:(但是 cmb1,cmb2 的数值你自己去找了 :-) )
NEWFILEOPENORD DIALOG DISCARDABLE 0, 0, 280, 164
STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION |
WS_SYSMENU | DS_CONTEXTHELP | WS_CLIPCHILDREN
CAPTION "Open"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Look &in:", stc4, 7, 6, 27, 8, SS_NOTIFY
COMBOBOX cmb2, 36, 3, 138, 300,
CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
WS_VSCROLL | WS_TABSTOP LTEXT "", stc1, 172, 2, 102, 17, NOT WS_GROUP | NOT WS_VISIBLE
LISTBOX lst1, 4, 20, 272, 85,
LBS_SORT | LBS_NOINTEGRALHEIGHT | LBS_MULTICOLUMN |
WS_HSCROLL | NOT WS_VISIBLE LTEXT "File &name:", stc3, 5, 112, 48, 8, SS_NOTIFY
EDITTEXT edt1, 54, 111, 155, 12, ES_AUTOHSCROLL LTEXT "Files of &type:", stc2, 5, 131, 48, 8, SS_NOTIFY
COMBOBOX cmb1, 54, 129, 155, 100,
CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP AUTOCHECKBOX "Open as &read-only", chx1, 54, 148, 74, 10, WS_TABSTOP DEFPUSHBUTTON "&Open", IDOK, 222, 110, 50, 14
PUSHBUTTON "Cancel", IDCANCEL, 222, 128, 50, 14
PUSHBUTTON "&Help", pshHelp, 222, 145, 50, 14
END
void CMyOpenDlg::OnTypeChange()
{
CString s;
s.Format(_T("OnTypeChange: nFilterIndex = %d\n"), m_ofn.nFilterIndex);
AddText(s);
}
可以获得Filter的Index
再通过lpstrFilter 的分割符获得字符串例如
CFileDialog cFileDlg( TRUE,
(LPCTSTR)NULL,
(LPCTSTR)NULL,
OFN_ENABLESIZING|OFN_EXPLORER|OFN_LONGNAMES|OFN_OVERWRITEPROMPT|OFN_CREATEPROMPT,
"BMP文件(*.bmp)|*.bmp|All Files (*.*)|*.*|",
this);
"BMP文件(*.bmp)|*.bmp|All Files (*.*)|*.*|",
m_ofn.nFilterInde为0,查询到第一个|
m_ofn.nFilterInde为1,查询到第二个|和第三个|字符串
#define cmb2 0x0471
#define cmb3 0x0472
#define cmb2 0x0471
#define cmb3 0x0472
#define cmb4 0x0473
#define cmb5 0x0474
#define cmb6 0x0475
#define cmb7 0x0476
#define cmb8 0x0477
#define cmb9 0x0478
#define cmb10 0x0479
#define cmb11 0x047a
#define cmb12 0x047b
#define cmb13 0x047c
#define cmb14 0x047d
#define cmb15 0x047e
#define cmb16 0x047f终于找到了......