2、网上“用VS2008 Feature Pack 修改您现有的Visual C++的程序界面”有很多,在用以下在CMainFrame::OnCreate()函数的最后部分,添加代码设定当前界面的风格:
CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerOffice2007));
CMFCVisualManagerOffice2007::SetStyle(CMFCVisualManagerOffice2007::Office2007Luna_Blue);
系统将会出现“Cannot load Style”错误! 调试了很长时间,才找出原因:
4 #if !defined _AFXDLL
5 TRACE(_T(\"\\r\\nImportant: to enable the Office 2007 look in static link,\\r\\n\"));
6 TRACE(_T(\"include afxribbon.rc from the RC file in your project.\\r\\n\\r\\n\"));
7 ASSERT(FALSE); 8 #endif
需要在方案的RC文件中include afxribbon.rc资源。
3、 问题: 关于vs2008 MFC 类库设计程序界面的问题: 我在\"菜单资源\"中修改了一些菜单的标题,同时又添加了几个菜单项,但在程序编译运行后我的修改没有起作用,菜单没变化! VS2008集成了BCG类库,设计的程序允许用户在运行时动态修改菜单项,所以它每次运行后都会记住上次的菜单项,这样你的修改就不起作用了。要解决这个问题,只需要在运行时选择菜单“View|Toolbars|Customize”,然后在对话框中选择Menu标签,然后点击Reset就可以了。
4、在VS2008 MFC Feature Pack类库设计程序界面时,修改工具条也会出现无法更新的问题。 和以上同理,只需要在运行时将自定义工具栏的对话框打开,在其中选择toolbars选项卡,点击Reset All按钮即可实现即时更新。
5、关于工具条隐藏的问题。
隐藏工具栏用CFrameWndEx的ShowWindow(SW_HIDE)和ShowPane(FALSE, ...)均可。 如果程序开始就需要将某个工具条tool隐藏,在OnCreate()中建立工具条后(tool.CreateEx),不能习惯用DockPane(&tool);否则,无论如何这个工具条将会显示你Dock的位置上。
6、整数转换为字符串,不够前面补0,如3转换为字符串时为\"003\"。 CString str;
int n=3;
str.Format(\"%03d\
7、解决在VS2008中“要求源文件和版本匹配......”的问题
今天在Visual Studio 2008中调试某个程序时遇到一个奇怪问题
就是在某个源文件中设置的断点老是无效,提示“当前不会命中断点。源代码与原始版本不同”信息
清理项目、重编项目、重新拷贝原文件都解决不了问题
1)“工具”,“选项”,“调试”,“要求源文件与原始版本完成匹配”去掉勾。我没有用这种方法,总觉得将勾掉不太安全。
2)通过重新格式化出问题的源文件亦可以解决,即在VS2005中选择 “编辑”-“高级”-“设置选定内容的格式”。我用这个方法解决,将源文件全部选定,设置格式即可!
8、oracle10g含有BLOB字段的表用ADO打不开!
用的是微软的那种oracle连接字符串MSDAORA.1!! 要用oracle的才能正常打开含有blob字段的记录集,即用以下这种:
m_pConn->Open(L\"Provider=OraOLEDB.Oracle.1;User ID=pkuwh_za;password=a;Data Source=223;Persist Security Info=False\
Oracle provider for OLE DB 支持BLOB字段,但是对字符数据类型的支持较弱。。比如,如果某个字段为一串的空格的话,读取的时候会出现异常。
Microsoft OLE DB Provider for Oracle 对字符数据类型的支持很强,不会出现上面说的那种情况,唯一的缺点就是不支持BLOB字段。
9、客户端使用oracle10g XE,但是在MFC ADO无法使用连接字符建立连接! 我
使
用
的
连
接
字
符
串
为
“
Provider=OraOLEDB.Oracle.1;Data
Source=XE;Password=****;User ID=sys;Persist Security Info=True”,呵呵,明眼人可能发现我使用的用户名为sys,在网上一阵查找,才知道oracle在程序中是不能用system,sysdba用户连接数据库的。在oracle XE中新建一相应权限的用户,建立连接即可。
10、用PL/SQL进行oracle的备份与恢复很方便。菜单->Tools->export objects即可将需要的各种对象(表、视图、包等)保存。在需要恢复时,只需菜单->Tools->import objects即可。不过我第一次在备份后进行恢复时,没有成功。后来发现,我在备份时,连所属系统的表、视图等一起备份了,在恢复时,是肯定不成功的。在备份时应该用菜单->Tools->export user objects。
11、很长时间没有用Win32 console了,用CL.exe时竞出现了“缺少mspdb80.dll.....”的错误!
在PATH环境变量中添加“C:\\Program Files\\Microsoft Visual Studio 9.0\\Common7\\IDE”即可。
12、CVSListBox控件很好,失去焦点并切换切换有如下规律:
1、在任意item之间切换(包括删除、移动),先是失去焦点,即iRow=-1;然后再切换成对应Item;
2、如果使用Browse按钮,在程序中弹出对话框,则控件失去焦点,即iRow=-1; 3、失去焦点并切换是在OnAfterMoveItemDown之前发生,所以必须在移动后重新定位并显示内容。
4、失去焦点并切换是在OnBeforeRemoveItem之后发生,所以必须设置当前的删除状态为真,确保在切换为-1时,不触动保存。
13、从Oracle、SQLServer中取得注释:
最近在研究根据表结构生成Java文件的工具,在取得表的字段时如何取得表的各种信息和注释,这个问题困扰了我,经多方搜寻找到如下资料备用: oracle: user_tab_comments;表注释 user_col_comments;表字段注释 以上两个只能获取自己用户的表的注释信息,如果要访问自己能够访问的其他用户的表,则需要使用: all_tab_comments;表注释 all_col_comments;表字段注释 当然,如果有DBA权限,则可以使用 dba_tab_comments;表注释 dba_col_comments;表字段注释 dba*和all*最好指定owner条件。
因篇幅问题不能全部显示,请点此查看更多更全内容