powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / как перевести pixel в twip
5 сообщений из 5, страница 1 из 1
как перевести pixel в twip
    #34470554
mirgor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите функцию перевода pixel в twip. Что-то не могу найти нормального "рецепта".
...
Рейтинг: 0 / 0
как перевести pixel в twip
    #34470624
bILL HEAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что значит "нормального" ?
а искал вообщето ?
http://sql.ru/forum/actualthread.aspx?tid=188746&hl=twips+pixel#1590497
...
Рейтинг: 0 / 0
как перевести pixel в twip
    #34470637
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mirgorПодскажите функцию перевода pixel в twip. Что-то не могу найти нормального "рецепта".Вот здесь "рецепт" от Анатолия Кудрявцева
...
Рейтинг: 0 / 0
как перевести pixel в twip
    #34470688
mirgor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо!
...
Рейтинг: 0 / 0
как перевести pixel в twip
    #34470822
mirgor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В общем надо изменять высоту формы одновременно с высотой рабочей области Access. Вот что получилось по :

В модуль
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
Type RECT
    Left As Long
    Top As Long
    Right As Long
    Bottom As Long
    Width As Long
    Height As Long
End Type

Public Const LOGPIXELSX As Long =  88 
Public Const LOGPIXELSY As Long =  90 
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hDC As Long) As Long
Private Declare Function GetDeviceCaps Lib "gdi32" ( _
        ByVal hDC As Long, _
        ByVal nIndex As Long _
    ) As Long


Sub Использование()
      Debug.Print GetWindowRectSize(Application.hWndAccessApp).Height
End Sub

'=================================================================================
Public Function GetWindowRectSize(hwnWindow, Optional inpx As Boolean) As RECT
'Для визначення розмірів вікон
    Dim a As Long
        a = GetWindowRect(hwnWindow, GetWindowRectSize)
        With GetWindowRectSize
            .Height = .Right - .Left
            .Width = .Bottom - .Top
        
            If Not inpx Then
                .Left = PixelToTwip(.Left)
                .Top = PixelToTwip(.Top)
                .Right = PixelToTwip(.Right)
                .Bottom = PixelToTwip(.Bottom)
                .Width = PixelToTwip(.Width)
                .Height = PixelToTwip(.Height)
            End If
        End With
End Function

Private Function TwipsPerPixel(Optional ByVal Dimension As Long = LOGPIXELSX) As Long
  Const TwipsPerInch As Long =  1440 
  Dim DesktopDC As Long
On Error GoTo ErrorHandle
  DesktopDC = GetDC(Application.hWndAccessApp) 'DesktopDC = GetDC(HWND_DESKTOP)
  TwipsPerPixel = TwipsPerInch / GetDeviceCaps(DesktopDC, Dimension)
ErrorHandle:
  Call ReleaseDC(Application.hWndAccessApp, DesktopDC) 'Call ReleaseDC(HWND_DESKTOP, DesktopDC)
  'Call Exception.RaiseAgain
End Function

'перевод твипов в пиксели
Public Function TwipToPixel(ByVal Twips As Long) As Long
  TwipToPixel = Twips / TwipsPerPixel()
End Function

'перевод пикселей в твипы
Public Function PixelToTwip(ByVal Pixels As Long) As Long
  PixelToTwip = Pixels * TwipsPerPixel()
End Function
'=================================================================================


Что не понял: Зачем
Код: plaintext
1.
2.
3.
ErrorHandle:
  Call ReleaseDC(Application.hWndAccessApp, DesktopDC) 'Call ReleaseDC(HWND_DESKTOP, DesktopDC)
  'Call Exception.RaiseAgain

Exception.RaiseAgain - просто отключил
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / как перевести pixel в twip
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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