NSTableViewで複数の選択動作を実現する方法はありますか?クリックするときにコマンドボタンを押し続ける必要はありませんか?これは、HandleControlClick()関数の呼び出し時にマウスダウン処理中にcmdKey修飾子フラグをORすることで、Carbonリストボックスで簡単に実行できました。私はCocoaを初めて使用しています。イベントをプログラマチックに簡単に変更する方法や、これが最善の解決策であるかどうかはわかりません。コマンドキーを使用しないCocoaのNSTableViewでの複数の選択
答えて
NSTableViewをサブクラス化し、テーブルビューをこのサブクラスのインスタンスにします。サブクラスでは、NSCommandKeyMask
フラグを修飾フラグにOREDし、新しいイベントをsuper
まで渡すだけで、受け取ったマウスイベントに基づいて新しいマウスイベントを作成することによって、mouseDown:
とmouseUp:
の両方に応答します。
ただし、複数のアイテムを選択できることがユーザーには分かりやすいことを願っています。また、Shiftキーを壊さないでください。連続した選択がまだ有効であることを確認してください。
ありがとうピーター!私はサブクラスのmouseDownに応答して、受け取ったmouseDownイベントに基づいて新しいmouseDownイベントを作成し、NSShiftKeyMaskが設定されているかどうかに基づいてNSCommandKeyMaskでORingを行いました。それはちょうど素晴らしい作品です。 –
ああ、そうです。マウスはキーではなく、私が意味したものです。私はそれに応じて私の答えを編集しました。 –
- 1. Cocoa - NSArrayControllerを使用して複数のモデルを持つビューベースのNSTableViewの複数のカスタムNSTableCellViewをバインドする
- 2. HTML複数選択ボックス、jQueryを使用して複数のアイテムを選択
- 3. 複数の列に選択を使用
- 4. NSTableVIewのNSButtonCellとしてのNSButtonCellが選択されない
- 5. NSTableViewセル内のCocoa NSView
- 6. 選択したチェックボックスを使用してAngularJSの複数選択チェックボックスをドロップ
- 7. VBAコードを使用してスプレッドシートで複数のタブを選択
- 8. データベースを使用してPHPで複数選択可能なテストペーパー
- 9. プロンプトを使用したプロンプトでの複数選択contains operator
- 10. 複数回答の複数選択での選択PHP
- 11. ビューベースのNSTableView選択の強調表示
- 12. 複数の値を選択した場合、SSRSの複数の選択パラメータが結果を表示しない
- 13. MYSQLの複数の基準を使用してSUMを選択
- 14. 複数の選択ボックスでjqueryを使用して少なくとも1つのオプションを選択する
- 15. 複数の選択文を1つのクエリで複数選択した場合
- 16. Codeigniterを使用した複数の選択肢のクイズ
- 17. 複数の条件を使用した行の選択
- 18. 複数の角度のスキーマフォームを使用して選択
- 19. jqを使用した複数のjsonキーの選択
- 20. NSTableViewのCocoaカスタムセル:NSCellのサブクラス化リーク
- 21. VBSを使用してHTAで複数選択要素オプションを選択する
- 22. 複数の選択ボックスの1つから項目を選択しない場合の複数の「複数の選択リストボックス」に基づくクエリ
- 23. プライムフェースデータテーブル行の選択と複数のチェックボックスの選択が機能しない
- 24. XML列挙型 - 値をスペースで使用し、複数の選択肢を使用
- 25. NSTableViewで新しいオブジェクトを選択して編集する
- 26. jqueryを使用して複数のチェックボックスを選択する
- 27. reduxを使用して複数のプラットフォームを選択
- 28. SQLite IDを使用して複数の行を選択する
- 29. チェックボックスを使用してテーブルから複数の行を選択
- 30. 「シフト」キーを使用して複数のアイテムを選択
テーブルビューにチェックボックス列を追加して、複数のアイテムを選択する方法をユーザーに明確にすることを検討しましたか?私は、デフォルトのクリック動作を無効にすると、それらを混乱させ、心配してしまうのではないかと心配しています。たとえば、すべてのアイテムの選択を解除するにはどうすればよいですか? – Alex
アレックス、私は一般的には間違いありません。この特定のケースでは、それはウインドウ内のいくつかの他のアフォーダンスを考えればうまくいく。 –