0 / 0 / 0
Регистрация: 26.06.2012
Сообщений: 8
|
|
1 | |
Пиксели, поинты, твипы и DPI!28.07.2012, 22:01. Показов 8188. Ответов 15
Метки нет (Все метки)
Уважаемые коллеги! Помогите разобраться с пикселями, поинтами, твипами и DPI! Третьи сутки "лопачу" инет, а ясности в этом вопросе как не было, так и нет! Наооборот, только ещё больше запутался! Функцией Private Declare Function GetDeviceCaps Lib "gdi32" (ByVal hDC As Long, ByVal nIndex As Long) As Long вытащил GetDeviceCaps(hDC, HORZRES)=1024, a
GetDeviceCaps(hDC, VERTRES)=768! Это размеры дисплея? Но в каких единицах измерения выдаваемые числа?! Пиксели?! Поинты?! Твипы?! DPI?! В каких единицах измерения задаются UserForm1.Top, UserForm1.Left, UserForm1.Height, UserForm1.Width?! Каким образом связаны размер дисплея с UserForm1.Top?! Как все эти понятия (пиксели, поинты, твипы и DPI) связаны друг с другом? А суть такова: рисую форму на домашнем НЕТБУКе (1024х600) внизу экрана, дабы закрыть от пользователя нижнее Window'ое меню с кнопкой пуск и вкладку Excel'я с листами, на рабочем компе (1024х768) форма "всплывает" вверх! Как программно расчитать UserForm1.Top в зависимости от размеров дисплея? Заранее благодарен! Сегодня началась Олимпиада, а я из-за этой проблемы вообще ничего не посмотрел - искал не поднимая головы!
0
|
28.07.2012, 22:01 | |
Ответы с готовыми решениями:
15
Как перевести твипы в пиксели? Bitmap объект при сохранении в файл не сохраняет новое значение DPI - пиксели на дюйм (пиксели окна != пиксели монитора) ? Параметр DPI |
0 / 0 / 0
Регистрация: 26.06.2012
Сообщений: 8
|
|
29.07.2012, 08:13 [ТС] | 2 |
Мне нужно не по центру, а внизу. Это во-первых, а во-вторых, почему Top=2*Top, а не умноженное на 3 или 4?
0
|
Модератор
|
|
29.07.2012, 09:02 | 3 |
Сообщение было отмечено как решение
Решение
Насколько мне известно, все API-функции работают только с пискелами. 1024*768 - это размер экрана в пикселах.
"рисую форму на домашнем НЕТБУКе (1024х600) внизу экрана, дабы закрыть от пользователя нижнее Window'ое меню с кнопкой пуск и вкладку Excel'я с листами" - а зачем это нужно (закрывать от пользователя пусковую панель)? Пользователь может ведь перетянуть ее мышью в правую или левую вертикаль экрана...
3
|
0 / 0 / 0
Регистрация: 26.06.2012
Сообщений: 8
|
|
29.07.2012, 09:20 [ТС] | 4 |
Можно заблокировать перемещение формы пользователем. Внизу будет меню кнопок: "Добавить запись","Редактировать запись","Удалить запись" и "Выход"
Добавлено через 10 минут Может быть выложить программу?
0
|
26806 / 14485 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
|||||||||||
29.07.2012, 15:52 | 6 | ||||||||||
Сообщение было отмечено как решение
Решение
5
|
Модератор
|
|
29.07.2012, 22:54 | 7 |
Сообщение было отмечено как решение
Решение
Почитайте мою статью Прогресс-бар в статус-баре. Там и о метриках есть...
3
|
0 / 0 / 0
Регистрация: 26.06.2012
Сообщений: 8
|
|
29.07.2012, 23:46 [ТС] | 8 |
Для форумчанина MOBILE: Прошу прощения за мою безграмотность в вопросах API-функций, если Вас не затруднит, Вы не пояснили бы свой ответ: Что куда всталять? (куда раскидать какие функции (какие в модули, какие в UserForm и т.д.). Чувствую, что истина кроется в Вашем ответе! Заранее благодарен. С Уважением, Carpenter.
0
|
0 / 0 / 0
Регистрация: 26.06.2012
Сообщений: 8
|
||||||
30.07.2012, 23:35 [ТС] | 12 | |||||
С Уважением, Carpenter.
_________________________________________________
0
|
26806 / 14485 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
|
31.07.2012, 00:00 | 13 |
carpenter, я не очень понял ваши вопросы. Даю пример - файл екселя. При открытии в нем сообщаются ширина, высота и рассточние от верхнего края в твипах и пикселах. Если окно екселя смещать вверх/вниз, то высвечиваемые параметры окна будут меняться. "Последовательным приближением" получите нужное положение
1
|
0 / 0 / 0
Регистрация: 26.06.2012
Сообщений: 8
|
|
31.07.2012, 00:19 [ТС] | 14 |
Mobile, честно говоря, я когда-то был программёром. Писал на досовском Fox'e. Вроде бы, даже неплохо. Но это уже позапрошлый век!!! Вот решил САМ попробовать свои силы на VBA. А поскольку я только в начале этого пути, я иду наощупь, как слепой Пью! И вопросы мои, наверняка, "корявые" и набиваю шишки. Я сам с трудом представляю как всё должно выглядеть, оттуда все мои "шараханья из стороны в сторону"! В любом случае, СПАСИБО!!! Приятно, когда тебя не бросают на произвол судьбы! Завтра обязатель гляну Ваш пример. Ещё раз Спасибо!
0
|
0 / 0 / 0
Регистрация: 26.06.2012
Сообщений: 8
|
|
31.07.2012, 10:16 [ТС] | 16 |
Спасибо! Теперь всё стало понятно! Сейчас буду применять Вашу методу! Что "налопачу" - покажу (если, конечно, таким "зубрам" в VBA, каким наверняка Вы являетесь, будет интересно). Интернет, всё-таки, великая вещь: можно пообщаться с умными людьми невыходя из дома!
0
|
31.07.2012, 10:16 | |
31.07.2012, 10:16 | |
Помогаю со студенческими работами здесь
16
X7 - DPI ( Mouse) Поворот с dpi DPI в эмуляторе Самопроизвольно переключается DPI Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |