wm-help.net -> Электронная библиотека -> Delphi -> Вопросы и Ответы по Delphi -> Вопрос и Ответ 15 -> Версия для печати

Вопрос и Ответ 15

Вопрос и Ответ 15

Вопросы и Ответы


      15. Возможно ли в компоненте TMemo отменить неверно произведенные действия при редактировании текста?

      В компоненте TMemo предусмотрена возможность отмены неверных действий при редактировании. Для этого надо послать сообщение о необходимости произвести отмену действий. Компонент TMemo поддерживает три сообщения:

      Сообщение

      Описание

      EM_CANUNDO Возвращает флаг состояния операции отмены. Если операцию произвести нельзя - возвращается ноль, если можно - значение отлично от нуля.
      EM_UNDO Производит операцию отмены.
      EM_EMPTYUNDOBUFFER Обнуляет флаг состояния операции отмены.

      Пример:

      ............

      {Операция отмены для компонента Memo1 с проверкой флага отмены}
      procedure TForm1.bUndoClick(Sender: TObject);
      begin

        IF Memo1.Perform(EM_CANUNDO, 0, 0) <> 0 THEN

          Memo1.Perform(EM_UNDO, 0, 0);

      end;

      ............

      {Операция очистки флага состояния операции отмены с проверкой флага}
      procedure TForm1.bUndoClearClick(Sender: TObject);
      begin

        IF Memo1.Perform(EM_CANUNDO, 0, 0) <> 0 THEN

          Memo1.Perform(EM_EMPTYUNDOBUFFER, 0, 0);

      end;

      ............


...предыдущая страница следующая...
оглавление

Rambler's Top100