В процессе разработки программного обеспечения, чтобы повысить степень коммерциализации программного обеспечения, мы считаем, что красота интерфейса является важным фактором успеха программного обеспечения. Мы тщательно изучили некоторые успешные коммерческие программы. Видеть Да, на фоне окна программы могут отображаться очень красивые и трехмерные узоры. При использовании Visual Basic 3.0 или 4.0 для дизайна форм, если вы следуете только функциям, предоставляемым системой, вы можете выбрать только один цвет из ограниченного числа цветов или использовать программу для рисования нескольких простых линий. Если вы хотите получить текстуру с сильным ощущением трехмерности, обычно для вызова растрового файла можно использовать только атрибут формы PICTURE. У этого метода есть много недостатков. Один из них - размер формы. ограничен размером растрового изображения, и его сложно настроить, не обладает универсальностью и гибкостью, второе — это пустая трата ресурсов, поскольку шаблон по сути представляет собой повторяющийся узор, и используется растровое изображение того же размера, что и; форма — это пустая трата времени.
Ниже представлен метод реализации фоновых шаблонов форм. Создайте элемент управления сеткой в форме, сделайте строки сетки невидимыми, удалите фиксированные строки и столбцы и используйте программу, чтобы сделать элемент управления сеткой того же размера, что и форма, и меняйте его по мере изменения размера формы. Затем создайте шаблон для формирования растрового файла BMP (программа в этой статье использует файл Pict1.bmp), перехватите шаблон из других изображений или используйте шаблон, предоставленный системой Windows (например, c:/windows/Tiles). .bmp) , перенесите его в элемент управления Picture. Установите для каждой единицы сетки тот же размер, что и шаблон, чтобы количество единиц покрывало только весь фон формы, а затем отобразите шаблон во всех единицах. Описанный выше процесс реализуется с помощью подпрограммы Backpict(). Независимо от размера узора или формы, программа может автоматически регулировать размер элемента управления сеткой, размер ячеек сетки и количество ячеек. Программа успешно отлаживалась на VisualBasic4.0.
1. Создайте новую форму Form1 со следующими свойствами:
Caption="Реализация фоновых узоров"
Borderstyle=3 (нет кнопок максимума и минимума)
2. Создайте элемент управления сеткой Grid1. Его положение и размер будут установлены в программе (тот же размер, что и Form1), а его свойства:
Enabled=False (фокус не будет падать на элемент управления Grid1)
Fillstyle=1 (изменить свойства текста всех ячеек)
Фиксированные столбцы=0 (нет фиксированных строк)
Фиксированные строки=0 (нет фиксированных столбцов)
Gridlines=False (линии сетки не видны),
Видимый = Истина
3. Создайте элемент управления изображением Picture1. Когда программа запущена, поместите в него основной узор фонового рисунка и установите свойства.
Visible=False (невидимый)
Autosize=True (автоматическая настройка размера)
4. Добавьте в элемент управления Sheridan3DControls, выберите трехмерную командную кнопку SSCommand и создайте две кнопки.
SSCommand1.Caption="Выход"
SSCommand2.Caption="Изменить фон" (демонстрирует различные фоновые рисунки)
Их свойство Picture может вызывать тот же или другой узор, что и фон. Если вы используете обычную кнопку управления Command, ее также можно использовать, но у командной кнопки нет фонового рисунка.
5. Создайте подпрограмму формирования фонового рисунка:
Имя файла растрового изображения DimpictfileAsString
Путь к файлу DimFILEPATHasString
SubBackpict(файл изображений)
картинка1.ScaleMode=3
Форма1.ScaleMode=3
Picture1.Picture=LoadPicture(файл изображения)
'Элемент управления сеткой покрывает весь фон формы
сетка1.Верх=-1
сетка1.Влево=-1
Grid1.Width=Ширина
Grid1.Height=Высота
Grid1.Cols=Int(Form1.ScaleWidth/picture1.ScaleWidth) 1
Grid1.Rows=Int(Form1.ScaleHeight/picture1.ScaleHeight) 1
'Все размеры единиц измерения равны размеру базового шаблона
ForI=0Togrid1.Cols-1
Forj=0Togrid1.Rows-1
Grid1.ColWidth(I)=picture1.ScaleWidth*15
Grid1.RowHeight(j)=picture1.ScaleHeight*15
Следующийj
СледующийI
'Выбрать все юниты
сетка1.SelStartCol=0
сетка1.SelStartRow=0
Grid1.SelEndCol=grid1.Cols-1
Grid1.SelEndRow=grid1.Rows-1
Grid1.Picture=Картинка1.Картинка
EndSub
6. Формируем основную программу
PRivateSubForm_Load()
PrivateSubForm_Load()
'Получаем путь к запущенной программе с обратной косой чертой после имени пути
ЕслиПраво(App.Path,1)<>"/"Тогда
filePath=App.Path&"/"
Еще
filePath=App.Path
КонецЕсли
'Форма изначально отображает фон, состоящий из основных шаблонов Tiles.bmp.
pictfile="c:/windows/Tiles.bmp"
backpict(файл изображений)
EndSub
7. Кнопка выхода из программы.
PrivateSubSSCommand1_Click()
Конец
EndSub
8. Продемонстрируйте различные модели штриховки.
PrivateSubSSCommand2_Click()
'Два фоновых рисунка попеременно демонстрируют
Еслиpictfile=filePath&"Pict1.bmp" Тогда
pictfile="c:/windows/Tiles.bmp"
Еще
pictfile=filePath&"Pict1.bmp"
КонецЕсли
Backpict (файл изображения)
EndSub->