0

NSWindow に画像を表示するために NSImageView を使用しています。画像は、ユーザーが通常ウィンドウをドラッグできる領域の上に表示されます。

ウィンドウは、ウィンドウをドラッグできることが簡単にわからないようにスタイル設定されています...したがって、実際にウィンドウをドラッグできることを示すために、この小さな画像が必要です。

残念ながら、画像をクリックしてウィンドウをドラッグする方法がわかりません! これが必要です。ウィンドウのタイトル領域の他の場所にドラッグしても問題ありません。

画像をクリックしたままウィンドウ全体をドラッグするにはどうすればよいですか?

この画像にカーソルを合わせているときにマウスに「ドラッグアイコン」カーソルを表示する方法を教えていただければ、ボーナスポイントです。

4

2 に答える 2

2

最も簡単な方法は、NSImageView をサブクラス化し、mouseDownCanMoveWindow (NSView から継承) に YES を返すことだと思います。

-(BOOL)mouseDownCanMoveWindow {
    return YES;
}

NSImageView サブクラスで次のように resetCursorRects をオーバーライドすることにより、マウスが画像ビューに入ったときに新しいカーソルを設定できます (「アイコンをドラッグする」カーソルの意味がわからないため、この例では指差しカーソルを使用します。

- (void)resetCursorRects {
    [self addCursorRect:self.bounds cursor:[NSCursor pointingHandCursor]];
}
于 2012-05-25T01:11:54.213 に答える
0

NSImageViewには独自のマウス処理があります。NSViewビューの動作を変更するには、 または のいずれかをサブクラス化する必要がありますNSImageView

于 2012-05-24T19:14:26.670 に答える