NSTextView, не обновленный правильно на прокрутке

Вы можете сделать это, настроив вещательные приемники для ACTION_SCREEN_ON и ACTION_SCREEN_OFF.

7
задан Glorfindel 16 March 2019 в 08:00
поделиться

3 ответа

Здесь есть 2 разные идеи :
- Delphi запущена и работает
- Приложение работает под отладчиком

. Обычный способ проверить, работает ли Delphi , - это проверить наличие известных IDE Windows с определенным именем класса, например TAppBuilder или TPropertyInspector.
Эти 2 работают во всех версиях Delphi IIRC.

Если вы хотите узнать, работает ли ваше приложение под отладчиком , то есть запускается в обычном режиме из среды IDE с помощью команды «Выполнить» (F9) или присоединено к отладчику, когда оно уже запущено, вам просто нужно проверить глобальная переменная DebugHook.
Обратите внимание, что «Отсоединить от программы» не удаляет значение DebugHook, а «Присоединить к процессу» устанавливает его.

function IsDelphiRunning: Boolean;
begin
  Result := (FindWindow('TAppBuilder', nil) > 0) and
    (FindWindow('TPropertyInspector', 'Object Inspector') > 0);
end;

function IsOrWasUnderDebugger: Boolean;
begin
  Result := DebugHook <> 0;
end;

Если цель - ограничить использование пробной версии вашего компонента, когда приложение разрабатывается, оба имеют недостатки :
- Скрытые окна с правильным именем класса / заголовком могут быть включены в приложение
- DebugHook можно установить вручную в коде

Сообщение с параметром NO для NSScrollView имеет дополнительный эффект отправки NSClipView сообщения setCopiesOnScroll: с параметр НЕТ . Побочным эффектом отправки сообщения setDrawsBackground: непосредственно в NSClipView вместо этого будет появление «следов» (остатков предыдущего рисунка) в представлении документа при его прокрутке.

6
ответ дан 7 December 2019 в 03:20
поделиться

Похоже, текстового поля нет даже в области прокрутки ... Вы уверены, что что-то не перекрывает его?

2
ответ дан 7 December 2019 в 03:20
поделиться

У меня была такая же проблема некоторое время назад. Не помню, как я это решил.

Попытайтесь поместить NSTextView в другое представление, если супервизор является настраиваемым. Просто чтобы посмотреть, что будет.

0
ответ дан 7 December 2019 в 03:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: