КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Clipboard.Clear
Далее мы будем использовать свойство .ActiveControl объекта Screen. С его помощью мы легко затащим в буфер содержимое объекта, которое в настоящий момент активно, т.е. по которой мы щелкнули мышью. Но сперва нам надо определить, а какой это объект, ведь для текста используется метод .SetText, а для графики - .SetData. Здесь мы снова, как и в Главе 18 используем ключевое слово TypeOf, которое поможет определить тип элемента управления, а значит и тип данных. 'итак, если это текст Готово, наши данные в буфере обмена. Если у тебя открыт CLIPBRD.EXE, то ты можешь видеть, что творится в буфере. Теперь напишем процедуру для копирования mnuCopy. Единственное, чем она отличается от вырезания, так это тем, что мы не очищаем Text или Picture от копируемых данных. Private Sub mnuCopy_Click() Теперь нам хорошо-бы из буфера вставить данные в элемент управления. Для этого пишем процедуру Вставить - mnuPaste. Private Sub mnuPaste_Click() Ну и для пущего сходства с приложениями Windows напишем еще процедурку для удаления данных - mnuDelate. Здесь все предельно просто, Мы ведь в буфер ничего на забираем, а проверяем наш активный элемент и очищаем его тем или иным методом. Кстати, пардон, за ошибку в слове mnuDel a te (я просто не люблю это слово), но уж исправлять поздно, она в исходнике примера. Private Sub mnuDelate_Click() Казалось бы, вот оно счастье, рядом, но фик, дело не закончено. Если ты обратил внимание на фирменные программы, то не всегда все строки меню редактирования доступны юзеру. Например, если нет выделения в тексте, то и нечего копировать или вырезать. Или наоборот, в буфере нет данных? Поэтому в определенные моменты доступ к определенным строкам меню надо перекрыть! Для решения этой проблемы надо написать небольшую, но ответственную процедуру. И используем мы для этого самый верхний, казалось бы совершенно ненужный пункт меню mnuEdit. Именно по клику юзера по этой строчке нам будет очень удобно проверять, что можно делать из наших процедур, а что нельзя. Private Sub mnuEdit_Click() Сначала обязательно проверяем, на каком элементе фокус.
Дата добавления: 2014-12-23; Просмотров: 462; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |