随笔分类 -  Visual C++

MFC 友元线程函数方式总结
摘要:本文转自:http://blog.sina.com.cn/s/blog_76dc2bb90100tqdv.html多线程程序的线程函数需要使用类的成员变量和成员函数时,通常通过定义线程函数为类的友元函数,然后才能像类自己的成员函数一样访问其成员变量和成员函数。这种方式非常的方便尤其相对于通过定义静态全局线程函数和定义类的静态成员线程函数的方法有很大的优点,它能够访问类所有的成员变量和成员函数。这里有几点需要注意的是:1.定义线程函数时,除了需要在类的里边声明为友元函数,也要在该声明头文件顶部再次声明该线程函数,同时具体地定义该线程函数时也要将其放置在定义类文件的顶部,也就是说除了将其定义为类的 阅读全文
posted @ 2012-12-20 14:18 韦德·许 阅读(454) 评论(0) 推荐(0)
史上最可行!VS2008+WIN7环境下编译OpenCV2.1静态库的方法
摘要:史上最可行!VS2008+WIN7环境下编译OpenCV2.1静态库的方法 本文参考自:http://blog.csdn.net/sophisticated/article/details/6234943 环境: VS2008 + WIN7 + opencv2.1 + cmake2.8 背景:实验室工作需要,要求编译一个OpenCV2.1的静态库,是应用程序可以在没装opencv环境的计算机上运行(当然,使用opencv动态库的方法也是可行的,但作为项目交付,必须要求项目尽量精简)。经过上网学习和自己的摸索,终于找到了编译OpenCV2.1静态库的方法。 一、用 CMake2.8 编... 阅读全文
posted @ 2012-12-18 16:50 韦德·许 阅读(1062) 评论(0) 推荐(0)
MFC下结束AfxBeginThread开启的线程的一些体会
摘要:本文转自:http://hi.baidu.com/yjglg/item/c6f796e315f6a2266dabb835最近,由于论文的需求,要用到Windows下的多线程。考虑到界面用MFC写了,于是上网搜了下MFC下的多线程怎样搞,都说用AfxBeginThread来日比较好。哥向来比较浮躁,先搜搜有没相关代码,找到几个可用的,然后各种摘抄,于是乎将哥的播放器的几个线程搞成下面这段代码(摘要):UINT playThread(LPVOID pParam){ //播放线程,固定格式//......做变量声明,赋值等前期工作while(SomeCondition){ //播放线程的循环//.. 阅读全文
posted @ 2012-12-07 10:27 韦德·许 阅读(3692) 评论(0) 推荐(0)
MFC静态文本框如何改变字体的大小
摘要:1、改静态文体的ID,如:IDC_STATIC1 2、在OnInitDialog中添加如下代码: CFont * f; f = new CFont; f->CreateFont(16, // nHeight 0, // nWidth 0, // nEscapement 0, // nOrientation FW_BOLD, // nWeight TRUE, // bItalic FALSE, // bUnderline 0, // cStrikeOut ANSI_CHARSET, // nCharSet OUT_DEFAULT_PRECIS, // nOutPrecis... 阅读全文
posted @ 2012-12-07 10:21 韦德·许 阅读(1353) 评论(0) 推荐(0)
MFC编辑框如何改变字体的大小
摘要:本文转自:http://blog.sina.com.cn/s/blog_6ff5d7300101129r.html方法一:步骤一:在Dlg类中增加一个类成员变量: CFont m_editFont;注意:这里Font对象必须是类成员变量,不能是局部变量,否则会出现只改变了光标的大小,而不能改变字体的大小。步骤二:在OnInitDialog方法中增加下列语句:m_editFont.CreatePointFont(180, "宋体");m_editPlace.SetFont(&m_editFont); // 设置新字体方法二:在OnInitDialog方法中增加下列语句 阅读全文
posted @ 2012-12-07 10:20 韦德·许 阅读(644) 评论(0) 推荐(0)
VS2008 Windows Media Player控件的使用技巧
摘要:本文转载自:http://blog.csdn.net/akof1314/article/details/4900040操作系统:Windows 7软件环境:Visual C++ 2008 SP1本次目的:在VC2008或者VC2005下Windows Media Player控件的用法 折腾了好久,才发现一些光明。在VC6.0下Windows Media Player控件的用法与VC2003、VC2005、VC2008的用法不一样,这里我就不介绍VC6.0下的用法了,具体我在这里以VC2008为例介绍新版本下的用法。首先,新建一个基于对话框的工程,在对话框上,右键选择”插入ActiveX控件 阅读全文
posted @ 2012-11-26 14:37 韦德·许 阅读(1546) 评论(0) 推荐(0)
VS2008下用MFC 的MSComm控件编写串口程序
摘要:本文转载自:http://blog.csdn.net/plutus_lee/article/details/7907311首先感谢网络资源吧,作为一个自动化专业出身的,不懂串口实在让我有点无奈,本文参考xinzrjay原创的在VC++6.0下编写串口调试助手,虽然比较详细,但难免有错误,感谢xinzrjay吧,提供了较好的模板。首先启动VS2008,文件——新建——项目(快捷键Ctrl+Shift+N),项目类型——Visual C++——MFC——模板——MFC应用程序,l 名称(如port1)。l 位置(如桌面下的文件夹‘配置软件’)。l 解决方案名称(会随着名称自动生成,建议不要修改)点 阅读全文
posted @ 2012-11-20 15:01 韦德·许 阅读(1692) 评论(0) 推荐(0)
MFC类视图中的类都看不到了!
摘要:今天做解决方案的时候突然遇到了这个奇怪的问题:“类视图”中原有的类都突然“消失”了,看不到了。这个问题相信很多用VS2008开发的人都遇到过,写代码的时候写着写着,左边类视图里面就少了一个类.但实际上这个类的源文件和头文件都还在,只是在类视图里面找不到了.我也遇到了不止一次.网上找了一下,以下是解决方法: 删除解决方案文件夹下的"*.ncb"文件,重新打开解决方案,就可以解决这个问题. 阅读全文
posted @ 2012-11-20 14:38 韦德·许 阅读(439) 评论(0) 推荐(0)
VC 位图按钮CBitmapButton的使用
摘要:本文转载自:http://blog.csdn.net/akof1314/article/details/4951836系统环境:Windows 7软件环境:Visual C++ 2008 SP1本次目的:使用位图按钮,并且设置按钮的鼠标悬停效果在用MFC开发时,界面是比较不好开发的一块。VC中自带了CBitmapButton类,但是用途不多,网上很多Button类的派生类蛮实用的,但是若是简单的位图按钮用自带的CBitmapButton就可以实现了,以下是效果图:步骤一:新建基于对话框工程,放置一个按钮,可以适当调整大小,设置其Owner Draw属性为TRUE,右键为按钮添加变量,改变其变量 阅读全文
posted @ 2012-11-20 10:12 韦德·许 阅读(455) 评论(0) 推荐(0)
MFC不同窗口之间传递数据
摘要:MFC不同窗口之间传递数据转自:http://blog.csdn.net/my_dreamest_gigi/article/details/6342818实现方法:class CDlg1: public CDialog{public:int x;……}class CDlg2: public CDialog{public:int y;void setdata(CDlg1 dlg1){// 实现数据的传递}……}方法一:通过成员函数实现不同对话框之间数据的传递class CmyView: public CView{CDlg1 dlg1; // 类中声明欲进行数据传递的对话框对象CDlg2 dlg2 阅读全文
posted @ 2012-11-19 17:31 韦德·许 阅读(1035) 评论(0) 推荐(0)
MFC对话框控件和背景图片自适应窗口最大化和拉伸缩放的实现
摘要:MFC对话框控件和背景图片自适应窗口最大化和拉伸缩放的实现转自http://hi.baidu.com/peter_niu_alex/blog/item/1ae6fd3e4ba549fc828b13b1.html 和http://blog.sina.com.cn/s/blog_6d1ba4910100w7yg.html近日在code project网站浏览时,看到一篇关于Dialog缩放的文章(http://www.codeproject.com/dialog/easysize.asp)。作者编写了一个短小精悍的宏,利用该宏,可以很轻易的实现Dialog的缩放。下面是该宏的使用方法和我在使用中. 阅读全文
posted @ 2012-11-19 17:29 韦德·许 阅读(2883) 评论(2) 推荐(0)
VS2008制作安装包
摘要:本文转载自:http://www.cnblogs.com/millen/archive/2009/06/10/1500930.html一:建立项目打开VS,点击新建项目,选择:其他项目类型->安装与部署->安装向导(安装项目也一样),然后点击确定.二:导入程序文件在项目的 文件系统 视图下双击"应用程序文件夹"在右边的空白处右击,选择添加->文件,将你的做的应用程序的可执行文件和相应的类库和组件添加进来.三:设置项目属性设置项目运行在那个框架下切换到 项目的 启动条件选项卡 -》 netfaramework -> version ->现在你要的 阅读全文
posted @ 2012-11-19 17:22 韦德·许 阅读(293) 评论(0) 推荐(0)
MFC中CString转int/double/TCHAR*类型
摘要:MFC中CString转int/double/TCHAR*类型本文转载自:http://www.nowamagic.net/librarys/veda/detail/188/CString 型转化成 int 型把 CString 类型的数据转化成整数类型最简单的方法就是使用标准的字符串到整数转换例程。虽然通常你怀疑使用_atoi()函数是一个好的选择,它也很少会是一个正确的选择。如果你准备使用 Unicode 字符,你应该用_ttoi(),它在 ANSI 编码系统中被编译成_atoi(),而在 Unicode 编码系统中编译成_wtoi()。你也可以考虑使用_tcstoul()或者_tcsto 阅读全文
posted @ 2012-11-19 17:19 韦德·许 阅读(480) 评论(0) 推荐(0)
CString转int 和 CString转double
摘要:CString转int 和 CString转double本文转载自:http://blog.csdn.net/zxq80/article/details/7045034在UNICODE环境中的转换1.CString to intm_iDay = _ttoi(strTmp);1.CString to doublem_dFlowUp = _tcstod(strTmp,0); 阅读全文
posted @ 2012-11-19 16:46 韦德·许 阅读(1255) 评论(0) 推荐(0)