Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: twips'N'pixels Добавлено: 12.01.04 15:21  

Автор вопроса:  mc-black | Web-сайт: mc-black.narod.ru/dzp.htm | ICQ: 308-534-060 

Вопрос простой и глупый... но не понятно, для чего мне жизненно необходимы твипы (что это вообще за понятие такое?), когда удобнее как-то в пикселях. Все это бы были мелочи, если бы не надо было в бооольших циклах делать глупые операции типа x/TwipsPerPixelX, y*15 и т.п. Вообще можно как-то сделать, чтобы во всех формах, контролах TwipsPerPixelX = TwipsPerPixelX = 1 ??? Последний мой вопрос был не риторический, если что :)

Ответить

  Ответы Всего ответов: 9  

Номер ответа: 1
Автор ответа:
 gvozd



Разработчик Offline Client

Вопросов: 164
Ответов: 1317


 Web-сайт: www.gvozdsoft.com
 Профиль | | #1
Добавлено: 12.01.04 15:51

вабще удобней в сантиметрах

Ответить

Номер ответа: 2
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #2
Добавлено: 12.01.04 15:52

ScaleMode попробовать стоит поизменять и далее уже пользовать ScaleWidth ScaleHeight

Ответить

Номер ответа: 3
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #3
Добавлено: 12.01.04 16:09

Thank's sne! Попробую, наверное стоит.

2 gvozd: о вкусах не спорят... чем тебя сажень, аршин, фут, ярд, дюйм и т.п. не устраивают (аргументируй)? :) Чувак, а что это там ты измеряешь в сантиметрах? Лично я в пикселах - окно программы и контролы...

Ответить

Номер ответа: 4
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #4 Добавлено: 12.01.04 16:33

ScaleMode есть только у некоторых контролов, далеко не у всех.

И пожалуй от этих твипсов никак не избавишься. Я так при запуске программы вначале делаю переменные Tx и Ty, заношу в них твипсперпикселы и далее пользуюсь, все короче писать

Ответить

Номер ответа: 5
Автор ответа:
 gvozd



Разработчик Offline Client

Вопросов: 164
Ответов: 1317


 Web-сайт: www.gvozdsoft.com
 Профиль | | #5
Добавлено: 12.01.04 16:54

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

Ответить

Номер ответа: 6
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #6
Добавлено: 12.01.04 19:05

2cresta, если у контрола нет свойства, значит его Width b Height зависят от свойств родительской формы (окна).

Попробуй форме поставить это самое свойство, а потом у лайбы посмотри в чем ее параметры измеряются...

Ответить

Номер ответа: 7
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #7
Добавлено: 13.01.04 18:23

2 sne: wow!

Я тоже об этом подумал. И все-таки, для чего придуманы твипы? Я так понимаю, разработчики заботились о тех прогрессе, что типа пиксель монитора в будущем уменьшится где-то в 15 раз...

Ответить

Номер ответа: 8
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #8 Добавлено: 13.01.04 19:49
Если TwipsperPixel был бы фиксированным значением, то можно было бы просто использовать ScaleMode=3 и всё. Только всё дело в том, что TwipsperPixel в зависимости от разрешения экрана и величины системного шрифта может принимать значения от 9 до 15. Например
1024х768 - мелкий шрифт - TwipsperPixel= 15;
1024х768 - крупный шрифт- TwipsperPixel = 12;
800х600 - крупный шрифт - TwipsperPixel = 9
При других разрешениях ещё возникают другие цифры.И если ты написал программу при 1024х768 и мелком системном шрифте и допустим форма имеет ScaleWidth = 1000, то на компе где разрешение 800х600, окно программы вылезет за пределы экрана, и его размеры надо будет корректировать. Чем - да тем же TwipsPerPixel'ом. Делить ширину на 15 и затем умножать на TwipsPerPixel пользователя.И тогда программа будет иметь окно одинаковых размеров для любого случая.
Поэтому чтобы всё было ровно и красиво - от TwipsPerPixel никуда не деться. И получается, что имеешь одновременно две единицы измерения.
Да и просто сделать програмно ресайз формы без учета твипов невозможно. Например попробуй сделать форму шириной 300 пиксел и увеличь её ширину на 100 пиксел.(ScaleMode при этом = 3).И при этом не использовать me.Width(там указаны твипы).  А me.ScaleWidth(там где указаны пиксели) - только для чтения.
Раз уж невозможно избавиться от твипов, то зачем ещё и пикселы мешать в ту же кучу и усложнять себе жизнь:) 

Ответить

Номер ответа: 9
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #9
Добавлено: 13.01.04 23:32

Полностью согласен, я так же пользую ;)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам