Есть ли в MFC встроенное управление сеткой? - PullRequest
5 голосов
/ 27 октября 2009

Первое, что я хочу: возможность отображать сетку с несколькими столбцами, каждая ячейка имеет собственный обратный вызов рендеринга. Поэтому вы можете использовать такой элемент управления для отображения своих ресурсов в игре или что-то вроде поведения в Google Chrome, где он отображает сетку популярных страниц, которые вы посещаете.

Я играл с CListCtrl, и хотя я могу получить индивидуальную возможность рендеринга для каждого элемента, я не могу заставить его работать со столбцами - скажем, 3 элемента в строке. Элемент управления имеет методы, связанные со столбцами, но я думаю, что они специально предназначены для встроенной функциональности, где различные атрибуты элемента отображаются автоматически в каждом столбце ... не для обеспечения общего элемента управления сеткой.

Так есть ли такая функциональность в MFC? Если нет, то я задаюсь вопросом, проще ли для меня фактически вставить каждую из строк в качестве элемента ... и затем пользовательский рендеринг рисует несколько ячеек в строке, я также мог бы сделать пользовательский интерфейс для поддержки нажатия на ячейки .

Но то, что я действительно хочу, - это возможность создать собственный элемент управления и добавить его в виде элемента в список - как, например, в Flex - чтобы автоматически обрабатывать ввод / вывод и т. Д.

Любые советы / информация приветствуются ...

Ответы [ 4 ]

11 голосов
/ 27 октября 2009

Dundas добавила некоторые из своих (превосходных) компонентов в общественное достояние. Их Ultimate Grid доступен на CodeProject .

2 голосов
/ 27 октября 2009

Я не знаю о встроенном элементе управления, но я думаю, вам стоит взглянуть на это . В статье подробно описываются функции полнофункционального элемента управления сеткой MFC, созданного на основе CWnd, для отображения табличных данных.

1 голос
/ 20 сентября 2013

YOUR_LIST_CONTROL .SetExtendedStyle (LVS_EX_FULLROWSELECT | LVS_EX_INFOTIP | LVS_EX_GRIDLINES);

Я думаю, что это поможет вам

0 голосов
/ 19 августа 2013

Я предлагаю это: https://code.google.com/p/cgridlistctrlex/ очень полный

...