Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 26.02.2012
Сообщений: 43

Всегда ли пиксел = 15 твипов?

28.05.2006, 23:25. Показов 2237. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
всегда ли пиксел = 15 твипов?

в одном месте в инете наткнулся на утверждение, что это зависит от видеосистемы компа.

кто просветит на эту тему?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.05.2006, 23:25
Ответы с готовыми решениями:

Преобразование из твипов в пикселы для рисования точки на форме
Такой вопрос будет, нашёл команду PSet (1000, 1000)), vbRed рисует точку на экране цветом vbRed. только вот координаты не...

Клик мыши на пиксел
хочу написать код, который будет в заданных координатах кликать левой кнопкой мыши на пиксели заданного цвета. Пикселей очень много и...

Вывести 1 пиксел экран
Не подскажите функцию, которая выводит 1 пиксел на экран - типа как PutPixel в Билдере?

12
2 / 2 / 1
Регистрация: 18.10.2007
Сообщений: 1,748
29.05.2006, 00:04
MsgBox Screen.TwipsPerPixelX & " & " & Screen.TwipsPerPixelY
0
1 / 1 / 0
Регистрация: 18.11.2010
Сообщений: 139
29.05.2006, 00:50
2 Aleksey:

Прости за не скромный вопрос. А какое отношение твой ответ имеет к вопросу? Спрашивают совсем о другом!
0
0 / 0 / 0
Регистрация: 26.02.2012
Сообщений: 43
29.05.2006, 17:59  [ТС]
Сам спросил, сам ответил...

Не всегда.
0
2 / 2 / 1
Регистрация: 19.07.2007
Сообщений: 737
29.05.2006, 22:11
все зависит от DPI
сейчас ,в основном, у всех 72dpi экраны, но скоро будут и более качественные
0
6 / 6 / 3
Регистрация: 17.10.2007
Сообщений: 1,119
31.05.2006, 02:46
shurezz,
Alexey Spirin dal otlichnij otvet. Ego primer molcha i szhato pokazivaet, chto otnoshenie twips/pixel - velichina peremennaya, raz dlya nee est' takoe svojstvo, a ne konstanta. Bolee togo, eto otnoshenie mozhno proizvol'no menyat'. Vot kod (ne moj):
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Private Sub Command1_Click()
    Dim lp As Long
    Dim ViewFactorX As Long
    Dim ViewFactorY As Long
    Dim WindowFactorX As Long
    Dim WindowFactorY As Long
    ViewFactorX = Screen.Width ' logical width in twips
    ViewFactorY = Screen.Height ' logical height in twips
    
    WindowFactorX = InputBox("Physical display width in inches:") * 1440  ' 16 is physical display width in inches
    WindowFactorY = InputBox("Physical display height in inches:") * 1440 ' 11.5 is physical display height in inches
    Form1.ScaleMode = vbTwips
    SetMapMode Form1.hdc, MM_ANISOTROPIC
    SetWindowExtEx Form1.hdc, WindowFactorX, WindowFactorY, ByVal 0&
    SetViewportExtEx Form1.hdc, ViewFactorX, ViewFactorY, ByVal 0& ' GetDeviceCaps(Form1.hdc, LOGPIXELSX), GetDeviceCaps(Form1.hdc, LOGPIXELSY), ByVal 0&
    Line (0, 0)-(1440, 1440), , BF ' Box drawn should measure 1" by 1" if you got your physical measurements correct
End Sub
VladConn
0
0 / 0 / 0
Регистрация: 26.02.2012
Сообщений: 43
31.05.2006, 18:08  [ТС]
Ok

Тогда, попутный вопрос –

у меня форма с загруженным пикчером (допустим 600px на 400px),

и штук 30 разных контролов на форме. Как только меняется в разделе «Экран» - «Свойства» - «Параметры» - «Дополнительно» - «Общие» - «Масштаб» - форма увеличивается в размере, но пикча загруженная в нее, так и остаётся 600 на 400, контролы посваливали кто куда, соответственно изменились и размеры шрифтов на них.

