C++给人的第一感觉便是过于专业化,高深和晦涩。其实也并非如此,在基本掌握了它之后你就会发现,VC++使用起来是很方便的。至于说难,那是有点。但这并非是VC++的过错,而是Windows,这个庞大无比对用户亲切之至却对程序员不那么友好的家伙。再说,VC++系出自名门,微软的哪样东西不是先把你服侍得舒舒服服,然后再把你口袋中的钱掏个精光呢?好,下面就向大家介绍几个在使用中的小技巧。
1.使用中文
VC++从1.5版到现在的6.0版,好像还没有出现过像VB一样的中文版。大概是Microsoft认为能够用VC++编程的人英文水平都很高吧,但这对用户可不行啊。VC++在中文平台下可以使用中文,但编译后那些按钮上的、对话框上的中文都成ASCII码了。何故?因为VC++在安装时是默认按单字节字符安装的,而中文字符是双字节编码,自然就不能正确显示了。要解决这个
问题其实也很容易,将VC++光盘上DEVSTUDIO\SHAREDIDE\BIN\IDE路径下的中文资源语言模块Appwzchs.dll拷贝至硬盘DevStudio\SharedIDE\BIN\IDE路径下即可。
2.位图按钮的使用
我们知道Windows是一个图形界面的操作系统,如果在我们的应用
程序中加入一些图形的话,会起到锦上添花的效果。在VC++中使用位图,并不像在VB中信手拈来那么简单。不过也并不复杂,其中以位图按钮用途较广。
选定要使用位图的按钮(以OK按钮为例,假设其标识符为IDC_BtonOK),选其属性中的Owner draw选项,此时,在对话框编辑器中就可看到原先显示在按钮上的字符都消失了。将按钮的Caption改为OK(必须为大写)。打开Insert菜单,单击其中的Resource选项,随后选择Bitmap。再按下Import(导入)按钮,将所需位图导入项目(Project)。可以在Resource View窗口中通过右键单击刚才导入的位图,将其ID(标识符)改为“OKU”,注意:字符必须为大写,双引号及字母U必不可少。字母U代表的按钮为按下状态时所显示的位图。此外还可使用后缀D、F、X,分别表示按下、拥有输入焦点时、按钮处于无效状态时所显示的位图。通过对同一个按钮的不同状态使用不同的位图,很容易做出具有动态效果的按钮。
当将按钮所需使用的位图导入到项目中后,就应该在使用位图按钮的那个对话框的类声明文件中加入位图按钮变量的定义CBitmapButton m_BtonOK。同时,在适当的位置(一般是在对话框的OnInitDialog()函数中)加入如下语句:m_BtonOK.AutoLoad(IDC_BtonOK),使
程序在? 时将位图装入内存并显示。至此,创建位图按钮的整个步骤即告结束。
上述方法不仅限于创建位图按钮,还可用于在对话框上显示简单的位图。嘘,告诉你一个小秘密,位图按钮所使用的颜色最多可达256种,而非位图编辑器中的16种。但对于256色位图,当在导入VC++的位图编辑器后就不能使用该编辑器作任何修改。否则在编译连接后,原先256色位图就变成16色位图了。
3.通用对话框的使用
在编程中,自己要设计存储或打开文件时的对话框是件很头疼的事。不过Windows既然已经为我们提供好了现成的通用对话框,只管拿来用就是了。先在使用文件对话框的类的类定义文件中加入对象定义CFileDialog m_OpenDialog(TRUE,"txt","*.txt")。随后,在需要使用该对话框的地方加入以下语句:m_OpenDialog.Domodal();
其调用规则为:
CFileDialog(BOOL bOpenFileDialog,LPCTSTR lpszDefExt=NULL,LPCTSTR lpszFileName=NULL,DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPR OMPT,LPCTSTR lpszFilter=NULL,CWnd * pParentWnd
=NULL);
第一个参数 | bOpenFileDialog为TRUE或FALSE。TRUE为打开文件;FALSE为保存文件。 |
第二个参数 | lpszDefExt为缺省的扩展名。 |
第三个参数 | lpszFileName为显示在文件名组合框的编辑框的文件名,一般可选NULL |
第四个参数 | dwFlags为对话框风格,一般为OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,即隐藏只读选项和覆盖已有文件前提示。 |
第五个参数 | LpszFilter为下拉列表枢中显示文件类型。 |
第六个参数 | pParentWnd一般可选NULL。 |