Зачем использовать слово «аннулировать», чтобы запросить перерисовку представления? - PullRequest
13 голосов
/ 08 сентября 2011

В графическом интерфейсе, когда требуется перерисовать представление.Обычно мы делаем это следующим образом:

View v = View (); 
v.invalidate() 

Я понятия не имею, что операция "invalidate ()" называется так.В английском языке «аннулировать» означает сделать что-то недействительным.Но «аннулировать представление» в программировании GUI предназначено для того, чтобы сделать представление перерисовываемым.Я не носитель английского языка.Пожалуйста, дайте мне подсказки.Tks.

Ответы [ 2 ]

12 голосов
/ 08 сентября 2011

«аннулировать представление» означает, что любые данные, которые могут быть уже нарисованы, больше не действительны. Представление данных недопустимо, поэтому invalidate() помечает его как таковое. Меньше того, что функция делает ее недействительной настолько, насколько она уже недействительна, но никто, кроме вызывающей стороны invalidate(), пока не знает этого. Цель функции - сообщить остальной части кода, что данные представлений теперь недопустимы.

5 голосов
/ 08 сентября 2011

Invalidate семантически отличается от перерисовки тем, что обычно помечает что-то, что будет перерисовано позже, в отличие от перерисовки во время вызова.Идея состоит в том, что, когда несколько возможных перекрывающихся областей становятся недействительными, величина перерисовки в более позднее время может быть сделана равной только сумме непересекающихся областей.То есть мы можем перерисовать только один раз для нескольких последующих аннулирований.Следовательно, существует различие между перерисовкой и аннулированием.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...