Есть ли сообщение SetText для элемента управления Win32 ListBox? - PullRequest
7 голосов
/ 12 марта 2011

Это легко в .NET (не мой вопрос), но я пытаюсь выяснить, возможно ли просто изменить текст строки в элементе управления Win32 в поле с учетом индекса.

Существует функция GetText, которая принимает индекс элемента, но ничего не меняет текст существующего элемента / строки.Мой обходной путь будет состоять в том, чтобы удалить его и добавить обратно в поле (что также является странной перспективой, поскольку нет единой команды для добавления строки + данные элемента - это нужно сделать осторожно, вставив строку, а затем установив элементданные об индексе вставленной строки, что сложно (не возможно?) с активной сортировкой).

Ответы [ 2 ]

5 голосов
/ 12 марта 2011

Да, отсутствие сообщения LB_SETITEMTEXT немного странно.

Вы должны помещать ваши вызовы Delete + Insert + SetData между вызовами на WM_SETREDRAW ...

1 голос
/ 12 марта 2011

С риском быть не по теме ...

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

Ох .. и у него есть сообщение LVM_SETITEM:)
http://msdn.microsoft.com/en-us/library/bb761186(v=VS.85).aspx

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