轉載請保持文章的完整性並顯要地註明出處
本文鏈接:http://blog.csdn.net/wlsgzl/article/details/38042301
===========================================================================
先上圖,無圖無真相。
很明顯的,左面和右面的遮擋效果不一樣。但是,我可以負責任的說,他們的屬性都是一樣的。
=====================================================================================
發現這個問題很偶然。
一開始我在寫一個小例子,界面顯示效果是右邊的樣子,沒有多想,然後寫了一堆邏輯操作的代碼(與界面無關)。
後來打算用別的方法實現下邏輯,又寫了一個小例子,結果界面顯示效果卻是左面的樣子。
當我看到界面效果不一樣時,當時我就不樂意了,因爲我的屬性設置都是一樣的呀!
於是我又仔細對照了一遍兩者的屬性,發現他們確實是一樣的。
後來……你們不會想知道過程的……我一遍又一遍的重複拖放控件、設置屬性、查看效果的過程,終於讓我發現了,原來是拖放的順序導致的。
於是,在這裏做個結論,因爲畢竟有時候,右邊的效果是我們想要的,比方說做取景框的時候。
1、實現左邊的效果:
先拖放Group Box控件,後拖放Picture控件
2、實現右邊的效果:
先拖放Picture控件,後拖放Group Box控件
---------------------------------------------------------------------------------------------------------------
Picture控件對於這兩種順序的屬性設置是一樣的:
==================================================================================
至於屬性相同但是效果不同的原因,我想,我大致猜測下:
拖放順序不同導致了寫入*.rc文件裏時資源定義的順序不同。當創建界面時,讀取的資源順序不同,導致了繪製時的覆蓋。
當然到底是什麼原因,這恐怕已經超出了我現有的知識範圍,可能看PE文件的相關內容或許有所幫助。
不過這已經不重要了。
--------------------------------穿山甲到底說了什麼?------------------------------------