Интерфейс

Создание, использование компонентов ActiveX
Rainbow
Человек-радуга
Человек-радуга
 
Сообщения: 543
Зарегистрирован: 13.05.2003 (Вт) 14:16

Сообщение Rainbow » 05.04.2004 (Пн) 15:38

Ты всегда можешь узнать, текущий режим, и в зависимости от этого поправить ручками свой интерфейс (загрузить другие картинки и тд)

Узнать, какой режим можно так:
Код: Выделить всё
Private Declare Function GetDeviceCaps Lib "GDI32" (ByVal hDC As Long, ByVal nIndex As Long) As Long
Private Declare Function GetDC Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function ReleaseDC Lib "user32" (ByVal hWnd As Long, ByVal hDC As Long) As Long

Private Const LOGPIXELSX = 88

Public Function PixelsPerInch() As Long
Dim hDC As Long
    hDC = GetDC(0)
    PixelsPerInch = GetDeviceCaps(hDC, LOGPIXELSX)
    ReleaseDC 0, hDC
End Function
Учиться - значит открывать для себя то, что уже знаешь. <...> Учить - значит напоминать другим о том, что они знают это также хорошо, как и ты. <...> Лучше всего ты учишь тому, чему тебе самому больше всего надо научиться. (Р. Бах)

gaidar
System Debugger
System Debugger
 
Сообщения: 3152
Зарегистрирован: 23.12.2001 (Вс) 13:22

Сообщение gaidar » 17.04.2004 (Сб) 17:50

Собственно, возникает вопрос. При изменение разрешения все-таки должны проиходить изменения :), пользователь затем его и меняет, чтобы все пропорционально изменялось, а если картинки будет "сохранять размер", а все остальные элементы экрана, так сказать, нет, это будет несколько странно.
Или я чего-то не понял? ;) Для чего это нужно?
The difficult I’ll do right now. The impossible will take a little while. (c) US engineers in WWII
I don't always know what I'm talking about, but I know I'm right. (c) Muhammad Ali

Ruslan Demidow
Мужчина!
Мужчина!
Аватара пользователя
 
Сообщения: 987
Зарегистрирован: 25.03.2004 (Чт) 13:39
Откуда: N.Novgorod

Сообщение Ruslan Demidow » 09.11.2004 (Вт) 9:27

gaidar писал(а):Собственно, возникает вопрос. При изменение разрешения все-таки должны проиходить изменения :), пользователь затем его и меняет, чтобы все пропорционально изменялось, а если картинки будет "сохранять размер", а все остальные элементы экрана, так сказать, нет, это будет несколько странно.
Или я чего-то не понял? ;) Для чего это нужно?
Вот например у меня есть проект.
В программе есть форма настроек: закладки, чекбоксы, опшионбоксы, и т.п..
Если использовать стандартный размер шрифта - то всё нормально. А если поменять размер шрифта в большую сторону (без разницы на сколько процентов), ну например установить размер шрифта 108% - то весь интерфейс плывёт.
Надписи на чекбоксах не помещаются в установленные рамки. Контейнеры вообще по ширине уплывают за границу формы.
Если же при открытии делать ручную подгонку размеров - то я думаю - повешусь быстрее чем напишу две-три страницы кода. :)
Это Ж-ж-ж-ж неспроста (с) Винни-Пух

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Сообщение Alexanbar » 09.11.2004 (Вт) 18:54

Есть круг задач, где важно сохранять размер независимо от разрешения. Вот у меня, например, зреет задача показать фотографию в натуральную величину, напрмер, 3х4 см независимо от разрешения. Даже начал размышлять, можно ли узнать программно размер диагонали экрана монитора в см или дюймах. Но пока не до этого.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 15.11.2004 (Пн) 12:38

Узнать, какой режим можно так:


А можно так:

Код: Выделить всё
screen.TwipsPerPixelX


Если использовать стандартный размер шрифта - то всё нормально. А если поменять размер шрифта в большую сторону (без разницы на сколько процентов), ну например установить размер шрифта 108% - то весь интерфейс плывёт.


Стандартные контролы обычно просто стараешься рассчитать/раставить так чтобы надпись на них влезала при самом дурном разрешении. Ну а размер рисунка приходится рассчитывать в пропорции к TwipsPerPixelX/TwipsPerPixelY. По крайней мере так мне в свое время удалось сделать нормально работающей (с любыми установками шрифтов) форму со скинами...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...


Вернуться в Компоненты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18

    TopList