![]() Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
If TypeOf Screen.ActiveControl Is TextBox Then⇐ ПредыдущаяСтр 32 из 32
В случае, если из текста ничего не выделено, мы должны сделать недоступными строки " Вырезать", " Копировать" и " Удалить". Для этого надо ее свойству.Enabled присвоить значение False. Если ничего не выделено, значит длина выделения (свойство.SelLength) равна нулю. Это можно было бы записать приблизительно так:
Однако, для краткости записи мы можем напрямую присвоить свойству.Enabled значение длины выделения.SelLength, исходя из того, что значение ноль всегда соответствует для логических типов False, а любое положительное - True. В итоге то мы получаем более короткую, но по смыслу абсолютно такую же запись. Кроме того, при этом, нам не надо каждый раз в начале процедуры восстанавливать доступность строк, так как длина строки больше нуля сама переведет.Enabled в состояние True. mnuCut.Enabled = Screen.ActiveControl.SelLength аналогично две другие строки mnuCopy.Enabled = Screen.ActiveControl.SelLength Далее мы должны запретить Вставить, если формат данных в буфере не соответствует требуемому. Здесь даже еще проще. Метод.GetFormat возвращает True, если формат соответствет проверяемому и False - если нет. Именно эти значения мы напрямую и присваиваем для свойства.Enabled строки mnuPaste. mnuPaste.Enabled = Clipboard.GetFormat(vbCFText) Абсолютно также мы поступаем с веткой для графических данных ElseIf TypeOf Screen.ActiveControl Is PictureBox Then
В Visual Basic существуют объекты, не отображаемые на форме, но использование которых несложно и может принести некоторую пользу. В прошлых главах мы говорили об объектах Printer, Err и DataObject. Давайте поговорим еще о парочке. Забиваем Сайты В ТОП КУВАЛДОЙ - Уникальные возможности от SeoHammer
Каждая ссылка анализируется по трем пакетам оценки: SEO, Трафик и SMM.
SeoHammer делает продвижение сайта прозрачным и простым занятием.
Ссылки, вечные ссылки, статьи, упоминания, пресс-релизы - используйте по максимуму потенциал SeoHammer для продвижения вашего сайта.
Что умеет делать SeoHammer
— Продвижение в один клик, интеллектуальный подбор запросов, покупка самых лучших ссылок с высокой степенью качества у лучших бирж ссылок. — Регулярная проверка качества ссылок по более чем 100 показателям и ежедневный пересчет показателей качества проекта. — Все известные форматы ссылок: арендные ссылки, вечные ссылки, публикации (упоминания, мнения, отзывы, статьи, пресс-релизы). — SeoHammer покажет, где рост или падение, а также запросы, на которые нужно обратить внимание. SeoHammer еще предоставляет технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Зарегистрироваться и Начать продвижение
По-сути, объект Screen представляет собой весь экран или иначе Десктоп (DeskTop). Как и другие объекты, объект Screen имеет определенные свойства. Так, например, почему-то считается, что для определения разрешения экрана надо использовать API-функции. Но это прекрасно можно сделать и внутренними возможностями VB. У объекта Screen есть свойства .Height и .Width, которые и возвращают высоту и ширину экрана в твипах. Эти самые твипы легко преобразовать в пиксели, если использовать два других свойства объекта Screen - .TwipsPerPixelX (которое возвращает количество твипов в пикселе по-горизонтали) и .TwipsPerPixelY (которое возвращает количество твипов в пикселе по-вертикали). Таким образом, чтобы определить разрешение экрана, мы пишем приблизительно следующий код: Private Sub Command1_Click() Еще одно свойство .ActiveControl содержит ссылку на элемент управления (и его свойства), имеющий фокус. Смысл использования этого свойства следующий. Например, у тебя на формe три текстбокса. И ты хочешь активный текстбокс очистить. Вот в этом случае и можно использовать свойство .ActiveControl, например Screen.ActiveControl.Text=" " т. е. очищается тот объект (в нашем случае TextBox), на котором в данный момент находится фокус. Это, конечно, несколько упрощено, поскольку, во-первых, необходимо проверить, а текстбокс ли это? Может у тебя на форме есть другие элементы, например, PictureBox. Во-вторых, реально это свойство можно использовать только в меню, так как меню не получает фокус и активным элементом остается выбранный объект. При использовании, например, свойства .ActiveControl в процедуре CommandButton, при нажатии на кнопку Command1 фокус перейдет с нужного нам элемента на командную кнопку и мы не получим желаемого результата. Ниже, в этой главе, мы на примере работы с объектом Clipboard будем использовать это свойство применительно к меню. Аналогично свойству .ActiveControl и свойство и .ActiveForm, но содержит ссылку на активную форму. Тогда, чтобы добраться до какого-либо элемента можно применить, например, такой оператор: Сервис онлайн-записи на собственном Telegram-боте
Попробуйте сервис онлайн-записи VisitTime на основе вашего собственного Telegram-бота:— Разгрузит мастера, специалиста или компанию; — Позволит гибко управлять расписанием и загрузкой; — Разошлет оповещения о новых услугах или акциях; — Позволит принять оплату на карту/кошелек/счет; — Позволит записываться на групповые и персональные посещения; — Поможет получить от клиента отзывы о визите к вам; — Включает в себя сервис чаевых. Для новых пользователей первый месяц бесплатно. Зарегистрироваться в сервисе
|