摘要:CButtonST使我目前见过的最强大,功能最全的CButton派生类。撰写本文的目的不在于技术的讨论,而是希望能够为各位提供关于CButtonST的使用参考,以提高编写程序的速度。 下图是用CButtonST做的几个按钮 以下是CButtonST类的一些版本信息,方便大家可以及时获得它的最新版本。 作者:Davide Calabro 邮箱地址:davide_calabro@yahoo.com 个人主页:http://www.softechsoftware.it CButtonST类主要包括BtnST.h、BtnST.cpp、BCMenu.h和BCMenu.cpp四个文件。如果你打算使用CB.
阅读全文
随笔分类 - VC/MFC
摘要:学好VC++的十大良好习惯每到年底各大媒体就争先恐后热火朝天地搞总结,什么十大人物,十大品牌,十大美女,十大帅哥等等五花八门乱七八糟的让人充满好奇充满怀疑,这事确实让人有点郁闷,就如同男足国家队的国产教练如沈墙扶们每一次踢球失败后都要说这么一句:我们回去后要好好总结,下次会打得更好! 这话听了几十年了,耳朵都生虫了,但还是无法看到中国猪球队有象人样的表现。因此,总结在某一程度上来说只不过是一种形式罢了,总结不代表就能改过原有的不足,也不代表就能进步了,甚至有点俗不可耐,尽管如此,阿蒙亦明知故俗,前人说过了入乡了就要随俗,因此你生活在这种环境里,你无法对这些无聊无趣的东东置之不理,除非你是天才,
阅读全文
摘要:如何成为一名优秀的程序员?一位仁兄说的“程序员写的程序不是算法+语法 ,而是要能够满足用户需求的工 具”我非常赞同,要想达到用户需求就必须从各个方面来考虑如业务、人机交互 、效率等方面,而不只是一个语言(语法)的问题,语言(语法)只是工具,只 知语法不知其他那就真是编程机器了! 编程机器在印度高中生经过几个月培训,按照严谨的软工方法,加上较高的管理 ,就可以胜任了!大家相信吗,我是相信的!谈到这里我就不禁说到了国内教育 界最近在探讨的问题“计算机科系的毕业生特别是本科大专生到底出来干啥、如 何适应社会要求”,大家也看到了很多计科系大学生说精通N种语言,熟悉N种工 具,不知道学校里的其他知识到那
阅读全文
摘要:如何学习vc++(vc的用处) 1 vc的用处我感觉下面一些领域比较适合于用vc: 操作系统编程,game,图形设计,corba编程,com编程,网络编程。我谈谈我的体会。我现在在深圳的一家公司从事IP电话网关的开发。通过这个项目,我 才真正体会到VC有多么强大,上百个线程同时工作,数据库并发访问,而且全部软件基 于COM构造,这样高性能的大型软件,只有VC方显出其英雄本色!不过,在国内,有机会 接触这样的大型系统软件的不多。而在做大型系统软件时,对VC程序员的要求就不仅仅 是熟悉VC、MFC本身了,这只是基本的要求,最的挑战是你如何运用VC实现一些高级的功能特性。其实,VC做数据库也不是不合
阅读全文
摘要:序:近来,在论坛上面几乎每天都可以看到很多的人提出如何学习MFC,学习MFC的确不是一件很容易的事情,加上成千上万的API函数和微软的一些资料的保留,学习MFC就变得更难了。不过我认为难在入门,入门后就慢慢觉得得心应手了。下面是一些先辈们学习过程中总结出来的方法及学习感受,今天把它们整理出来,供大家参考。正文:我记得我在网上是这么说的:先学win32的SDK,也就是API, 再学MFC,这么一来呢,就先有个基础,MFC是API的封装, 如果API用的熟了,MFC上手就轻松的多了。我觉得呢,现在不少WINDOWS编程入门的好书很多,多买一些,多看看,多想想。不要心浮气躁。我的经验就是一边看书,一
阅读全文
摘要:接上篇)VC 进阶:1. C 语言;2. C++ ,OOP;3. Windows 运作机理,SDK编程;4. MFC类库,应用程序框架编程;5. ActiveX,ATL,COM……每步骤通常需要6个月,最快也得3个月,诸位同意否? 学 VC 或 windows 编程分三 STEP:1. 只 SDK 提供的 Function 作开发,不要Object, 你会知 How to handle Message. 2. MFC 编程, 用 CEdit 等开发.3. 再用 VC如果你有一个别人的好程序, 不妨自己跟着他的思路,从小到大自己完成一遍。好书:<> 学习VC++有相当的内容要学,而最
阅读全文
摘要:MFC编写程序,都要用到动态链接库,MFC相关的动态库有MFCD42和MFC42等,MFC框架程序已经自动加载,那么如何引入第三方的动态链接库到工程中呢?静态链接库是要先把程序中所需要使用的函数编译成机器码,保存在*.lib文件中。编译器会去*.lib中找出所需要的函数,并把这些函数的机器码复制一份,放在可执行文件中。将lib库引入工程,有下面3种方法。第一种方法,lib文件直接加入到工程文件列表中。在VC中打开“File View”一页,选中工程名,单击鼠标右键,然后在弹出的快捷菜单中选择【Add Files to Project】命令,在弹出的文件对话框中选中要加入dll的lib文件即可。
阅读全文
摘要:如果可能我想用打包类来实现。唉!,就叫我封装先生吧。 你算是找对地方了。但是我要先声明我的解决办法不是你所希望的-甚至也不是我自己所希望的! 什么是autocomplete呢?你也许已经注意到当你在IE的地址编辑框中敲入什么东西的时候,就会出现一个下拉组合框显示所有匹配敲入字符的URLs,亮条落在第一个匹配项上,你只要按下回车键就可以了(图一)。在“文件/打开”对话框及Windows其它地方也有相同的效果。Autocompletion真是个了不起的东西。可惜 到了Windows 2000才有,来得太迟了。 (图一) 我第一次看到你的问题时,说句实话,我还从来没有听说过 IAutoComple.
阅读全文
摘要://比较好的教程ocx 在 win7 系统会出现注册需要管理员权限的问题,这时候需要用管理员身份运行 cmd,然后运行 regsvr32注册。很麻烦尝试使用 nsis 做成安装包, 采用 regdll 注册 ocx, 成功。ocx和外面的程序交互主要通过提供方法属性 + 事件 方法属性可以提供给js调用,事件可以给js 通过下面的方式进行回调注入<object id="xxx"></object><script language="JavaScript" for="xx" Event="even
阅读全文
摘要:.h 文件#define WM_TEST WM_USER + 1class CTestThread : public CWinThread{ DECLARE_DYNCREATE(CTestThread)protected: CTestThread (); virtual ~CTestThread ();public: virtual BOOL InitInstance(); virtual int ExitInstance();protected: afx_msg void OnTest(WPARAM wParam,LPARAM lParam); DECLARE_MESSAGE_MAP()}.
阅读全文
摘要:问题描述:新建一个MFC ActiveX工程,添加一对话框资源,上面有一些标准控件,如按钮、编辑框、树形列表等,并生成一个类CCtrlPanel。 在CXXXXCtrl类中: int CXXXXCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (COleControl::OnCreate(lpCreateStruct) == -1) return -1; m_CtrlPanel.Create(IDD_CTRLPANEL,this); //m_CtrlPanel在.h文件中申明为:CCtrlPanel m_CtrlPanel; ...
阅读全文
摘要:原文发表在[http://community.csdn.net/expert/Topicview2.asp?id=3072485]带子窗口的ActiveX控件问题,如何获取回车键? 问题:新建一个MFC ActiveX工程,添加一对话框资源,上面有一些标准控件,如按钮、编辑框等,并生成一个类CCtrlPanel。在CXXXXCtrl类中:int CXXXXCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct) {if (COleControl::OnCreate(lpCreateStruct) == -1) return -1;m_CtrlPanel.Cre
阅读全文
摘要:自 Panr 的 Blog // 关键词:// 面对对象编程、超类化、子类化、Superclassing// MFC、CWnd::SubclassWindow// 通用控件、CMNCTRL//// 主题:// 通过CWnd::SubclassWindow 函数的分析,浅谈MFC中超类化技术的实现////// 背景// 我在2002-12月见了mahongxi (烤鸡翅膀)(色摸)在CSDN上的一个帖// 介绍了MFC中窗体的超类化的概念,以下是对我个人回贴的总结//// 日志// 修改:Panr 2002-12-15 13:30 版式整理,转帖到CSDN文档中心// 修改:Pa...
阅读全文
摘要:解决方法是在CDialog::PreTranslateMessage() 的重载函数中将ESC和回车按键的消息处理掉. 直接上代码: CResultCollectorDlg::PreTranslateMessage(MSG* pMsg) { if(pMsg->message == WM_KEYDOWN) { switch(pMsg->wParam) { case VK_RETURN: //回车 return TRUE; case VK_ESCAPE: //ESC return TRUE; } } return CDialog::PreTranslateMessage(...
阅读全文
摘要:使用Tab Control,并且从CTabCtrl控件类继承自己的类(CTabSheet)来处理。 首先我先介绍一下如何使用CTabSheet。 先要制作子对话框类,这次的子对话框类不要从CPropertyPage继承,而是直接从CDialog继承。并且各个子对话框资源的属性应设置为:Style为Child, Border为None。 在主对话框资源中,加入一个Tab Control,并且适当调整位置和大小。利用ClassWizard来为这个Tab Control创建一个CTabSheet的控件变量。 步骤/方法 在主对话框的OnInitDialog()加入: m_sheet.Add...
阅读全文
摘要:1. 利用VisualC++新建一个对话框2. 对话框类的继承特性:cobject ccmdtarget cwnd //由cwnd派生,是一个窗口类 cdialog在VC++ 中,一个窗口与一个C++类进行关联,对话框的基类为CDialog 类。对话框分为模态对话框与非模态对话框,模态对话框在应用程序能进行其它操作之前必须关闭,非模态的对话框允许不关闭对话框而进行应用程序操作.MSDN中的说明:This class is the base class used for displaying dialog boxes on the screen. Dialog boxes are of two
阅读全文
摘要:在写 头文件的时间 经常会有一些 class QFile 等这类 看似 是声明的东西..例如下面#ifndef WINDOW_H#define WINDOW_HQT_BEGIN_NAMESPACEclass QTcpServer;class QTcpSocket;class QProgressBar;class QLabel;class QDialogButtonBox;class QFile;QT_END_NAMESPACE//code endclass QAction;class QCheckBox;...如果没有 声明 将会 出现类似下面的错误ISO C++ forbids declar
阅读全文
摘要:msvcprt.lib(MSVCP90.dll) : error LNK2005: "public: void __thiscall std::_Mutex::_Lock(void)" (?_Lock@_Mutex@std@@QAEXXZ) 已经在 libcpmtd.lib(xmutex.obj) 中定义好几百条网上说解决办法:保证需要链接的几个项目的运行时库使用同一个类型就OK了!例如我的工程中有GameCore、Plugin_D3D9RenderSystem、Plugin_Win32Platform三个工程,那么就去设置每个工程的C/C++ ->代码生成->
阅读全文
摘要:很久没有写程式设计入门知识的相关文章了,这篇文章要来谈谈程式库 (Library) 连结,以及关于 MSVC 与 CRT 之间的种种恩怨情仇。如果你使用的作业系统是 Linux、Mac 或其他非 Windows 平台,你可以忽略这篇文章;如果你使用的作业系统是 Windows 平台,但没有用 Microsoft Visual Studio C++(以下简称为 MSVC)软体撰写 C++ 程式的话,这篇文章对你的帮助可能很有限;但如果你的作业系统是 Windows,而且你使用的程式整合开发环境是 MSVC 软体撰写 C++ 程式的话,这篇文章应该能够帮助你釐清一些重要的基础观念。身为程式设计者,
阅读全文
摘要:我们以CListCtrl控件为例来分析WM_NOTIFY消息。CListCtrl控件在Report样式下会包含CHeaderCtrl标头控件,即CHeaderCtrl标头控件为CListCtrl控件的子控件,所以不难理解,拖动CHeaderCtrl标头控件的列分隔栏会投递HDN_BEGINTRACK消息(WM_NOTIFY消息,通知码为HDN_BEGINTRACK)给其父窗口CListCtrl控件。但是,我们在对话框窗口中也可以收到CHeaderCtrl标头控件的HDN_BEGINTRACK消息,这作何解释呢?如下所示:我们在对话框窗口中响应HDN_BEGINTRACK消息,当开始拖动标头控件
阅读全文