В серии статей "Программирование софта на VB",как видно из названия я опишу методы создания приложении под Win32.
Очень часто можно услышать слова, что VB "мягко" говоря, неподходящий язык для программирования. Я работал с многими языками, в том числе и с Delphi, MS Visual C++, J Builder и могу сказать что качество VB-программ ничем не отличается от программ на этих языках. Основным плюсом VB я считаю компактость кода. Большинство программ занимает очень мало места. (прим. Фленова: если не считать dll файлы без которых не сможет запуститься прога. А если прибавить сюда .dll и .ocx файлы, то код не так уже мал). Но в тоже время это объясняется тем, что для работы с ними требуются отдельные библиотеки, разные для разных версий.
Все программы описанные в моих статьях откомпилированны на VB 5.0, поэтому для работы с ними вам потребуется msvbvm50.dll, а лучше и сам VB. В статьях будет рассмотренно написание таких программ, как редактор текста,смотрелка картинок, аналог GetRight и ему подобных программ и многое другое.
Все статьи, а также программы (усовершенствованные) можно найти на http://www.dlc.hut.ru.
Итак часть 1. Текстовый редактор.
Будем считать, что Visual Basic запущен. Выберем в главном меню Project->Components и добавим компоненты Microsoft Common Dialog Control 5.0 и RichTextBox Control.Расположим на форме эти компоненты; RichTextBox - поле ввода,Common Dialog - невидимый компонент для работы в данном случае с диалогами открытия/сохранения файлов.
Для начала нужно изменить некоторые параметры в Propeties.У Form1 - Caption=Advanced TXT viewer, Border Style= 1-Fixed Single.У RichTextBox1 - text = "пусто", ScrollBars = 3- rtfBoth.У CommonDialog1 - DialogTitle = Adv TXT View open/save,Filter = Text Files|*.txt.
Теперь в главном меню выберем Tools-> Menu Editor для создания в программе меню. Обозначим два основных меню : File и Edit. Перед буквами F и E стоит амперсанд(&) для возможности вызова этих частей меню по Alt-F и Alt-E.Также такой будет использоваться в каждой строке меню.Присвоим полю Caption значение &File,а полю Name- mfile.Установим флажки у Visible и Enabled. Aналогичную операцию нужно проделать и с Edit(Caption=&Edit,Name=medit).
После этого сделаем пункты меню.Для этого нажмем Next и кнопку со стрелкой ->.На новой строке появятся 4 точки - это символизирует пункт меню.В File добавим &new,&open,&save,s&ave as и &exit,а в Edit -coрy, c&ut,pas&te,fo&nt.
Начинается самая главная часть - написание кода.
Двойной клик на каждом пунке меню вызывает окно ввода кода.
Там пишем:
Private Sub minew_Click()
v = MsgBox("Save text into file", 49, "Warning!")
If v = 1 Then GoTo gsave
GoTo gnew
End
gsave:
CommonDialog1.ShowSave
If CommonDialog1.filename = "" Then
GoTo gsaveas
Else
RichTextBox1.SaveFile CommonDialog1.filename, rtfText
GoTo gnew
End If
End
gsaveas:
CommonDialog1.ShowSave
RichTextBox1.SaveFile CommonDialog1.filename, rtfText
GoTo gnew
End
gnew:
CommonDialog1.filename = ""
RichTextBox1.Text = ""
End Sub
'Комментарий: Здесь заранее пришлось употребить функцию сохранения текста.
Private Sub miopen_Click()
CommonDialog1.ShowOpen 'работает CommonDialog - вызов диалога_
RichTextBox1.LoadFile CommonDialog1.filename 'открытия файла.
End Sub
Private Sub misave_txt_Click()
CommonDialog1.ShowSave
If CommonDialog1.filename = "" Then
misaveas_txt_Click
Else
RichTextBox1.SaveFile CommonDialog1.filename, rtfText
End If
End Sub
Private Sub misaveas_txt_Click()
CommonDialog1.ShowSave
RichTextBox1.SaveFile CommonDialog1.filename, rtfText
End Sub
'Без комментариев - код сохранения текста, причем если текст
'сохраняется в первый раз то вызывается misaveas_txt.
Private Sub miexit_Click()
End ' Выход
End Sub
Private Sub micopy_Click()
Clipboard.SetText RichTextBox1.SelText
'Работа с Clipboard - копирование.Добавочное Sel - одно из свойств
'RichTextBox.Если бы мы использовали TextBox(что тоже возможно)
'то Sel бы убиралось.
End Sub
Private Sub micut_Click()
Clipboard.SetText RichTextBox1.SelText
RichTextBox1.SelText = "" ' Вырезать.
End Sub
Private Sub mipaste_Click()
RichTextBox1.SelText = Clipboard.GetText 'Вставить
End Sub
Private Sub mifont_Click()
CommonDialog1.ShowFont
RichTextBox1.SelFontSize = CommonDialog1.FontSize
RichTextBox1.SelFontName = CommonDialog1.FontName
RichTextBox1.SelBold = CommonDialog1.FontBold
RichTextBox1.SelItalic = CommonDialog1.FontItalic
RichTextBox1.SelUnderline = CommonDialog1.FontUnderline
RichTextBox1.SelStrikeThru = CommonDialog1.FontStrikethru
End Sub
'Работа через со шрифтами.
После этих манипуляции нажимаем F5 и любуемся своим творением.
Более полную версию Adv TXT Viewer'а можно будет взять в скором времени с http://www.dlc.hut.ru.В новой версии основной режим работы с RtF файлами, сл-но есть возможность сохранять пропорции, форматирование,работать со шрифтами.