При использовании VirtualStringTree для добавления поддержки специальных возможностей необходимо включить единицу VirtualTrees.Accessibility
в раздел uses
. Это работает в Delphi.
Эквивалентом этого в C ++ Builder будет включение #include "VirtualTrees.Accessibility.hpp"
. Но включение файла включения не имеет никакого эффекта.
Я отследил проблему до файла VirtualTrees.Accessibility.pas
, и он выполняет несколько строк кода, чтобы зарегистрировать поставщика специальных возможностей по умолчанию в Delphi, пока код отсутствует в файле hpp. Таким образом, включение hpp включает в себя класс, но не код, который регистрирует провайдера.
Код, о котором идет речь (в конце VirtualTrees.Accessibility.pas
это):
var
DefaultAccessibleProvider: TVTDefaultAccessibleProvider;
DefaultAccessibleItemProvider: TVTDefaultAccessibleItemProvider;
MultiColumnAccessibleProvider: TVTMultiColumnAccessibleItemProvider;
initialization
if DefaultAccessibleProvider = nil then
begin
DefaultAccessibleProvider := TVTDefaultAccessibleProvider.Create;
GetAccessibilityFactory.RegisterAccessibleProvider(DefaultAccessibleProvider);
end;
if DefaultAccessibleItemProvider = nil then
begin
DefaultAccessibleItemProvider := TVTDefaultAccessibleItemProvider.Create;
GetAccessibilityFactory.RegisterAccessibleProvider(DefaultAccessibleItemProvider);
end;
if MultiColumnAccessibleProvider = nil then
begin
MultiColumnAccessibleProvider := TVTMultiColumnAccessibleItemProvider.Create;
GetAccessibilityFactory.RegisterAccessibleProvider(MultiColumnAccessibleProvider);
end;
finalization
GetAccessibilityFactory.UnRegisterAccessibleProvider(MultiColumnAccessibleProvider);
MultiColumnAccessibleProvider := nil;
GetAccessibilityFactory.UnRegisterAccessibleProvider(DefaultAccessibleItemProvider);
DefaultAccessibleItemProvider := nil;
GetAccessibilityFactory.UnRegisterAccessibleProvider(DefaultAccessibleProvider);
DefaultAccessibleProvider := nil;
end.
Мой вопрос - Как я могу перевести или использовать вышеупомянутое, чтобы я мог получить поддержку специальных возможностей из C ++ Builder после включения файла VirtualTrees.Accessibility.hpp
? Перевод вышеупомянутого на C ++ был бы очень признателен.