当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 用过虚拟函数的程序员,肯定对switch/case 句型带有一
 

 

    摘要: 各位兄弟在看到标题时,可能会火冒三丈,"你这小子,欠揍吗?"在messagebox的最后参数上指定mb_yesno不就行了?众兄弟请息怒,请再看一遍标题,我说的是显示"yes"与"no",不是"是"与"否" #include <windows.h> hhook hhook;lresult __stdcall cbthookproc( long ncode,wparam wpara......
 ·在dialog程序中使用wh    »显示摘要«
    摘要: 在dialog程序中使用wh_keyboard_ll类型hook的方法: setwindowshookex(wh_keyboard_ll, (hookproc)lowlevelkeyboardproc, afxgetapp()->m_hinstance, null); lresult callback lowlevelkeyboardproc (int ncode, wparam wp......


通过类名称得到该类的新对象指针
用过虚拟函数的程序员,肯定对switch/case 句型带有一种不想用的心理,因为如果case过多的话,至少会有以下缺点:

2)  switch/case不够灵活; 【程序编程相关:嵌入式系统的构建

1)  代码太长,不适合查看与管理; 【推荐阅读:ATL Style 模板学习手记

  【扩展信息:对话框到子控件的切换

3)  扩充性不够好,比如每增加一个case都要更改代码.

mfc有一个很好的框架,继承自cobject且通过declare_dynamic()与implement_dynamic声明的类,其动态创建类cruntimeobject都会被加到类别型录网中去,如果能取得这个动态创建类,就能创建出该类对象.下面的代码就是在类别型录网中寻找类名对应的动态创建类,如果找到,就创建对象,并返回该对象指针;否则返回null.

 

cobject* getobjbyclassname(cstring strclassname)

{

cruntimeclass *pclass;

afx_module_state* pmodulestate = afxgetmodulestate();

for(pclass = pmodulestate->m_classlist;pclass!=null;

              pclass=pclass->m_pnextclass) {


...   下一页
 ·动态表情的几种实现方式    »显示摘要«
    摘要: 在即时通讯软件中加入动态的表情,能给交谈添加较强的趣味性,效果在有些时候是文字很难达到的。目前的即时通讯工具中几乎都支持动态表情,比如msn,qq等。在windows平台下,实现起来比较容易。能够通过重用windows提供的功能,采用vc比较简单的实现有两种:用richedit控件和webbrowser控件这两种方式。下面分析如何实现,并给出实现的代码。 动态表情一般是通过显示gif动画或者动......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE