CString для LPWSTR в mfc
62
7
Я создаю свое приложение в режиме UNICODE и хочу преобразовать CString в LPWSTR. В любом случае, у меня есть один класс, содержащий CString в качестве переменной-члена,
class MyClass
{
CString TreeNodeName;
}
И я хочу использовать следующую структуру для вставки элемента в дерево управления,
TVINSERTSTRUCT tvInsert;
tvInsert.hParent = ParentNode;
tvInsert.hInsertAfter = NULL;
tvInsert.item.mask = TVIF_TEXT;
tvInsert.item.lParam = (long)ClassObject;
tvInsert.item.pszText = ClassObject->TreeNodeName; //Need this conversion
Пожалуйста, помогите мне, как преобразовать CString TreeNodeName; на tvInsert.item.pszText?
спросил(а)
2021-01-19T12:21:47+03:00
2 месяца, 3 недели назад
добавить комментарий
пожаловаться
Решение
97
Если я не понял этот вопрос, все, что вам нужно сделать, - это привести CString
в LPCTSTR
чтобы использовать его с функциями Windows API. См. Здесь описание.
Поскольку член TVITEM::pszText
является LPTSTR
вам нужно будет снова LPTSTR
его в неконстантный, однако это должно быть безопасно для таких действий, как TVM_INSERTITEM
поскольку строка, которую вы поставляете, не изменяется.
tvInsert.item.pszText = (LPTSTR)(LPCTSTR)ClassObject->TreeNodeName;
ответил(а)
2021-01-19T12:21:47+03:00
2 месяца, 3 недели назад
добавить комментарий
пожаловаться
Ваш ответ
- Вопросы
- Visual-c++
- CString для LPWSTR в mfc