2012-10-04 51 views
5

我有一個應用程序,它有一個Morph中的整個GUI。 Pharo和Squeak在主機操作系統中有一個窗口。如何用Pharo或Squeak部署一個不錯的One-Window應用程序?

現在我想要將這一個Morph與Pharo/Squeak窗口相結合,以填充整個Pharo/Squeak窗口,調整(並更新Morph的佈局),當Pharo/Squeak窗口調整大小時,以一種方式,用戶沒有(意外的)可能性訪問Morph之外的任何東西(這只是可用性,而不是關於安全性,儘管!)。

我該如何做到這一點?

回答

6

調整你變身的邊界在其step方法:

step 
    (self position = (0 @ 0) and: [self extent = owner extent]) ifFalse: [ 
     self position: 0 @ 0. 
     self extent: owner extent]. 

你可能想使這一條件在「部署」標誌,您只節省了用戶的圖像時啓用。這是例如Scratch(http://info.scratch.mit.edu/Scratch_1.4_Download)是如何做到的。

+1

是不是更好地使用佈局? morph hResizing:#spaceFill; vResizing:#spaceFill。 ? 您也可以直接插入#checkForNewScreenSize。請參閱它的發件人/實現者。 –

+0

佈局會嘗試對世界上所有的孩子進行操作。可能不是一個好主意。無論如何,checkForNewScreenSize都會在每個顯示週期發生,所以類似於一個步驟方法,但不必對其進行硬編碼。 –

相關問題