В процессе разработки программного обеспечения, чтобы повысить степень коммерциализации программного обеспечения, мы считаем, что красота интерфейса является важным фактором успеха программного обеспечения. Мы тщательно изучили некоторые успешные коммерческие программы. Видеть Да, на фоне окна программы могут отображаться очень красивые и трехмерные узоры. При использовании Visual Basic 3.0 или 4.0 для дизайна форм, если вы следуете только функциям, предоставляемым системой, вы можете выбрать только один цвет из ограниченного числа цветов или использовать программу для рисования нескольких простых линий. Если вы хотите получить текстурный узор с сильным ощущением трехмерности, обычно для вызова растрового файла можно использовать только атрибут формы PICTURE. У этого метода есть много недостатков. Один из них - размер формы. ограничен размером растрового изображения, и его сложно настроить, не обладает универсальностью и гибкостью, второе — это пустая трата ресурсов, поскольку шаблон по сути представляет собой повторяющийся узор, и используется растровое изображение того же размера, что и; форма — это пустая трата времени.
Ниже представлен метод реализации фоновых шаблонов форм. Создайте элемент управления сеткой в форме, сделайте строки сетки невидимыми, удалите фиксированные строки и столбцы и используйте программу, чтобы сделать элемент управления сеткой того же размера, что и форма, и меняйте его по мере изменения размера формы. Затем создайте шаблон для формирования растрового файла BMP (программа в этой статье использует файл Pict1.bmp) или перехватите шаблон из других изображений. Вы также можете использовать шаблон, предоставленный системой Windows (например, c:windowsTiles. 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 может вызывать тот же или другой шаблон, что и фон, если вы используете обычный командный элемент управления.
Команду также можно использовать, но кнопка команды не имеет фонового рисунка.
5. Создайте подпрограмму формирования фонового рисунка:
DimpictfileAsString`Имя файла растрового изображения
DimFILEPATHasString`Путь к файлу
SubBackpict(файл изображений)
картинка1.ScaleMode=3
Форма1.ScaleMode=3
картинка1.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=Путь к приложению&""
Еще
filePath=App.Path
КонецЕсли
`В форме изначально отображается фон, состоящий из базового шаблона Tiles.bmp.
pictfile="c:windowsTiles.bmp"
backpict(файл изображений)
EndSub
7. Кнопка выхода из программы.
PrivateSubSSCommand1_Click()
Конец
EndSub
8. Продемонстрируйте различные модели штриховки.
PrivateSubSSCommand2_Click()
`Два фоновых рисунка попеременно демонстрируют
Еслиpictfile=filePath&"Pict1.bmp" Тогда
pictfile="c:windowsTiles.bmp"
Еще
pictfile=filePath&"Pict1.bmp"
КонецЕсли
Backpict (файл изображения)
EndSub->