powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как сделать обрамление формы ?
10 сообщений из 10, страница 1 из 1
Как сделать обрамление формы ?
    #32411926
Фотография Rafa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понадобилось обрамление для формы без заголовка - сделал прямоугольник по периметру формы, потом два один приподнятый другой утопленный - чуть меньше по размерам, вроде неплохо, но жутко неудобно при изменении дизайна формы - прямоугольники на форме мешаются.....
нашел пример для VB http://www.vbnet.ru/faq/showtopic.asp?id=62
но адаптировать для Accessa не могу, как ни пытался.....:(
Вопрос к зубрам - помогите, хоть намек дайте......

Private Sub Form_Open(Cancel As Integer)
Dim lngWidth As Long
Dim lngHeight As Long

Call GetScreenDPI
frmDimensions = FormDimensions(Me) ' запрос размеров формы ME

' тут надо позиционировать два прямоугольника по периметру формы
Me.recTop.Left = 30
Me.recTop.Top = 30

Me.recTop.Width = frmDimensions.Width * (TWIPSPERINCH / m_ScreenXdpi) - 30
Me.recTop.Height = frmDimensions.Height * (TWIPSPERINCH / m_ScreenYdpi) - 30

Me.Width = Me.recTop.Width + 50
Me.InsideHeight = Me.recTop.Height + 50

End Sub

Private Function FormDimensions(frm As Form) As Dimensions
Dim frmRect As RECT
GetWindowRect frm.hWnd, frmRect
' возвращает значение в пикселях - надо перевести их в твипы
FormDimensions.Width = frmRect.Right - frmRect.Left
FormDimensions.Height = frmRect.Bottom - frmRect.Top
End Function

Private Sub GetScreenDPI()
Dim lngDC As Long
Dim lngPixelsPerInch As Long
Const nTwipsPerInch = 1440

lngDC = GetDC(0)

'Horizontal
m_ScreenXdpi = apiGetDeviceCaps(lngDC, LOGPIXELSX)
'Vertical
m_ScreenYdpi = apiGetDeviceCaps(lngDC, LOGPIXELSY)

lngDC = ReleaseDC(0, lngDC)
End Sub

объявления стандартные ;) дальше пройти не могу - не хватает шестеренок ;)
...
Рейтинг: 0 / 0
Как сделать обрамление формы ?
    #32411975
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очень много раз обсуждалось. Попробуй поиском .
...
Рейтинг: 0 / 0
Как сделать обрамление формы ?
    #32412281
Фотография Rafa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за ответ, а точнее нельзя .......?
...
Рейтинг: 0 / 0
Как сделать обрамление формы ?
    #32412401
IgorM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А почему бы не сделать проще: разместить прямоугольники где угодно, уменьшить их размеры до минимума, а на открытие формы присваивать нужные размеры?
...
Рейтинг: 0 / 0
Как сделать обрамление формы ?
    #32412743
Фотография Rafa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я пробовал так делать, но....... корректно можно определить и позиционировать (средствами VBA) только .Top и Left а ширину и высоту формы как определить ??? Просто не получается. Вот в апишниках и определил, но застрял с преобразованием в твипы... и прошу совета у гуру....
...
Рейтинг: 0 / 0
Как сделать обрамление формы ?
    #32412744
Фотография Rafa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно из этого сделать неплохой сабж по дизайну форм ;).........
...
Рейтинг: 0 / 0
Как сделать обрамление формы ?
    #32412803
Msmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Посмотри
http://hiprog.com/access/article.asp?idd=13
...
Рейтинг: 0 / 0
Как сделать обрамление формы ?
    #32412992
Фотография Serafim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Используйте совет IgorM
и свойства формы
.InsideHeight
.InsideWidth
.Section(i).Height
А дальше - примерно так (общая идея управления высотой)

Код: plaintext
1.
2.
3.
4.
Private Sub Form_Resize()
Me.RRR.Height = Me.InsideHeight - Me.Section( 2 ).Height
или
Me.RRR.Height = Me.InsideHeight - Me.Section( 1 ).Height - Me.Section( 2 ).Height - Me.RRR.Top
End Sub


Удачи
...
Рейтинг: 0 / 0
Как сделать обрамление формы ?
    #32840561
Фотография Rafa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://access.boom.ru/Library/Forms/FormsBorder.htm вот тему дожал ;)))
может кому интересно будет.
...
Рейтинг: 0 / 0
Как сделать обрамление формы ?
    #32840698
Интересно.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как сделать обрамление формы ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]