MyTetra Share
Делитесь знаниями!
Определение разрешения экрана
Время создания: 02.03.2020 07:08
Текстовые метки: DPI, разрешение экрана
Раздел: !Закладки - VBA - Форма
Запись: xintrea/mytetra_db_adgaver_new/master/base/1583122084wwlmk0g61y/text.html на raw.githubusercontent.com

Вставь этот код в новый программный модуль (а не в модуль листа или книги, как ты делал это раньше)

Код:

Declare Function GetSystemMetrics Lib "user32.dll" (ByVal nIndex As Long) As Long

Const SM_CXSCREEN = 0, SM_CYSCREEN = 1


Private Sub Workbook_Open()

x = GetSystemMetrics(SM_CXSCREEN)

y = GetSystemMetrics(SM_CYSCREEN)

MsgBox "Разрешение экрана " & x & " * " & y

End Sub


Пиксели и твипы на VBA

https://www.programmersforum.ru/showthread.php?t=208444

Цитата:

вытащил GetDeviceCaps(hDC, HORZRES)=1024, a GetDeviceCaps(hDC, VERTRES)=768[/SIZE]!
Это размеры дисплея?

Да, скорее всего.
Зачем так усложнять получение разрешения экрана?
http://www.programmersforum.ru/showp...09&postcount=8

Цитата:

Но в каких единицах измерения выдаваемые числа?

пиксели

Цитата:

В каких единицах измерения задаются UserForm1.Top, UserForm1.Left, UserForm1.Height, UserForm1.Width?

пиксели

Цитата:

Как все эти понятия (пиксели, поинты, твипы и DPI) связаны друг с другом?

Яндекс вам в помощь, в этом вопросе
А нафига вам это всё?
Для вывода формы в нужном месте экрана всё это вроде как не требуется.

Цитата:

дабы закрыть от пользователя нижнее Window'ое меню с кнопкой пуск и вкладку Excel'я с листами

зачем так извращаться?
Полностью скрыть или отобразить панель задач Windows можно через WinAPI
(по сути, это то же самое окно, которому можно послать любую команду),
и делается это совсем несложно:
http://www.cyberforum.ru/vb-net/thread450625.html

Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования