我希望在我的对话框的背景中显示图片,所以我放了一个picture控件,然后在其中放置按钮,文本框等控件,可是运行时有其它子控件的地方都把背景图片给遮住了,很难看,请大家帮忙,如何将控件执为透明,谢谢!
如果有其它的方法实现图片的动态加载或者给个例子更好了,急盼大家的帮助,谢谢!

解决方案 »

  1.   

    实现一个新的继承类比较好一些,不会影响到程序结构
    透明按钮可以参考 CButtonST
    http://www.vckbase.com/document/viewdoc/?id=518
      

  2.   

    CButtonST 不错,
    不过也可以自己把主窗口的背景拷贝到按钮的背景了,就形成透明了
      

  3.   

    http://community.csdn.net/Expert/topic/4107/4107939.xml?temp=.1514398
      

  4.   

    如果不用内存DC的话,主窗口的背景拷贝到按钮的背景是不可能的,按钮不是OWNDC
      

  5.   

    可以用自绘按钮,WM_CTLCOLOR针对按钮的BRUSH返回HOLLOW_BRUSH,SetBkMode(hdc,  TRANSPARENT);
      

  6.   

    你可以让按钮什么的都不显示啊  设置他们的属性
    "静态文本框该怎么透明显示呢?"
    你要先得到他的控件
    在设置他的MODE
    pDC->SetMode(TRANSPARENT);
    应该就可以了
    希望对你有用!
    加油啊,一起学习中~~~~~~~~~
      

  7.   

    文本框是一样的,只不过绘图是在OnPaint中完成,而不是在Drawitem中,比Button简单很多
      

  8.   

    我用CButtonST,可是我在对话框中放置图片以后,运行时,按钮却没显示出来,只有鼠标在对话框中移动后按钮才显示出来,不知道怎么回事,是不是图片把按钮给覆盖了呢?
      

  9.   

    透明不是向想象的那样简单的,必须考虑很多情况, 试试在你的程序运行的时候,在它的上面运行任务管理器,如果你考虑的不周到的话,也许...  BtnSt作的的确不错,建议楼主能详细的看看它的做法