Другого выхода, чем программно перерисовать форму при запуске проги, с привязкой к пикселам я не нашел.

Form1.Width = 600 * Screen.TwipsPerPixelX: Form1.Height = 400 * Screen.TwipsPerPixelY

Тоже самое со всеми контролами – все перерисовываю.

Есть ли возможность, используя API, не перерисовывать?
0
2 / 2 / 1
Регистрация: 18.10.2007
Сообщений: 1,748
31.05.2006, 18:11
Не факт, что поможет, но, возможно, стоит изменить ScaleMode на пиксели?
0
0 / 0 / 0
Регистрация: 26.02.2012
Сообщений: 43
31.05.2006, 18:17  [ТС]
Так у меня так изначально и стояло, пришлось менять все на Твипы и перерисовывать.
0
6 / 6 / 3
Регистрация: 17.10.2007
Сообщений: 1,119
31.05.2006, 20:47
<TABLE cellSpacing=0 cellPadding=0 width="100% <TBODY><TR><TD class=SmallTxt width="80% <DIV id=_ctl1_ctlTopic_ctlPanelBar_ctlTopicsR epeater__ctl9_smAuthorName_SimpleMenuDiv Layer onmouseover="InstantASP_OpenMenuMouseOve r('_ctl1_ctlTopic_ctlPanelBar_ctlTopicsR epeater__ctl9_smAuthorName','_ctl1_ctlTo pic_ctlPanelBar_ctlTopicsRepeater__ctl9_ smAuthorName_SimpleMenuDivLayer','<table width=100% class=PanelBar_OuterTable cellspacing=0 cellpadding=0><tr><td><table width=100% cellspacing=1 cellpadding=7><tr><td class=TableCell_Light><a href=UserInfo23084.aspx Class= 'SmlLinks ' Title= 'View Members Profile '>View Member 's Profile</a></tr><tr><td class=TableCell_Light><a href=BuddyIgnoreList1.aspx?Username=nara nd Class= 'SmlLinks ' Title= 'Add to Buddy List '>Add to Buddy List</a></tr><tr><td class=TableCell_Light><a href=__doPostBack( 'butSendPrivateMessage ', '23084 '); onMouseOver= 'window.status=window.location;return true; ' onMouseOut=window.status= ' 'return true; Class= 'SmlLinks ' Title= 'Send Private Message '>Send Private Message</a></tr><tr><td class=TableCell_Light><a href=__doPostBack( 'butSendEmail ', '23084 '); onMouseOver= 'window.status=window.location;return true; ' onMouseOut=window.status= ' 'return true; Class= 'SmlLinks ' Title= 'Send Email To Member '>Send Email To Member</a></tr><tr><td class=TableCell_Light><a href=__doPostBack( 'butShowMemberPosts ', '23084 '); onMouseOver= 'window.status=window.location;return true; ' onMouseOut=window.status= ' 'return true; Class= 'SmlLinks ' Title= 'Find All Members Posts '>Find All Member 's Posts</a></tr></td></tr></table></td></tr></table>','165px');" style="DISPLAY: inline" onclick="InstantASP_OpenMenu('_ctl1_ctlT opic_ctlPanelBar_ctlTopicsRepeater__ctl9 _smAuthorName','_ctl1_ctlTopic_ctlPanelB ar_ctlTopicsRepeater__ctl9_smAuthorName_ SimpleMenuDivLayer','<table width=100% class=PanelBar_OuterTable cellspacing=0 cellpadding=0><tr><td><table width=100% cellspacing=1 cellpadding=7><tr><td class=TableCell_Light><a href=UserInfo23084.aspx Class= 'SmlLinks ' Title= 'View Members Profile '>View Member 's Profile</a></tr><tr><td class=TableCell_Light><a href=BuddyIgnoreList1.aspx?Username=nara nd Class= 'SmlLinks ' Title= 'Add to Buddy List '>Add to Buddy List</a></tr><tr><td class=TableCell_Light><a href=__doPostBack( 'butSendPrivateMessage ', '23084 '); onMouseOver= 'window.status=window.location;return true; ' onMouseOut=window.status= ' 'return true; Class= 'SmlLinks ' Title= 'Send Private Message '>Send Private Message</a></tr><tr><td class=TableCell_Light><a href=__doPostBack( 'butSendEmail ', '23084 '); onMouseOver= 'window.status=window.location;return true; ' onMouseOut=window.status= ' 'return true; Class= 'SmlLinks ' Title= 'Send Email To Member '>Send Email To Member</a></tr><tr><td class=TableCell_Light><a href=__doPostBack( 'butShowMemberPosts ', '23084 '); onMouseOver= 'window.status=window.location;return true; ' onMouseOut=window.status= ' 'return true; Class= 'SmlLinks ' Title= 'Find All Members Posts '>Find All Member 's Posts</a></tr></td></tr></table></td></tr></table>','165px'); <A class=SmlBoldLinks id=_ctl1_ctlTopic_ctlPanelBar_ctlTopicsR epeater__ctl9_smAuthorName onmouseover="window.status = window.location;return true;" title="View narand's Profile..." onmouseout="window.status=''return true;" href="void(''); narand</DIV><NOSCRIPT><a title="View narand's Profile..." class="SmlBoldLinks" href="UserInfo23084.aspx narand</a></NOSCRIPT></TD
0
1 / 1 / 1
Регистрация: 18.06.2008
Сообщений: 329
01.06.2006, 04:44
У меня скомпилированный (это важно) файл после смены разрешения экрана начинает по команде Screen.Width возвращать высоту!

