|
<< Нажмите, чтобы показать Содержание >> TCustomRichView.DoInPaletteMode [VCL, LCL] |
Определяет поведение компонента TRichView при рисовании в 256-цветном режиме.
type
TRVPaletteAction =
(rvpaDoNothing, rvpaAssignPalette,
rvpaCreateCopies, rvpaCreateCopiesEx);
property DoInPaletteMode: TRVPaletteAction.
Примечание: TRVPaletteAction объявлен в модуле RVScroll.
Это свойство влияет только на отображение в 256-цветном режиме и не оказывает никакого влияния в режимах с большим количеством цветов.
Это свойство может считаться устаревшим, поскольку 256-цветный режим используется редко.
Режим |
Описание |
|---|---|
rvpaDoNothing |
TRichView не работает с цветовой палитрой. Используйте эту функцию, если в TRichView нет изображений или все изображения имеют 16-цветную палитру VGA. |
rvpaAssignPalette |
При работе в 256-цветном режиме TRichView создаёт палитру и назначает её всем изображениям (включая фон). Это повлияет на все изображения, уже присутствующие в TRichView, и на все изображения, которые будут вставлены позже (в 256-цветном режиме). Это также не очень хороший вариант, поскольку изображения теряют качество, которое нельзя восстановить при переключении в режим с большим числом цветов. При сохранение в файлы, буфер обмена, печати на принтер качество изображений будет снижено. Поэтому используйте этот вариант, если вам нужно только отобразить документ. |
rvpaCreateCopies |
(Вариант по умолчанию и предпочтительный вариант) В 256-цветном режиме TRichView создаёт копии всех изображений (включая фон) и назначает им цветовую палитру. Это повлияет на все изображения, уже имеющиеся в TRichView, и на все изображения, которые будут вставлены позже (в 256-цветном режиме). Эта работа абсолютно «прозрачна» для вас, вы будете работать с исходными изображениями, которые остаются неизменёнными. |
rvpaCreateCopiesEx |
Для будущих версий, не следует использовать (идея: копии изображений могут создаваться не в формате исходного изображения, а в каком-либо более удобном формате). |
Примечания:
1.Если на форме есть другие компоненты, которые также изменяют палитру (например, TImage или кнопки с многоцветными глифами), вы не сможете добиться требуемых результатов.
2.Если вы используете многоцветные значки (изображения из TImageList) в TRichView, рекомендуется иметь два TImageList: 16-цветный для 16- и 256-цветного режимов и многоцветный для остальных.
3.TRichView не может изменять палитру растровых изображений внутри метафайлов; не используйте TMetafile, содержащий многоцветные растровые изображения в 256-цветном режиме.
4.TRichView не может обновлять информацию о палитре при переключении пользователем цветового режима без перезапуска Windows. Пожалуйста, сделайте это самостоятельно, как показано ниже.
5.Если вы создаете RichView, RichViewEdit, RVPrintPreview, RVPrints во время выполнения (например, MyRichView := TRichView.Create(Self)), вам необходимо вызвать методы UpdatePaletteInfo таких компонентов после их создания.
В модуле главной формы напишите...
В разделе interface:
procedure WMDisplayChange(var Message: TWMDisplayChange);
message WM_DISPLAYCHANGE;
В разделе implementation:
procedure TMyForm.WMDisplayChange(var Message: TWMDisplayChange);
begin
// Надо вызвать метод UpdatePaletteInfo всех
// RichViews, RichViewEdits, и RVPrints
//(если используется предварительный просмотр)
// например:
MyRichViewEdit.UpdatePaletteInfo;
MyRVPrint.UpdatePaletteInfo;
end;
Значение по умолчанию:
rvpaCreateCopies
В TRichView используется палитра, показанная ниже (та же, что и в Microsoft Internet Explorer):

Если вам нужно использовать собственную палитру, дайте мне знать, я создам для неё свойство. В текущей версии вы можете переопределить защищённый динамический метод GenerateLogPalette (объявленный в TRVScroller).
См. также методы:
См. также методы TRVPrint: