我的Dialog里有两个BUTTON我在程序中用了SetWindowRgn把Dialog设置为不规则的形状后那两个BUTTON不见了,这种情况在有的XP,98,2K下都会出现,我可以保证SETWINDOWRGN
后BUTTON的位置仍然应该在能看见的地方.不会不是在SETWINDOWRGN他可能要调整DIALOG中的BUTTON的位置.如果是,为什么在有的计算机上才会出现?

解决方案 »

  1.   

    你的对话框窗口是否设为 invisible 了?
    通常为了绘制不规则窗口,都将对话框设为 invisible,其上的按钮等都被隐藏了
      

  2.   

    invisible是什么属性.我只设置了一个visible,其它都没设置还有我的BUTTON是在设计DIALOG的时候做的,不是动态建立的.应该没关系吧.
      

  3.   

    你将 visible 空选了,当然都看不到了,通常不规则窗口的按钮之类也都是动态创建
    你应该找一个完整的实例看看
      

  4.   

    不是空选,
    我是选中了visible,前面有个钩.我的BUTTON也是VISIBLE的,我现在不明白的是为什么有的计算机会有这种情况?
      

  5.   

    微软不会出现这种低级错误的
    一定是你没有重画窗体一的控件
    调用控件属性 Invalidate();看一看
    再有 有没有重载  OnPaint();
      

  6.   

    我现在可以肯定,的确是SetWindowRgn后有的计算机会调整DIALOG上面的控件的位置和大小.的确是.