Часть 1/Часть 2/Часть 3/Часть 4/Часть 5/Часть 6/Часть 7/Часть 8/ Часть 9/Часть 10/Часть 11/Часть 12/Часть 13/Часть 14/Часть 15/Часть 16 /Часть 17 /Часть 18
В этом шаге я немного расскажу тебе о самом редакторе Визуал Басика (как говорят ботаны Вижуал Бейсик (Ботаны - не обижайтесь...)), начнем мы с удаления форм, модулей... Для удаления файла проекта, в поле Project - Project, выбирай любой файл, щелкай правой кнопкой по нему, и в открывшейся менюшке кликай по Remove Объект. Вот например, в этом рисунке показано как я удаляю Форму:
И также как и я удалил форму, ты можешь удалять и другие файлы.
Теперь перейдем к переименованию проекта. Чтобы переименовать проект тебе надо войти в Project/Project1 Properties... и в открывшемся окне, в поле Project Name - введи любое имя.
Ну пока все.
Свойства Height, Width - возвращают горизонтальный и вертикальный размеры бумаги в принтере, установленном в Windows. Пример: На форму кинь 2 Текстовых Поля, и кнопку, и впиши эту дрянь:
Private Sub Command1_Click()
Text1.Text = Printer.Height 'Узнаем высоту бумаги
Text2.Text = Printer.Width 'Узнаем ширину бумаги
End Sub
Ну это свойство не нужно, т.к. большая часть нашей страны использует формат A4.
Для установки качества печати, в VB есть спец свойство PrintQuality, его значения смотри в таблице:
vbPRPQDraft |
| Черновая печать |
vbPRPQLow |
| Низкое разрешение |
vbPRPQMedium | Среднее разрешение | |
vbPRPQHigh | Высокое разрешение |
Чтобы узнать сколько принтеров стоит в винде, кинь на форму текстовое поле, и кнопку, введи этот код:
Private Sub Command1_Click()
Text1.Text = Printers.Count 'В текстовом поле появится цифра, обозначающая кол - во принтеров
End Sub
Ты наверное при печати заметил, что принтер печатает текст очень близко к верхушке. А это все потому, что принтер надо ввести в состояние готовности. Для этого перед печатью прогоним строку
Printer.Print " ";
А только потом начнем печатать. Все - на принтерах закончили, перейдем к сканерам (Шутка).
Как ты наверное понял из названия, этот компонент нужен для создания календаря. Помню когда - то в древности, ты сделал календарь(2 часть), при этом ты потратил много времени (т.к. не знал об этом компоненте...). Начнем. Создай новый проект(Standart EXE, или что - то вроде этого...), на форму запульни Таймер(Interval = 60000(1 мин (если поставить 1 сек, или меньше, то он будет моргать, мерцать, пищать...))). Добавь компонент Microsoft Calendar Control 8.0(для этого войди в Project >> Components и выбери Microsoft Calendar Control 8.0(подробнее в Шаге 34)).
Ну что подключил? Отлично! Теперь в Панели инструментов у тебя появится объект Calendar(), кидай его на форму, растягивай, подтягивай, пока по виду нормальный не станет. У тебя получится такая херня:
Теперь мы сделаем так, чтоб он каждую минуту обновлялся. Для этого впиши код:
Private Sub Timer1_Timer()
Calendar1.Today 'Обновляем наш календарь (вообще метод Today это не обновление (обновление - Refresh) ,а этот метод настраивает календарь на текущую дату)
End Sub
Все календарь создан, исходник качай <а href="kalendar.zip" class="a19">Отсюда
Теперь настраивай его как хочешь (меняй цвета, размеры шрифта..., для этого есть спец свойства (с ними ознакомляйся сам)).
Исходник -
Здесь
Если ты программируешь на VB5, то тебе уже давно пора переходить на VB6(я уже перешел), т.к. VB6 продолжение VB5, там намного больше компонентов, библиотек, и он как - то удобнее(т.к. я скачал русификатор для VB6(он на VBNet.ru, в разделе программы), и теперь мой Басик русский), хотя разницы я особой не почувствовал, все теже кнопки, тоже меню... Ну если бабла не очень много, то можешь и на пятой посидеть. Теперь о VB7. Подробно о VB7 читай на VBNet.ru - "Мое первое впечатление о VBNet" и "Мое второе впечатление о VBNet"), скажу только что на стремный комп он скорее всего не пайдет(как на мой старый 166MHZ), и ты сможешь писать программы пока только для себя, т.к. чтобы твоя программа пошла, на другом компе должна быть установленна спец программа(а она пока не у всех есть), но зато твои программы будут идти не только под виндом, но и под юниксом..., но это только при наличии прогрограммы(которая занимает около 100 MB), но мож Билл Гейц включит ее в следующий винд. Но купить наверное стоит, сам пока не знаю, т.к. только купил VB6.
Опертор Exit Sub нужен для Аварийного выхода из процедуры. Много о нем я говорить не буду, но чтобы понять для чего он нужен сделаем программу. Смысл нашей программы будет в том, что при нажатии на кнопку, у ней свойство Caption = "padre03@mail.ru", при повторном нажатии Caption = "padre.narod.ru", потом опять = "padre03@mail.ru", и так до упора. Можешь попробовать сам сделать эту программу, НО в любом случае этот шаг прочитай. На форму кинь кнопку, и впиши код:
Dim QW1 As Long, QW2 As Long
Private Sub Command1_Click()
If QW1 = 1 Then
Command1.Caption = "padre03@mail.ru"
QW2 = 1
QW1 = 0
Exit Sub
End If
If QW2 = 1 Then
Command1.Caption = "padre.narod.ru"
QW2 = 0
QW1 = 1
Exit Sub
End If
End Sub
Private Sub Form_Load()
QW1 = 1
End Sub
Не буду объяснять, сам должен разобраться.
Исходник -
Здесь
Для аварийного выхода из функций есть функция Exit Function
События MouseDown/MouseUp Эти события действуют тогда, когда кнопка мыши нажата(MouseDown),и когда отжата(MouseUp). Для примера сделаем программу(при нажатии на кнопку будет двигатся фигура, а при отжатии останавливаются): На форму кинь кнопку, Shape, и таймер. Создай событие MouseDown и MouseUp(меню Events(2 часть)). И впиши код:
Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) ' Если нажата кнопка наведенной мыши на кнопку то мы включаем таймер
Timer1.Interval = 1
End Sub
Private Sub Command1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) ' Если отжата то выключаем
Timer1.Interval = 0
End Sub
Private Sub Timer1_Timer()
Shape1.Left = Shape1.Left + 30
End Sub
Скачать Исходник
События Resize - это событие есть только у формы, оно действует тогда, когда юзер пытается размеры окна изменить. Вот пример кода программы, у которой при изменении размера окна, возвращаются начальные размеры:
Private Sub Form_Resize()
Form1.Width = 4800
Form1.Height = 3600
End Sub
Теперь попробуй растени или сузь форму.
Событие GotFocus происходит тогда, когда объекту передается фокус(т.е. если текстовое поле, то когда на нем курсор появляется, если кнопка, то тогда, когда она выделяется), а LostFocus когда фокус теряется.
Сделаем программу. На форму кинь 2 текстовых поля и кнопку. Вот код:
Dim x As Long
Private Sub Command1_GotFocus() ' Если кнопке фокус передается то меняем надпись на кнопке
Command1.Caption = "Событие GotFocus"
End Sub
Private Sub Text1_GotFocus() ' Если текстовому полю передается фокус, то:
Text1.SelStart = 0 ' Ставим курсор в самое начало
Text1.SelLength = Len(Text1.Text) ' Выделяем текст
End Sub
Private Sub Text2_LostFocus() ' Если текстовое поле теряет фокус, то:
x = Text2.SelStart ' Сохраняем в переменную x позицию курсора
End Sub
Private Sub Text2_GotFocus() ' Если текстовому полю передается фокус, то:
On Error Resume Next' Если ошибка происходит, то игнорируем следующею строчку
Text2.SelStart = x ' Ставим курсор в ту позицию, в которой он был перед потерей фокуса
End Sub
Исходник качай здесь
Эти события происходят каждый раз при перетаскивании объекта. Например, при перетаскивании окна, значка... происходит это событие.
Ну короче делаем программу. На форму кинь объект Image(Picture = "Любая картинка.jpg"), и чтобы ее(картинку) можно было перетаскивать поставь свойство DragMode = 1 - Automatic. Теперь запусти проект, и попробуй перетащить картинку. Ну что получилось? Отлично! Теперь сделаем так чтоб картинку можно было не только перетаскивать, а еще и останавливать в том месте куда ты перетащил. автор учебника: Падре
У формы в списке Events выбери событие DragDrog, и у тебя автоматом сгенерируется процедура DragDrog. В ней впиши:
Image1.Left = X
Image1.Top = Y
Вот весь код:
Private Sub Form_DragDrop(Source As Control, X As Single, Y As Single) 'Если на форме происходит событие DragDrog то:
'Перемещаем картинку
Image1.Left = X
Image1.Top = Y
End Sub
только если ты заметил, что картинка при перемещении находится в каком - то квадрате, чтобы его убрать поставь свойство DragIcon = той же картинке что и свойство Picture. А если поставишь другую картинку, то при перемещении картинка изменится.
А событие DragOver присходит тогда, когда объект перемещается.
И эти события можно делать не только у формы, а и у других объектов.
Исходник качай здесь
Дата создания: 24 Апреля 2003 года
Место под Банеры |
![]() |