CFileDialog文件选择对话框的使用:
首先构造一个对象并提供相应的参数,构造函数原型如下:
CFileDialog::CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter = NULL, CWnd* pParentWnd = NULL );参数意义如下:
- bOpenFileDialog 为TRUE则显示打开对话框,为FALSE则显示保存对话文件对话框。
- lpszDefExt 指定默认的文件扩展名。
- lpszFileName 指定默认的文件名。
- dwFlags 指明一些特定风格。
- lpszFilter 是最重要的一个参数,它指明可供选择的文件类型和相应的扩展名。参数格式如:
"Chart Files (*.xlc)|*.xlc|Worksheet Files (*.xls)|*.xls|Data Files (*.xlc;*.xls)|*.xlc; *.xls|All Files (*.*)|*.*||";文件类型说明和扩展名间用 | 分隔,同种类型文件的扩展名间可以用 ; 分割,每种文件类型间用 | 分隔,末尾用 || 指明。 - pParentWnd 为父窗口指针。
创建文件对话框可以使用DoModal(),在返回后可以利用下面的函数得到用户选择:
- CString CFileDialog::GetPathName( ) 得到完整的文件名,包括目录名和扩展名如:c:/test/test1.txt
- CString CFileDialog::GetFileName( ) 得到完整的文件名,包括扩展名如:test1.txt
- CString CFileDialog::GetExtName( ) 得到完整的文件扩展名,如:txt
- CString CFileDialog::GetFileTitle ( ) 得到完整的文件名,不包括目录名和扩展名如:test1
- POSITION CFileDialog::GetStartPosition( ) 对于选择了多个文件的情况得到第一个文件位置。
- CString CFileDialog::GetNextPathName( POSITION& pos ) 对于选择了多个文件的情况得到下一个文件位置,并同时返回当前文件名。但必须已经调用过POSITION CFileDialog::GetStartPosition( )来得到最初的POSITION变量。
创建ODBC数据源可以调用Windows系统子目录下的动态链接库ODBCCP32.DLL中的函数SQLConfigDataSource(),该函数可以动态地增加、修改和删除数据源。
SQLConfigDataSource()的原型如下:
BOOL SQLConfigDataSource(HWND hwndParent, UINT fRequest, LPCSTR IpszDriver, LPCSTR IpszAttributes);
其中四个参数的用法如下:
●参数hwndPwent是父级窗口句柄。如果句柄为NULL,将不会显示一些有关的对话框。如果参数 IpszAttributes提供的信息不够完善,在创建过程中就会出现对话框要求用户提供相应信息。
●参数fRequest可以设置为下面的数值之一:
ODBC_ADD_DSN: 增加_个新数据源
ODBC_CONHG_DSN: 配置(修改)一个已经存在的数据源
ODBC_REMOVE_DSN: 删除一个已经存在的数据源
ODBC_ADD_SYS_DSN: 增加一个新的系统数据源
ODBC_CONFIG_SYS_DSN: 更改一个已经存在的系统数据源
ODBC_REMOVE_SYS_DSN: 删除一个已经存在的系统数据源
●参数lpszDriver是数据库引擎名称,可以参见ODBC管理器中对ODBC驱动程序的描述。比如要加载的是Excel数据库,那么数据库引擎名称就为Microsoft Excel Driver(*.xls)
●参数lpszAttributes为一连串的"KeyName=value"字符串,每两个KeyName值之间用/0""字符隔开(或者/0隔开即可)。KeyName主要是新数据源缺省的驱动程序注册说明,其中最主要的关键字是"DSN"(新数据源的名称)和"DBQ"(数据源的地址),其余关键字则根据不同的数据源有不同要求。关于lpszAttributes参数的具体设置,详细可以参考Windows系统目录下帮助文件Odbcjtn.hlp主题目录标签中的"ODBC API函数改变|SQLConfigDatasource"条目。
SqlConfigDataSource的应用条件:
使用SqlConfigDataSource函数之前,必须把ODBCINST.H文件包含在工程头文件中,将ODBCCP32.LIB加入工程,同时保证ODBCCP32.DLL运行时处于系统子目录下。
若使用VC6.0,在安装目录中的Lib文件夹下寻找ODBCCP32.LIB并添加到工程中;若使用的是VC2005,貌似安装目录的lib文件夹下没有该lib文件,只能使用VC6.0下的......
例:






