|
|
|
Как сделать обрамление формы ?
|
|||
|---|---|---|---|
|
#18+
Понадобилось обрамление для формы без заголовка - сделал прямоугольник по периметру формы, потом два один приподнятый другой утопленный - чуть меньше по размерам, вроде неплохо, но жутко неудобно при изменении дизайна формы - прямоугольники на форме мешаются..... нашел пример для 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 объявления стандартные ;) дальше пройти не могу - не хватает шестеренок ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2004, 13:57:51 |
|
||
|
Как сделать обрамление формы ?
|
|||
|---|---|---|---|
|
#18+
Очень много раз обсуждалось. Попробуй поиском . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2004, 14:13:27 |
|
||
|
Как сделать обрамление формы ?
|
|||
|---|---|---|---|
|
#18+
Спасибо за ответ, а точнее нельзя .......? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2004, 16:12:21 |
|
||
|
Как сделать обрамление формы ?
|
|||
|---|---|---|---|
|
#18+
А почему бы не сделать проще: разместить прямоугольники где угодно, уменьшить их размеры до минимума, а на открытие формы присваивать нужные размеры? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2004, 16:50:22 |
|
||
|
Как сделать обрамление формы ?
|
|||
|---|---|---|---|
|
#18+
Я пробовал так делать, но....... корректно можно определить и позиционировать (средствами VBA) только .Top и Left а ширину и высоту формы как определить ??? Просто не получается. Вот в апишниках и определил, но застрял с преобразованием в твипы... и прошу совета у гуру.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2004, 23:22:42 |
|
||
|
Как сделать обрамление формы ?
|
|||
|---|---|---|---|
|
#18+
Можно из этого сделать неплохой сабж по дизайну форм ;)......... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2004, 23:24:20 |
|
||
|
Как сделать обрамление формы ?
|
|||
|---|---|---|---|
|
#18+
Посмотри http://hiprog.com/access/article.asp?idd=13 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2004, 06:33:35 |
|
||
|
Как сделать обрамление формы ?
|
|||
|---|---|---|---|
|
#18+
Используйте совет IgorM и свойства формы .InsideHeight .InsideWidth .Section(i).Height А дальше - примерно так (общая идея управления высотой) Код: plaintext 1. 2. 3. 4. Удачи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2004, 10:19:23 |
|
||
|
Как сделать обрамление формы ?
|
|||
|---|---|---|---|
|
#18+
http://access.boom.ru/Library/Forms/FormsBorder.htm вот тему дожал ;))) может кому интересно будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2004, 02:59:53 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32412992&tid=1669596]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
57ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 334ms |

| 0 / 0 |
