Устаревшая функция класса CListCtrl - какие альтернативные функции можно использовать - PullRequest
0 голосов
/ 22 декабря 2018

Согласно документу Microsoft

https://docs.microsoft.com/fi-fi/cpp/mfc/deprecated-ansi-apis?view=vs-2017

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

AFX_ANSI_DEPRECATED void CancelEditLabel();

AFX_ANSI_DEPRECATED int EnableGroupView(BOOL fEnable);

AFX_ANSI_DEPRECATED int GetGroupInfo(int iGroupId,
    PLVGROUP pgrp) const;

AFX_ANSI_DEPRECATED void GetGroupMetrics(PLVGROUPMETRICS pGroupMetrics) const;

AFX_ANSI_DEPRECATED BOOL GetInsertMark(LPLVINSERTMARK lvim) const;

AFX_ANSI_DEPRECATED COLORREF GetInsertMarkColor() const;

AFX_ANSI_DEPRECATED int GetInsertMarkRect(LPRECT pRect) const;

AFX_ANSI_DEPRECATED COLORREF GetOutlineColor() const;

AFX_ANSI_DEPRECATED UINT GetSelectedColumn() const;

AFX_ANSI_DEPRECATED BOOL GetTileInfo(PLVTILEINFO pti) const;

AFX_ANSI_DEPRECATED BOOL GetTileViewInfo(PLVTILEVIEWINFO ptvi) const;

AFX_ANSI_DEPRECATED DWORD GetView() const;

AFX_ANSI_DEPRECATED BOOL HasGroup(int iGroupId) const;

AFX_ANSI_DEPRECATED int InsertGroup(int index,
    PLVGROUP pgrp);

AFX_ANSI_DEPRECATED void InsertGroupSorted(PLVINSERTGROUPSORTED pStructInsert);

AFX_ANSI_DEPRECATED int InsertMarkHitTest(LPPOINT pPoint,
    LPLVINSERTMARK lvim) const;

AFX_ANSI_DEPRECATED BOOL IsGroupViewEnabled() const;

AFX_ANSI_DEPRECATED void MoveGroup(int iGroupId,
    int toIndex);

AFX_ANSI_DEPRECATED void MoveItemToGroup(int idItemFrom,
    int idGroupTo);

AFX_ANSI_DEPRECATED void RemoveAllGroups();

AFX_ANSI_DEPRECATED int RemoveGroup(int iGroupId);

AFX_ANSI_DEPRECATED BOOL SetGroupInfo(int iGroupId,
    PLVGROUP pGroup);

AFX_ANSI_DEPRECATED void SetGroupMetrics(PLVGROUPMETRICS pGroupMetrics);

AFX_ANSI_DEPRECATED BOOL SetInfoTip(PLVSETINFOTIP plvInfoTip);

AFX_ANSI_DEPRECATED BOOL SetInsertMark(LPLVINSERTMARK lvim);

AFX_ANSI_DEPRECATED COLORREF SetInsertMarkColor(COLORREF color);

AFX_ANSI_DEPRECATED COLORREF SetOutlineColor(COLORREF color);

AFX_ANSI_DEPRECATED void SetSelectedColumn(int iCol);

AFX_ANSI_DEPRECATED BOOL SetTileInfo(PLVTILEINFO pti);

AFX_ANSI_DEPRECATED BOOL SetTileViewInfo(PLVTILEVIEWINFO ptvi);

AFX_ANSI_DEPRECATED DWORD SetView(int iView);

AFX_ANSI_DEPRECATED BOOL SortGroups(PFNLVGROUPCOMPARE _pfnGroupCompare,
    LPVOID _plv); 

Я специально использую функцию UINT GetSelectedColumn () const , и из-за этого на меня влияют.

Может ли кто-нибудь порекомендовать, вместо того чтобы использовать вышеуказанную функцию, есть ли какая-нибудь альтернативная функция, которую я могу использовать?или есть какой-то другой подход, который я могу использовать для решения проблемы.Если есть какой-либо пример кода, вы можете порекомендовать решить проблему, которая будет отличной.Так же, как к вашему сведению, я использую Windows 10 ver OS и VS2015.

Я буду очень признателен, если кто-нибудь сможет пролить немного света в ближайшее время.

Большое спасибо - Ян

1 Ответ

0 голосов
/ 22 декабря 2018

Со страницы документов Microsoft " Устаревшие API-интерфейсы ANSI ":

Библиотека Microsoft Foundation Class (MFC) мигрирует к классам и методам, основанным на символе Unicode.задавать.Следовательно, версии ANSI нескольких методов MFC устарели.Используйте версии этих методов для Unicode в ваших будущих приложениях.

Скомпилируйте ваше приложение для Unicode , чтобы избавиться от предупреждения.

Свойства проекта> Общие>Набор символов: «Использовать набор символов Юникода»

...