Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
В случае, если из текста ничего не выделено, мы должны сделать недоступными строки "Вырезать", "Копировать" и "Удалить". Для этого надо ее свойству.Enabled присвоить значение False. Если ничего не выделено, значит длина выделения (свойство.SelLength) равна нулю. Это можно было бы записать приблизительно так:
If Screen.ActiveControl.SelLength=0 Then mnuCut.Enabled = False |
Однако, для краткости записи мы можем напрямую присвоить свойству.Enabled значение длины выделения.SelLength, исходя из того, что значение ноль всегда соответствует для логических типов False, а любое положительное - True. В итоге то мы получаем более короткую, но по смыслу абсолютно такую же запись. Кроме того, при этом, нам не надо каждый раз в начале процедуры восстанавливать доступность строк, так как длина строки больше нуля сама переведет.Enabled в состояние True.
mnuCut.Enabled = Screen.ActiveControl.SelLength
аналогично две другие строки
mnuCopy.Enabled = Screen.ActiveControl.SelLength
mnuDelate.Enabled = Screen.ActiveControl.SelLength
Далее мы должны запретить Вставить, если формат данных в буфере не соответствует требуемому. Здесь даже еще проще. Метод.GetFormat возвращает True, если формат соответствет проверяемому и False - если нет. Именно эти значения мы напрямую и присваиваем для свойства.Enabled строки mnuPaste.
mnuPaste.Enabled = Clipboard.GetFormat(vbCFText)
Абсолютно также мы поступаем с веткой для графических данных
ElseIf TypeOf Screen.ActiveControl Is PictureBox Then
mnuCut.Enabled = Screen.ActiveControl.Picture
mnuCopy.Enabled = Screen.ActiveControl.Picture
mnuDelate.Enabled = Screen.ActiveControl.Picture
mnuPaste.Enabled = Clipboard.GetFormat(vbCFDIB)
End If
End Sub
Дата публикования: 2014-12-28; Прочитано: 199 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!