首页 > 代码库 > 问题解决——Group Box控件遮挡其他控件
问题解决——Group Box控件遮挡其他控件
转载请保持文章的完整性并显要地注明出处
本文链接:http://blog.csdn.net/wlsgzl/article/details/38042301
===========================================================================
先上图,无图无真相。
很明显的,左面和右面的遮挡效果不一样。但是,我可以负责任的说,他们的属性都是一样的。
=====================================================================================
发现这个问题很偶然。
一开始我在写一个小例子,界面显示效果是右边的样子,没有多想,然后写了一堆逻辑操作的代码(与界面无关)。
后来打算用别的方法实现下逻辑,又写了一个小例子,结果界面显示效果却是左面的样子。
当我看到界面效果不一样时,当时我就不乐意了,因为我的属性设置都是一样的呀!
于是我又仔细对照了一遍两者的属性,发现他们确实是一样的。
后来……你们不会想知道过程的……我一遍又一遍的重复拖放控件、设置属性、查看效果的过程,终于让我发现了,原来是拖放的顺序导致的。
于是,在这里做个结论,因为毕竟有时候,右边的效果是我们想要的,比方说做取景框的时候。
1、实现左边的效果:
先拖放Group Box控件,后拖放Picture控件
2、实现右边的效果:
先拖放Picture控件,后拖放Group Box控件
---------------------------------------------------------------------------------------------------------------
Picture控件对于这两种顺序的属性设置是一样的:
==================================================================================
至于属性相同但是效果不同的原因,我想,我大致猜测下:
拖放顺序不同导致了写入*.rc文件里时资源定义的顺序不同。当创建界面时,读取的资源顺序不同,导致了绘制时的覆盖。
当然到底是什么原因,这恐怕已经超出了我现有的知识范围,可能看PE文件的相关内容或许有所帮助。
不过这已经不重要了。
--------------------------------穿山甲到底说了什么?------------------------------------
问题解决——Group Box控件遮挡其他控件