2011-02-18 50 views
1

我有興趣在具有CPWindow(具體爲CPPanel)居中和自動調整大小就像你可能會爲一個CPView做同樣如下:如何居中CPWindow在卡布奇諾

[view setAutoresizingMask:CPViewMinXMargin | CPViewMaxXMargin | CPViewMinYMargin | CPViewMaxYMargin]; 
[view setCenter:[contentView center]]; 

然而CPWindows似乎沒有這些相同的方法。

雖然我們在這,但是如何防止CPPanel被拖動?這樣的事情甚至可能嗎?

謝謝。

回答

4

CPWindow(和CPPanel)有一箇中心方法。

[aWindow center];

+0

哦,是的,這也可以得心應手。 ;) – 2011-02-18 03:43:47

3

窗口沒有自動調整。您可以通過簡單地使用代碼將其放置在現有尺寸的中心,如該中心的瀏覽器窗口中的窗口或面板:

var containerSize = [[aWindow platformWindow] contentBounds].size, 
    aSize = [aWindow frame].size, 
    targetFrame = CGRectMake((containerSize.width - aSize.width)/2.0, (containerSize.height - aSize.height)/2.0, aSize.width, aSize.height); 

[aWindow setFrame:targetFrame display:YES animate:NO]; 

從那裏,你可以更新它留在中心無論何時平臺窗口調整大小。收聽[aWindow platformWindow]發送的CPWindowDidResizeNotification通知。

我想不出一個簡單的方法來防止通過使用CPBorderlessWindowMask掩碼創建窗口來刪除標題欄時拖動窗口。