问题是在写VC++ 6.0技术内幕第22章的EX22D时发现的
由于测试对话框中要添加“定制控件”(调色板上图标是个人头在最下面)
而当我添加了“定制控件”后对话框就无法显示(所有设置都和例题一样),而例题中可以显示
并且经过测试,任何对话框只要加上“定制控件”就无法显示该对话框。(例题中,如从对话框调色板上拖到对话框上就无法显示,而复制原有的“定制控件”就可以显示)
不知是哪里错了。(太奇怪了)

解决方案 »

  1.   

    控件是否加入class,可以参考msdn提供的CTRLTEST这个例子
      

  2.   

    我试了一下,主要是因为加入了Custom Control后创建对话框没有成功,所以你当然也看不见对话框了。你跟踪一下程序的运行就知道了,创建后窗口句柄依然为NULL。
    我想主要原因还是在于Custom Control,不应该就是这么简单的将那个东西往对话框上拖,拖了以后还应该做一些其他工作。我对这类控件不了解,所说原因仅仅是猜测。
      

  3.   

    在app初始化函数中添加 InitCommonControls();
      

  4.   

    不要忘记包含#include <commctrl.h>
      

  5.   

    你有没有加.H 加.LIB 加特殊的工作目录.设置编程参数.
    你到底有没有好好看呀.
      

  6.   

    用custom control需要自己实现类的创建,如果是自己的类需要注册。可以参考MS提供的例子。也可以仔细看看原来的代码,是否有注册窗口的动作。