私のプログラムでは、特定のNSRectの中にマウスがついているかどうかを調べることができます。このNSRectをクリックすると、新しいNSWindowを開くことはできますか?NSWindowをココアでNSRectをクリックして開きます
0
A
答えて
2
既存のウィンドウ(Interface Builderで作成したウィンドウ)を表示する場合は、ウィンドウオブジェクトにmakeKeyAndOrderFrontを呼び出します。
新しいウィンドウをプログラムで作成する場合は、回答はhereです。
0
イベントを処理するには、NSResponderの関連するメソッドをNSViewまたはNSViewControllerサブクラスに実装します。たとえば、マウスクリックを処理するためにmouseDown:
と-mouseUp:
を実装すると(かなり単純な方法で)、次のようになります。
- (void) mouseDown: (NSEvent *) event
{
if ([event type] != NSLeftMouseDown)
{
// not the left button, let other things handle it
[super mouseDown: event];
return;
}
NSPoint location = [self convertPoint: [event locationInWindow] fromView: nil];
if (!NSPointInRect(location, self.theRect))
{
[super mouseDown: event];
return;
}
self.hasMouseDown = YES;
}
- (void) mouseUp: (NSEvent *) event
{
if ((!self.hasMouseDown) || ([event type] != NSLeftMouseUp))
{
[super mouseUp: event];
return;
}
NSPoint location = [self convertPoint: [event locationInWindow] fromView: nil];
if (!NSPointInRect(location, self.theRect))
{
[super mouseDown: event];
return;
}
self.hasMouseDown = NO;
// mouse went down and up within the target rect, so you can do stuff now
}
関連する問題
- 1. ココア警告:NSWindowはユーティリティスタイルマスク0x10をサポートしていません
- 2. ココア - 私は特定のボタンをクリックした後、私のNSWindowのをアニメーション化しようとしていますので、私は、関数を書いたNSWindowの
- 3. NSWindowを閉じてメモリを解放しますが、ボタンをクリックすると再び開きます
- 4. ココア - NSWindowアニメーションが表示されたら?
- 5. ストーリーボードとスウィフトを使ってxibからNSWindowを開きます
- 6. ファイルを開く - ココア
- 7. NSWindowを閉じた後に再び開きますか?
- 8. クリックしてJqueryを開いてもサブメニューを開くことができます
- 9. クリックしてjQuery UIモーダル経由でビデオを開きますか?
- 10. Selenium IDEで右クリックしてコンテキストメニューを開きます
- 11. スラックインタラクティブメッセージ、ボタンまたはメニューをクリックしてリンクを開きます
- 12. ASP.NET Response.Redirectをクリックして新しいブラウザウィンドウを開きますか?
- 13. Javaボタンをクリックして新しいウィンドウを開きます
- 14. 別のNSWindowを開いているNSWindowの自動解放を避けますか?
- 15. 画像をクリックしてクリックすると新しいウィンドウが開きます
- 16. NSWindow closeとMultiple-Tab-NSWindow closeを区別しますか?
- 17. シャイニーリーフレット - マーカーをクリックしてプロット/データテーブルを開きます
- 18. シミュレーションをクリックしてウェブページを開きます
- 19. jsfコマンドボタンをクリックして実体化モーダルを開きます
- 20. AngularJSのボタンをクリックして情報ウィンドウを開きます
- 21. 反応ネイティブのテキストをクリックしてコンポジットを開きます。
- 22. ボタンをクリックしてdivを開き、CSSのみで外側をクリックしてdivを閉じます。
- 23. NSRectがnullであるかどうかを確認します。
- 24. 開いているリンクをWebブラウザでクリックしてgeditできますか?
- 25. マウスでNSRectを移動する
- 26. シンプルなモーダルでリンクをクリックして新しいシンプルなモーダルを開きます
- 27. DIVをクリックして新しいタブでインライン背景を開きます
- 28. GoogleマップApi v3 - 2回目のクリックでマーカーをクリックしてズームしてからウィンドウを開きます。
- 29. NSRectの穴
- 30. SetNeedsDisplay not drawing NSRect