2009-07-13 30 views
0

我們有一個相當複雜的GUI,所以當某些窗口調整大小時,它們的Redraw()設置爲false,直到操作完成。問題在於,如果操作系統「在拖動時顯示窗口內容」設置被選中,當減小窗口大小時,窗口後面的窗口不會重新繪製。這意味着我必須強制重繪自己,以便刪除調整大小的窗口的剩餘部分。獲得未被覆蓋的區域的維度沒有問題。我正在尋找的是導致該區域內所有窗口重新繪製其部分的最佳方式。更新調整大小的窗口後面的區域

不是很多GUI程序員,我可以遍歷未覆蓋的區域並列出其中的窗口。然後,我可以讓他們每個人重新繪製它的一部分。但我很確定必須有更好的方法來做到這一點...

值得一提的是,該應用程序是用PowerBuilder編寫的。這意味着我可以調用任何我想要的Win32函數,但對GUI行爲和消息處理的控制有限。如果有更好的方法來防止窗口的內容大小不可見,或者有辦法讓非重繪窗口自行清理,我很樂意聽到它(只是有上面的限制)。

回答

0

我很好奇你正在使用什麼版本的PowerBuilder?我一直在調整大小,不會遇到像你所描述的問題。

也許你可以詳細說明爲什麼你需要在PowerBuilder環境中設置重繪爲false。

希望我能幫上忙。