Это если скомпилирован в VB6. А если в VB5 - то всё пучком.

Проверено на XP и Me. Возможно, зависит от моего адаптера или монитора.

Я теперь стараюсь объект Screen вообще не использовать. Только GetSystemMetric.



Кроме того, стараюсь всё, что возможно компилировать в VB5 - у VB6 еще много глюков... Но это уже не в тему топика

Впрочем, первая часть тоже не совсем в тему ), а вызвана реакцией на часто употребляемое слово "Screen" )
0
0 / 0 / 0
Регистрация: 26.02.2012
Сообщений: 43
01.06.2006, 19:41  [ТС]
Так я так и делаю - на <EM>VMWare</EM> установил 125%, а у меня на компе - стандартные 100%. Компилю, смотрю ли всё ли ок, переганяю на виртуальный и смотрю результат.
Так, насколько я понял по отсутствию ответов, <EM>перерисовка</EM> - единственный правильный выход?
0
0 / 0 / 0
Регистрация: 26.02.2012
Сообщений: 43
01.06.2006, 20:56  [ТС]
<TABLE cellSpacing=0 cellPadding=0 width="100% <TBODY><TR><TD class=smalltxt vAlign=top>
Так а в GetSystemMetrics аналога Screen.TwipsPerPixelX и Screen.TwipsPerPixelY нет...</P></TD></TR></TBODY></TABLE>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.06.2006, 20:56
Помогаю со студенческими работами здесь

Действительно ли что лазерное сканирование всегда монохромное, то есть всегда только чёрно-белое?
Действительно ли, что если лазером можно было делать фото или снимать видео, то фото и видео были бы только чёрно-белыми, поскольку спектр...

Ноут Sony Vaio, запускается всегда, загружается не всегда
Всем здравствуйте. Попал мне в руки Sony Vaio 61611L. Поведение следующее - нажимаю кнопку питания - ноут стартует, но не всегда...

Картинка на сайте отображается 1х1 пиксел
Здравствуйте. Есть страница сайта сайта. На этом сайте отображается картинка, на некоторых системах (в частности в Винде в Хроме) эта...

BsoD всегда в нежданный момент и всегда разные
Экраны смерти уже достали( ищу решение проблемы довольно долго. Бсод появляется всегда в нежданный момент и всегда разные. Систему...

Какая функция сканирует конкретный пиксел на цвет?
Всем привет, подскажите п0жалуста, какая функция в с++ сканирует конкретный пиксель на цвет? И есть ли вообще такая функция? Я уже много...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru