ACC2000: Как для преобразования твипов в точки

Переводы статьи Переводы статьи
Код статьи: 210590 - Vizualiza?i produsele pentru care se aplic? acest articol.
Дополнительно: Требует изложенный взаимодействия и многопользовательской навыков.

В данной статье относится к базе данных Microsoft Access (.mdb) и проект Microsoft Access (.adp).

Развернуть все | Свернуть все

Аннотация

Поскольку Microsoft Access сохраняет свойства измерения/место как твипах, в некоторых случаях может потребоваться преобразования твипов в точки, например, когда вы вызов функции Windows API. В этой статье показано, как это сделать.

Корпорация Майкрософт предлагает примеры программного кода только для иллюстрации Это включает, но не ограничивается, подразумеваемые гарантии товарности или пригодности для определенной цели. В данной статье предполагается, что вы знакомы с языком программирования предложенном и с помощью средств, которые используются для создания и отладки. Сотрудники службы поддержки Майкрософт могут пояснить конкретной процедуры, но они будут изменять примеры для реализации дополнительных возможностей или удовлетворения конкретных требований.

Дополнительная информация

Можно использовать следующую функцию ConvertTwipsToPixels() для преобразования твипов в точках. Обратите внимание на то, что пикселы, не всегда квадратный (высота и Ширина не совпадают); Таким образом необходимые для перехода в нужную «направление» для использования (горизонтальную или вертикальную).
  1. Создать новый модуль и введите следующую команду в разделе объявлений:
    Option Explicit
    
    Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
    Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, _
      ByVal hdc As Long) As Long
    Declare Function GetDeviceCaps Lib "gdi32" (ByVal hdc As Long, _
      ByVal nIndex As Long) As Long
    
    Const WU_LOGPIXELSX = 88
    Const WU_LOGPIXELSY = 90
    						
    ПРИМЕЧАНИЕ: Вы, возможно, некоторые функции Microsoft Windows API, определенные в существующую библиотеку Microsoft Access; Таким образом возможно, ваши объявления повторяющиеся значения. Если появляется сообщение об ошибке имя повторяющиеся процедуры Удалите или закомментируйте оператор объявления в вашем коде.
  2. Введите следующую процедуру:
    Function ConvertTwipsToPixels (lngTwips as Long, _
       lngDirection as long) As Long
    
       'Handle to device
       Dim lngDC as long                        
       Dim lngPixelsPerInch as Long
       Const nTwipsPerInch = 1440
       lngDC = GetDC(0)
       
       If (lngDirection = 0) Then       'Horizontal
          lngPixelsPerInch = GetDeviceCaps(lngDC, WU_LOGPIXELSX)
       Else                            'Vertical
          lngPixelsPerInch = GetDeviceCaps(lngDC, WU_LOGPIXELSY)
       End If
       lngDC = ReleaseDC(0, lngDC)
       ConvertTwipsToPixels = (lngTwips / nTwipsPerInch) * lngPixelsPerInch
    
    End Function
    					
Для вызова этой функции передайте номер, который требуется преобразовать, твипов и другой параметр, указывающий горизонтальных или вертикальных измерений (0 для горизонтального, отличное от нуля вертикальный). Ниже приведен пример вызова.
Function ShowConvert()
   Dim lngOldTwips As Long
   lngOldTwips = 2377
   ShowConvert = ConvertTwipsToPixels(lngOldTwips, 0)
End Function
				

Свойства

Код статьи: 210590 - Последний отзыв: 17 сентября 2011 г. - Revision: 6.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Access 2000 Standard Edition
Ключевые слова: 
kbinfo kbprogramming kbmt KB210590 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:210590

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com