如题,我在资源编辑器那里把图片设置为透明的时候,是可以看到图片置于按钮之下的,但是一执行程序,一开始picture ctrl上的图片就会把按钮遮盖掉!需要手动移动到按钮的位置才正常!就解决方案!!其实我想让几个按键组合在一起,让它们在界面上是连成一体的(实际上是独立的),所以我用PS做了一个按钮组的框架,然后向把这个框架图片放到Picture ctrl上,然后让各个独立的按键放上去。最终使得独立的按键有整体感!!
不知道有没有其他方法可以实现我的这个目的???这个框架该怎么做?!

解决方案 »

  1.   

    OnPaint函数中最后,获取按钮Invalidate(TRUE),或者RedrawWindow();
      

  2.   

    如果感觉按钮闪烁就Invalidate(False)看看
      

  3.   

    资源编辑器里 Ctrl+D 调整下按钮和图片控件的顺序
      

  4.   

    除了楼上的方法,还可以给图片控件加上WS_CLIPSIBLINGS风格
      

  5.   

    ~~~我发现直接画在背景图上效果还不错。但是现在有了新的问题!!因为我的基于对话框的程序采用了skin++的皮肤,而且我的按钮样式是圆形的,因而我用了CButtonST的透明位图按钮方法。但是现在,由于皮肤的存在,圆形位图的背景变得不正常的透明(在圆形的四周显示的是skin++皮肤原来的颜色,而我有背景图覆盖在那张皮肤之上)。
    我用skinppRemoveSkinHwnd(HWND hwnd),移除其他控件的皮肤,然后变成透明背景没问题。
    可是CButtonST关联的按钮就不可以~~~
    求解啊!!
    正在考虑用PNG按钮代替~~可是还找不到有良好说明的使用方法代码