Графический интерфейсИсточник: leadersoft
Итак, с самого начала. При запуске базы данных появляется заставка Access. Между тем, достаточно в каталог с базой поместить собственный рисунок с именем ИмяБазыДанных.bmp. и тогда при старте будет сначала появляться Ваш рисунок. Или больше - поместить "нулевой" рисунок. Создать такой рисунок очень просто:
Public Sub NullBMP(AppFullName As String)
Dim strName As String Dim bytPic(65) As Byte Dim i As Long strName = Left(AppFullName, Len(AppFullName) - 3)
strName = strName & "bmp" If Len(Dir(strName)) = 0 Then bytPic(0) = &H42: bytPic(1) = &H4D: bytPic(14) = &H28 i = FreeFile() Open strName For Binary As #i Put #i, , bytPic() Close #i End If End Sub 'пример не требует комментариев Между тем это серое окно - обычное окно windows, и также как и другие окна принимает и обрабатывает системные сообщения, в том числе и WM_PAINT, по получении которого окно подновляет свой вид. Если перехватить сообщение WM_PAINT, посланное "серому" окну, что в это время можно нарисовать свою картинку - и она будет "как родная". Самый большой подводный камень при реализации - то, что VBA работает медленнее, чем программа *.exe, а поток сообщений к окну весьма велик. Если попытаться запустить приведенный пример в "пошаговом" режиме, то дождаться каких либо изменений будет очень проблематично. Более того, если перед запуском Вы работали в редакторе VBA, то работа примера очень сильно замедляется (очень сильно) Поэтому данный метод лучше всего использовать, когда код перерисовки окна расположен в файле *.mde. Кроме того замечено, что в среде Win98 - Access2000 программа не всегда работает устойчиво (связано с проблемами Win98) Перейдем к кнопкам меню и панелей инструментов. Хотя кнопки и позволяют использовать рисунки, но только встроенные, посредством указания номера рисунка (FaceId). Учитывая, что в Office существует НЕ ОДНА ТЫСЯЧА рисунков, конечно можно подобрать нужный, но при таком количестве это весьма затруднительно (да и далеко не все отображаются самим Access) . Для этого можно использовать проводник по рисункам: Формы- у всех форм одинаковые иконки. Ну, после всего, что уже сделали, это особого труда не составит. Возьмем иконку (ImageList или файл) и, используя средства системы, присвоим эту иконку нужному окну. |