我在MDI子窗口中创建了无边界对话框,在对话框上实现了report风格的listctrl,现在想把列的第二项都改变成组合框,不知道是不是我的思路一开始就不对,问题在我建的对话框上?还是指定父窗口的问题?   
参考了http://www.codeguru.com/Cpp/controls/listview/editingitemsandsubitem/article.php/c979/但就是显示不了我想要的功能,这例子应该怎样改,急啊!请高手们指点!
进者有分

解决方案 »

  1.   

    你确定是否按照他的讲解一步一步操作创建的listctrl?还有如果在基于对话框上的工程中可以实现,在mdi中的FormView也是可以实现的,这两者不冲突。你现在的问题是第二列没有改变成组合框?
      

  2.   

    放上你的代码。
    你跟踪一下你的OnLButtonDown 是否有执行
      

  3.   

    是的就是没有什么变化,具体的步骤都是按照他说的做的
    就是不知道到底父窗口是怎样改变,例如我的子窗口为m_wndMyBar,应该怎样改他的例子啊
      

  4.   

    加我MSN我可以给你们发,现在也是刚做个样式,
    本人刚接触没多久太多问题了,不过很想把它学好。
    [email protected]
      

  5.   

    我也看了他的代码,我觉得应该不是父窗口的问题,因为所有的操作他都封装在类中完成了,只要你继承了这个类,它就有这个类的特征。问题可能出现在你的ListCtrl没有包含当单击时出现组合框的性质;这样吧,你重新建一个工程,在Dialog中测试一下,通过的话再搬到MDI中,这也是我用别人的类最常用的测试方法,因为对话框设计起来简单,这样到时候搬到mdi
    自己也有一个思路,不至于乱。regards.
      

  6.   

    你要实现当listctrl控件创建的时候把第二项都变成组合框,而不是单击的时候才变成组合框,这样的话可能还需要DrawItem。不过我觉得还是应该实现单击的时候出现组合框,然后再想法将它放到DrawItem中实现
      

  7.   

    真是谢谢你了,我正在试对话框的,如果没问题般到MDI中的话具体应该怎样解决呢?
    应该还是要改变父窗口啊,主要代码改到什么地方去,多指点一下吧,真是问题太多了,
    分可以再加的
      

  8.   

    我现在刚毕业没多久,原来做C++几个月,现在刚改到VC也就接触了一个月,没经验所以太多问题了
    我刚试过了有一个错误,'IDC_IPEDIT' : undeclared identifier
    我在MDI没有啊,我在对话框上增添了一个CCOMBOBOX该为IDC_IPEDIT还是错,怎么回事啊
      

  9.   

    http://www.codeproject.com/KB/combobox/CustomizedReportListCtrl.aspx
      

  10.   

    10楼这个例子就是这样的功能,他已经建了一个对话框的demo,你可以试一下
    我看了一下IDC_IPEDIT是CMyListCtrl::ShowInPlaceList中创建Combox用的。他之前肯定有#define IDC_IPEDIT 值,你要在出错的cpp文件中加入这个#define 就行了,还有一个方法是在Resource.h中添加如:#define IDC_IPEDIT  int类型的值然后在需要IDC_IPEDIT的CMyListCtrl.cpp文件中加入#include Resource.h即可。
      

  11.   

    还有,告诉你一个经验,用好工具栏的Find in files这个选项,这可以帮你解决很多问题,比如跟踪变量的执行过程等等比如出现你刚才的这个问题,就可以在文件中搜索,找出来之后,就可以看到这个变量确实没有定义,或者即使定义了,程序它不知道到哪个文件中找(就是你没有#include Resource.h)。
      

  12.   

    我给你发到邮箱里面吧,你看看,如果遇到一些ID,你想知道它们怎么用的,就可以Find in files;
      

  13.   

    大哥我公司进不了外网的邮箱,只能MSN传。你能直接给我MSN传吗,我不会打扰你的,你要不想加我传完了删了就好呵呵
    因为现在急用没办法,我的[email protected],麻烦你了
      

  14.   

    我msn忘记密码了,多久没有上,还有我机器上没有安装msn软件。头疼,你要下班了吧。。
      

  15.   

    那就算了吧,我现在还没走,准备加班弄弄,诶不会的太多了
    你发的那个是你写了的基于对话框的啊,我回去后再看看,谢谢你了
    你要走了吗?还想问问你要基于对话框的弄好了转到MDI中又应该怎么弄
    要是要走了就明天说吧
      

  16.   

    没有,我今天也要加班,任务比较重,我今天都没有进论坛,就是挂着csdn看到有消息我才看到这个帖子的.
    你那里能上QQ吗?
      

  17.   

    郁闷啊,我这上不了,怎么办啊!我这只能上MSN,没办法唯一途径了
    你能想想办法给我传过来吗?急啊朋友!
      

  18.   

    如果一个FORM中有20个COMBOBOX挺壮观的,这种思路不可取,
    若非要这么设计用CFormView.
    建议用CListView的报表处理.
    单击SUBITEM时根据此区域大小NEW出一个COMBO,就算要用上万个都可以.