Основы офисного программирования и язык VBA

       

Реализация операций Cut, Copy, Paste в диалоговых окнах


При работе с текстами трудно обойтись без этих, ставших привычными операций. Покажем на примере, как можно реализовать их в диалоговых окнах. Рассмотрим диалоговое окно, содержащее три поля ввода TextBox1, TextBox2, TextBox3 и три командные кнопки CommandButton1, CommandButton2 и CommandButton3 со стандартными изображениями Cut, Copy, Paste: Вот как выглядит это диалоговое окно в момент открытия:


Рис. 13. 12.  Окно "Удалить, Копировать, Вставить" в момент открытия

Наша цель состоит в том, чтобы кнопки работали "стандартным" образом, позволяя, копировать выделенные тексты в буфер из любого текстового окна, удалять выделенные тексты, помещая их в буфер, и, наконец, приклеивать содержимое буфера в точку вставки текстового окна. Методами Cut, Copy, Paste текстовые окна обладают, и единственная проблема состоит в том, что, когда работатет обработчик события Click соответствующей командной кнопки, ему каким-то образом необходимо знать, к какому же полю ввода применить соответствующую операцию. Для этой цели мы приспособили события Exit текстовых окон. При выходе из текстового окна обработчик события Exit запоминает его имя в глобальной переменной. Поэтому, если после выхода будет нажата одна из командных кнопок - Cut, Copy или Paste, ее обработчик по имени элемента управления сумеет понять, к какому полю ввода применить операцию. Этих объяснений, видимо, достаточно, чтобы разобраться в программном коде, решающем поставленную задачу:

Пример 13.2.

(html, txt)

В заключение приведем диалоговое окно, после того, как нажимались кнопки, текст копировался, удалялся, вставлялся.


Рис. 13.13. 



Содержание раздела