2012-05-24 86 views
0

我使用的是NSImageView上顯示一個NSWindow的圖像。圖像將位於用戶可以正常拖動窗口的區域的頂部。在我窗口的拖動區域顯示圖像...如何點擊圖像仍然拖動窗口?

該窗口的樣式是這樣一種方式,它不容易明顯,你可以拖動窗口...我因此需要這個小小的圖像,以表明你可以實際上是拖動窗口

不幸的是,我無法弄清楚如何使圖像上點擊拖動窗口!它需要這個。拖動窗口標題區域的其他任何地方都可以正常工作。

我如何使點擊並按住圖像拖動整個窗口?如果

加分,你能告訴我如何給鼠標「圖標拖動」遊標,而這一形象上徘徊。

回答

2

我認爲最簡單的方法是子類化NSImageView並返回YES到mouseDownCanMoveWindow(它從NSView繼承)。

-(BOOL)mouseDownCanMoveWindow { 
    return YES; 
} 

您可以設置一個新的光標,當鼠標進入由NSImageView子類中重寫這樣resetCursorRects圖像視圖(我不知道你所說的「拖動圖標」光標的意思,所以這個示例使用用手指點光標:。

- (void)resetCursorRects { 
    [self addCursorRect:self.bounds cursor:[NSCursor pointingHandCursor]]; 
} 
0

NSImageView■找自己的鼠標處理。要改變這種看法的行爲方式,你將不得不子類,無論是NSViewNSImageView

+0

我要指出,我不承諾使用NSImageView我會用任何最簡單的方法是顯示圖像,並將它拖動窗口 – cksubs

+0

好了,你也可以繼承' NSView'很容易讓它不做任何事情,而是繪製圖像並將鼠標事件傳遞給響應者鏈。 –