КАТЕГОРИИ: Архитектура-(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) |
Изменения кода для определения активной формы в приложении MDI
Изменения кода для определения активной формы Изменения кода для определения активного элемента управления Свойства TwipsPerPixel Свойство MousePointer Свойство ActiveForm Свойство ActiveControl В Visual Basic 6.0 свойство ActiveControl объекта Screen используется для определения элемента управления, на котором установлен фокус. Свойство ActiveControl может использоваться глобально, например в Screen.ActiveControl, где возвращается активный элемент управления на форме, выделенной в данный момент. Если обращение производится к определенной форме, например Form2.ActiveControl, свойство ActiveControl определяет элемент управления, который получит фокус, если указанная форма является активной. В Visual Basic 6.0 свойство ActiveForm объекта Screen используется для определения формы, имеющей в данный момент фокус. Если родительская форма MDI имеет фокус, ActiveForm возвращает дочернюю форму MDI, которая имела фокус до этого. В Visual Basic 6.0 свойство MousePointer объекта Screen используется для изменения внешнего вида курсора. После задания оно применяется ко всем формам приложения. В Visual Basic 6.0 свойства TwipsPerPixelX и TwipsPerPixelY объекта Screen используются для преобразования размерности экрана из логических твипов (стандартная единица измерения в Visual Basic 6.0) в точки. В следующем примере кода демонстрируется копирование текста из выделенного в данный момент элемента управления на выделенной форме в буфер обмена: ' Visual Basic 6.0 If TypeOf Screen.ActiveControl Is TextBox Then Clipboard.SetText Screen.ActiveControl.Text End If В следующем примере кода демонстрируется изменение заголовка выделенной в данный момент формы: ' Visual Basic 6.0 Screen.ActiveForm.Caption = "This is the selected form" В следующем примере кода демонстрируется изменение заголовка выделенной в данный момент дочерней формы MDI: ' Visual Basic 6.0 Screen.ActiveForm.Caption = "This is the selected child form" В Visual Basic существуют объекты, не отображаемые на форме, но использование которых несложно и может принести некоторую пользу. В прошлых главах мы говорили об объектах Printer, Err и DataObject. Давайте поговорим еще о некоторых. Объект Screen По-сути, объект 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, но содержит ссылку на активную форму. Тогда, чтобы добраться до какого-либо элемента можно применить, например, такой оператор: Надо сказать, что объект Screen имеет еще свойства MouseIcon и MousePointer, которые позволяют менять вид курсора, но их использование совершенно аналогично этим свойствам для формы, которые мы анализировали в главе 5. Поэтому я не стану занимать этой дребеденью наше драгоценное время и предлагаю перейти к более нужному и интересному.
Дата добавления: 2014-12-23; Просмотров: 639; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |