vs2008 MFC 开发问题汇总

vs2008开发 问题的解决方案 2014http://wanglimin2004.blog.163.com/blog/static/1154884982012393174875/ 阅读详情

      1、在自定义工具栏时,发现菜单的标题有问题,于是修改工具栏的标题,发现在工具栏创建后调用SetWindowText()根本不起效果。就好象有自动记忆功能一样。解决:
        Handle WM_NCPAINT message,重绘非客户区,在其中修改标题就可以了。

       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",n);

   今天在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",L"",L"",adOpenUnspecified);

   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条件。

VS2008环境使用MFC操作读取excel文件 VS 2008 MFC EXCEL 阅读详情

相关推荐

VS2008的项目升级到VS2019(Visual Studio项目升级)(二)

VS2008的项目升级到VS2019(Visual Studio项目升级)(二) 总结:在经过多次方法实验到最后找出出解决办法,有几点收获。 第一、VS的最新版本肯定是向下兼容的,如果低版本的项目在高版本VS中打开,还有有错的话,检查一下运行以前项目需要哪些组件,然后下载对应的组件。 第二、关于旧版本的平台工具集,如果你的VS版本里面能够下载到对应的组件,就自行下载测试,如果不行的话,就用最新的。 第三、项目升级,打开会提示自动升级,确定就行,升级不会影响原来老项目。 实验了网上的各种方法,还是没有解决我的

weixin_43603714的博客 4499

VS2008 MFC开发总结

使用Delphi开发工具好多年了,总体上还是从事信息管理系统的开发.总想深入的研究一下其他方向,例如游戏或内核级的编程.但都由于看到C,C++,VC等因素而退却了.Delphi确实优秀,但也能让人懒惰,想实现什么功能了,就去网上搜索现成的控件.当然也偶尔出于好奇,查看这些控件的源码,并对其加以修改,满足开发的要求.自我感觉已经掌握了控件的内部实现原理了,但如果要自己去从新实现控件的功能,却未必是一

henreash的专栏 9466

Visual Studio 2008下使用MFC开发的界面配置程序

Visual Studio 2008 下使用MFC开发的界面配置程序,前台界面接受数据写入后台数据库,数据库使用MySQL,本程序只是前台界面代码,不包括后台表结构,配置的对象是一个录音系统服务器程序。

MFC入门

VS2010新建工程 选择CDialogEx 默认创建出一个带有确认和取消按键的对话框 例如创建的程序名为TestOne 则创建出一个CTestOneApp类,继承自CWinApp 在CWinApp中的InitInstance函数中 CTestOneDialog dlg; m_pMainWnd = &dlg; INT_PTR nResponse = dlg.DoModal(); if(nResponse== IDOK){ }else if(nResponse == IDCANCEL){ } 类

Finull1的博客 948

vs 2008 mfc开发实例

用mfc实现一个小的程序开发

YOLOv5模型转换陷阱:从PT到RKNN的置信度异常与乱框问题深度解析

本文深度解析了YOLOv5模型从PT到RKNN转换过程中的置信度异常与检测框错乱问题,揭示了NPU硬件特性与模型结构不匹配的根本原因。通过详细的解决方案和实操步骤,包括模型修改、转换流程配置和验证技巧,帮助开发者有效解决这一常见部署难题,提升模型在瑞芯微芯片上的推理性能。

weixin_29062255的博客 904

解决CMFCMenuButton无法显示右边箭头以及多字节编码下堆破坏的问题

有时候觉得MFC真TM恶心,就这两个问题花了我好长时间才找到解决办法,记下来以避免搞忘,如果能给读者带来方便那是更好,废话不多说,说正事! 1.无法显示右边箭头的问题 无论怎么折腾都没显示不出来,微软给的示例又能显示,度娘和谷歌也都不知道,经过不断地探索总算找到解决办法了:在rc2文件中加上下面的内容即可 #ifndef _AFXDLL #include "afxribbon.rc"

haoekin的专栏 1857

90+个各种疾病相关医疗数据集

含新冠、传染病、医学图像等

2万+

VS2008+OpenCV+MFC编程入门

1、第一步: 配制好VS2008和OpenCV,我用的OpenCV2.31.假设VS2008和OpenCV之前都配置好了,配置链接:http://blog.youkuaiyun.com/shizhandong50/article/category/1700441,打开VS2008,新建一个MFC项目,这里简单的建立一个基于对话框项目,并在里边加入一个Picture control控件。加入一个按钮,起名

shizhandong50的专栏 1180

ESP32驱动GC9A01圆形屏实战:Arduino平台LVGL移植与图像显示优化

