Файлы перетаскивания на NSTableView?

После некоторых попыток и изучения книг MFC и исходного кода MFC я успешно создал окно MDI из окна SDI. Я могу добавить несколько документов нескольких панелей в MDI. И выход из приложения также ОК без каких-либо ошибок. Это нелегко, есть некоторые хитрости, чтобы это произошло.

enter image description here

12
задан dbr 4 May 2009 в 21:27
поделиться

2 ответа

NSTableView обрабатывает перетаскивание в отличие от общих представлений, что в целом хорошо. Это означает, что вам не нужно вручную обрабатывать сложные способы выделения, отслеживания и вставки ячеек, требуемые таблицами.

Описание того, что требуется, можно найти здесь здесь . По сути, вы по-прежнему вызываете -registerDraggedTypes: (обычно в вашем методе -awakeFromNib), но вместо реализации методов NSDraggingDestination вы реализуете различные методы источника данных, связанные с перетаскиванием, которые можно найти здесь здесь . Вам не нужно создавать подкласс NSTableView для реализации перетаскивания таким способом.

Обратите внимание, что это методы источника данных. Вам нужно подключить вид таблицы "

21
ответ дан 2 December 2019 в 07:04
поделиться

В дополнение к тому, что сказал Боаз, похоже, что вы создаете подкласс NSTableView, а затем делаете экземпляр этого подкласса делегатом NSTableView. Если вы собираетесь использовать подкласс, этот подкласс должен использоваться вместо NSTableView, а не в дополнение к нему. Кроме того, почти всегда нарушается мнение о том, что представление должно быть делегатом для другого объекта.

1
ответ дан 2 December 2019 в 07:04
поделиться