Как я могу сделать Visual Studio CListCtrl модифицируемым, как CEdit, пользователем из GUI? - PullRequest
0 голосов
/ 27 марта 2012

Не знаете, как набирать текст в CListCtrl во время выполнения? Для создания моего CListCtrl (все данные позже добавляются другим способом):

pList = new CListCtrl;
pList->Create(LVS_REPORT | WS_CHILD | WS_VISIBLE, CRect(480, 10, 480+140, 370), this, 1000);
pList->SetExtendedStyle(LVS_EX_GRIDLINES); 

LVCOLUMN lvColumn;

lvColumn.mask = LVCF_FMT | LVCF_TEXT | LVCF_WIDTH;
lvColumn.fmt = LVCFMT_LEFT;
lvColumn.cx = 60;
lvColumn.pszText = "Iteration";
pList->InsertColumn(0, &lvColumn);

lvColumn.mask = LVCF_FMT | LVCF_TEXT | LVCF_WIDTH;
lvColumn.fmt = LVCFMT_LEFT;
lvColumn.cx = 80;
lvColumn.pszText = "Value";
pList->InsertColumn(1, &lvColumn);

Ответы [ 2 ]

1 голос
/ 27 марта 2012

Вы можете использовать LVS_EDITLABELS, чтобы сделать один (но только один) столбец редактируемым.

1 голос
/ 27 марта 2012

Вы можете сделать это только путем создания собственного подкласса элемента управления из CListCtrl.

Другое предложение, которое у меня есть, - создать диалог с полями редактирования, отражающими столбцы в вашем CListCtrl.Например, если у вас есть 2 столбца Имя и возраст, создайте диалоговое окно с двумя полями редактирования для имени и возраста соответственно.Покажите диалоговое окно для ввода пользователем значения, и когда пользователь закроет диалоговое окно, получите значения и вставьте его в виде строки.Это диалоговое окно может отображаться, когда пользователь дважды щелкает элемент управления списком или имеет отдельную кнопку добавления.

В то же время вы можете использовать это же диалоговое окно для редактирования значений в элементе управления списком строка за строкой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...