本文详细介绍了在Arduino平台上使用ESP32驱动GC9A01圆形屏的实战指南,包括硬件连接、LVGL移植与图像显示优化。通过SPI配置、LVGL库安装和双缓冲机制等技巧,帮助开发者快速实现高效显示效果,适用于智能家居控制面板等应用场景。

weixin_29182481的博客 735

移动端UI自动化测试新框架Maestro:声明式语法与实战指南

UI自动化测试是保障移动应用质量的关键环节,其核心原理是通过脚本模拟用户操作,对应用界面进行自动验证。传统命令式框架(如基于Selenium WebDriver的Appium)虽然控制粒度细,但脚本编写和维护成本较高。声明式测试框架则通过描述“做什么”而非“怎么做”,显著降低了技术门槛和维护复杂度,其技术价值在于提升测试脚本的可读性、编写效率与跨团队协作能力。在移动端测试领域,这尤其适用于需要快速验证核心业务流程、进行冒烟测试和回归测试的场景。本文聚焦的**Maestro框架**,正是这一理念的杰出实践。它

weixin_32921023的博客 713

VS2008SP1 - CMFCVisualManager

CMFCVisualManager选件类 Visual Studio 2012 Visual Studio 2010 提供用于更改应用程序的外观支持在全局级别。 CMFCVisualManager 选件类使用一致的样式,提供有关绘制您的应用程序GUI控件的选件类一起使用。 这些其他选件类称为视觉管理器,以及从 CMFCBas

netanimals的专栏 4858

2024最新版Anaconda Navigator安装使用指南

本文简要介绍如何下载安装Anaconda Navigator最新版,以及如何使用Python内核搭载来完成应用程序开发。

jackson_lingua的博客 1万+

mfc oledb oracle,vs2008 MFC 开发问题汇总

今天在Visual Studio 2008中调试某个程序时遇到一个奇怪问题就是在某个源文件中设置的断点老是无效,提示“当前不会命中断点。源代码与原始版本不同”信息清理项目、重编项目、重新拷贝原文件都解决不了问题1)“工具”,“选项”,“调试”,“要求源文件与原始版本完成匹配”去掉勾。我没有用这种方法,总觉得将勾掉不太安全。2)通过重新格式化出问题的源文件亦可以解决,即在VS2005中选择 “编辑”...

weixin_35916518的博客 173

软考中级-软件设计师 Python基础

软考中级-软件设计师 Python知识点整理

片言可决讼,半纸能缚龙 3641

SAP-ABAP:在SAP系统中,COEP表(成本控制对象行项目表)详解

在SAP系统中,COEP表(成本控制对象行项目表)详解

baidu_35680696的博客 1838

VS2008下MFC框架下开发ActiveX项目所遇到问题汇总

今年找了份工作,主要业务是做银行项目。刚进去正赶上在福州的一个项目。项目的背景是对以前1.1的OCX控件进行重构,包括业务和界面,其中界面是比较大的改动,界面采用DockManger模式,每个控件需要停靠,每个子控件放在单独DLL中,并且是动态加载。 其中控件的界面DockManger框架是重点。一开始接手了这个任务。我的思路是因为在VS2008有MFC框架提供这样停靠功能,但是不知道是否能适合

bee-factory 1475

YOLOv11改进 - C3k2融合 | C3k2融合融合WDBB宽度多样分支模块(Width Diverse Branch Block)通过多尺度分支增强特征表征能力

本文着眼于灰度图像目标检测所面临的挑战,提出了增强型目标检测网络 YOLO - MIF,该网络整合了多种多信息融合策略以对 YOLOv8 网络进行改进。文章开篇介绍了一种可创建伪多通道灰度图像的技术,此技术能增加网络的通道信息,同时缓解潜在的图像噪声与虚焦模糊问题。随后运用网络结构重新参数化技术,在不增加推断时间的情况下提升网络的检测性能。此外,引入了一种新颖的解耦式检测头,增强了模型处理灰度图像时的表现能力。

魔改工程师的博客 770

MFC工程 vs2008 C++编译JSONCPP 静态库

使用jjsoncpp解析json文件,在工程中使用静态库.配置介绍 1. VS2008 2. MFC工程下使用 3. JSON源码,下载地址: 4. 解压下载的问价:jsoncpp-src-0.5.0.tar.gz 5.打开源码的工程E:\vs2008_project\json\jsoncpp-src-0.5.0\makefiles\vs71\jsoncpp.sln 6.生成Debug

A_sungirl的专栏 3426

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

上一篇: VS2008中关于将旧VC方案修改为最新的MFC Feature Pack最需要注意的问题
下一篇: Astyle:代码格式化工具简明指南
memory_xj
博客等级 码龄24年 44粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值