Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Уроки по программированию. Visual C++, MFC, VB, ActiveX


Служба Рассылок Subscribe.Ru

Visual Basic. Примеры. Уроки по программированию с сайта http://progs.biz

Рассылка №28

Visual Basic. Примеры. Label в виде WEB-ссылки. Урок 1. Постановка задачи.
Visual Basic. Примеры. Label в виде WEB-ссылки. Урок 2. Начальные действия.
Visual Basic. Примеры. Label в виде WEB-ссылки. Урок 3. Задание начальных значений.
Visual Basic. Примеры. Label в виде WEB-ссылки. Урок 4. Сохраняем свойства в PropertyBag.

Полные версии уроков (с картинками) можно найти по адресу http://progs.biz
Урок 1. Постановка задачи.
Урок 2. Начальные действия.
Урок 3. Задание начальных значений.
Урок 4. Сохраняем свойства в PropertyBag.

Label в виде WEB-ссылки (ActiveX на VB). Урок 1. Постановка задачи

В этой серии уроков мы с вами сделаем очередной элемент ActiveX. Выгладеть он будет приблизительно как обычный label, только при щелчке на нем запустится установленный на компьютере браузер по умолчанию, в котором откроется WEB-страничка с определенным адресом. Самое распространенное применение для этого ActiveX - это его использование на форме About ваших программ:

При щелчке на таком элементе ActiveX пользователь сразу окажется на вашем сайте (если, разумеется, пользователь вообще подключен к Интернету).

У нашего ActiveX-элемента будет свойство strURL, которое и будет определять, на каком WEB-узле окажется пользователь в результате щелчка.

Кроме того, у элемента будет некоторое количество стандартных украшательств: курсор мыши в виде "Перста указующего", при щелчке на нашей WEB-ссылке цвет нашей ссылки поменяется, сама ссылка будет подчеркнута и др.

Наверх

Label в виде WEB-ссылки (ActiveX на VB). Урок 2. Начальные действия

Как и всегда для создания ActiveX-элементов, сначала создайте новый пустой проект типа ActiveX Control, и добавьте к нему еще один тестовый проект - типа Standard EXE. Сделайте тестовый проект основным (если забыли, то см. урок 4).

Теперь вызовите для проекта нашего ActiveX окно свойств (меню Project, далее Project1 properties), в котором в поле Project Name введите MyLabel, в поле Project Description введите "Label в виде WEB-ссылки", после чего нажмите на OK. Далее измените свойство Name для нашего ActiveX-элемента на WEBLink (в окне свойств). Именно благодаря этому при размещении нашего первого элемента ActiveX на форме он автоматически получит имя WEBLink1, второй - WEBLink2 и т. д.

Теперь разместите наш элемент WEBLink на форме тестового проекта (если не получается, то см. урок 5 на сайте progs.biz

Двигаемся дальше. Наш ActiveX-элемент должен внешне выглядеть, как обычный label (разве что только подчеркнутый, как и положено быть гиперссылке). Для этого добавьте на наш UserControl элемент label и измените его имя на lblAddress, а свойство Caption - на alexeev.nm.ru. Далее у lblAddress измените цвет надписи (свойство ForeColor) на синий, потом нажмите на кнопочку с многоточием рядом со свойством Font элементна lblAddress и в появившемся диалоге Font поставьте галочку рядом со свойством Underline (подчеркнутый). Наш ActiveX-элемент должен выглядеть приблизительно так (возвожно, вам придется изменить его размеры).

С точным расположением lblAddress на UserControl можете особенно не забивать себе голову - мы сделаем это программно.

Наверх

Label в виде WEB-ссылки (ActiveX на VB). Урок 3. Задание начальных значений

Начинаем писать код. Во-первых, у нашего ActiveX-элемента должна быть внутреняя переменная для задания WEB-адреса. Заводим ее:

Option Explicit
Dim m_strAddress As String 'внутренний URL-адрес
 ...

Далее, у нашего ActiveX-элемента будет свойство address типа String. Вставляем код и для него:

Public Property Get Address() As String
  Address = m_strAddress
End Property
Public Property Let Address(strNewAddress As String)
  m_strAddress = strNewAddress
End Property

Двигаемся дальше. Нам хотелось бы, чтобы наше свойство m_strAddress было бы напрямую связано со свойством Caption нашего lblAddress. За это отвечает следующий код (разумеется, добавьте и его):

Public Property Get Caption() As String
  Caption = lblAddress.Caption
End Property
Public Property Let Caption(strNewCaption As String)
  lblAddress.Caption = strNewCaption
End Property

Идем далее. Для задания начальных значений вставьте следующий код (его назначение ясно более или менее из комментариев):

Private Sub UserControl_Initialize()
  lblAddress.Top = 0 'Распологаем lblAddress в левом верхнем углу UserControl
  lblAddress.Left = 0
  m_strAddress = "http://alexeev.nm.ru" 'стандарное значение для адреса
End Sub
Private Sub UserControl_InitProperties()
  'цвет нашего элемента будет совпадать с цветом формы, на которой он расположен
  lblAddress.BackColor = Ambient.BackColor
End Sub
Private Sub UserControl_Resize()
  'При изменении размера lblAddress должен занимать всю площадь UserControl
  lblAddress.Width = UserControl.Width
  lblAddress.Height = UserControl.Height
End Sub
Наверх

Label в виде WEB-ссылки (ActiveX на VB). Урок 4. Сохраняем свойства в PropertyBag

Теперь мы должны позаботиться о том, чтобы свойства для нашего ActiveX-элемента сохранялись (скажем при запуске программы или при открытии/закрытии редактора Visual Basic'а). Для этого мы должны воспользоваться объектом PropertyBag. Добавьте следующий код в окно кода для конструируемого нами ActiveX-элемента:

Private Sub UserControl_WriteProperties(PropBag As PropertyBag)
  'Запись значений
  PropBag.WriteProperty "Address", m_strAddress, "http://alexeev.nm.ru" 'записываем свойство Address
  PropBag.WriteProperty "Caption", lblAddress.Caption, "Alexeev Igor" 'записываем свойство Caption
  PropBag.WriteProperty "BackColor", lblAddress.BackColor, vbButtonFace 'записываем цвет фона
End Sub
Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
  'Чтение значений
  m_strAddress = PropBag.ReadProperty("Address", "http://alexeev.nm.ru") 'читаем свойство Address
  lblAddress.Caption = PropBag.ReadProperty("Caption", "Alexeev Igor") 'читаем  свойство Caption
  lblAddress.BackColor = PropBag.ReadProperty("BackColor", vbButtonFace) 'читаем цвет фона
End Sub

Запустите тестовый проект (F5).

При этом наш ActiveX пока ни на что не реагирует - при щелчке на нем ничего не происходит. Но этим мы уже займемся на следующих уроках. Но зато вы уже можете изменять у нашего ActiveX'а свойства Address и Caption - при запуске программы и при выходе из редектора Visual Basic'а они будут сохраняться. Также обратите внимание, что если у нашей тестовой формы первоначально цвет был, скажем, красный, то при размещении на ней нашего ActiveX-элемента у последнего цвет тоже будет красным. Именно так мы и задумывали.

Наверх

Copyright Алексеев Игорь, 2002

Copyright cайт progs.biz, 2002



http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное