На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> Экран в КПК: разрешение и поворот? , Как узнать и изменить разрешение и поворот экрана?
    В общем, нужно узнать какая ориентация экрана стоит в КПК - горизонтальная или вертикальная и изменить на вертикальную если нужно.
    И нужно узнать какое разрешение у экрана - 320*240 или 640*480

    Как?
      Я всегда буду проблемы самостоятельно решать... =)

      ExpandedWrap disabled
        SystemSettings.ScreenOrientation= ScreenOrientation.Angle0;
        //Повернуть экран в обычное положение
         
        scwidth=Screen.PrimaryScreen.WorkingArea.Width;
        scheight = Screen.PrimaryScreen.WorkingArea.Height;
        //узнать ширину и высоту рабочей области экрана (видимо, без меню внизу)
        ога, есть еще ClientSize.Width и ClientSize.Height.
        походу тоже размеры рабочей области, а не разрешение :(

        Screen.PrimaryScreen.Bounds.Width и Height - не знаю, еще не проверял. есть шанс что таки разрешение экрана а не размеры формы.
        upd! да, это оно. полное разрешение зверька. :)

        а поворот экрана:
        SystemSettings.ScreenOrientation = ScreenOrientation.Angle90;
        Сообщение отредактировано: Plastic13 -
          Подниму тему. Есть коммуникатор, с разрешением 800*480.
          Как правильно засетапить проект?
          Я делаю форму с таким разрешением (она вылезает огромной, ну и правильно - 72dpi всего)

          Потом разворачиваю ставлю на форму кнопку - сообразно ее размерам и так, как она должна выглядеть на экране.

          Делаю deploy на устройство с нужным мне разрешением - но результат выглядит как-то странно.
          Кнопка явно больше на экране, чем должна была бы быть. такое впечатление, что разрещение в эмуляторе на самом деле меньше.

          Как сделать правильно?

          Добавлено
          Провел эксперимент - похоже неважно - какой размер задавать форме? Бред какой-то. У меня стоит сейчас 238;267 - но при запуске на устройстве - кнопка не выглядит маленькой. Эмулятор что - экстраполирует форму до нужных размеров? Не понимаю...
            Я перефразирую - размер формы (в пикселях) не влияет и не имеет отношения к разрешению экрана целевого устройства?
              Цитата Monochrome @
              Я перефразирую - размер формы (в пикселях) не влияет и не имеет отношения к разрешению экрана целевого устройства?

              я, конечно, вовремя, но все же позволю мысль вслух.
              вообще, у формы есть параметр, вроде AutoScaleMode=Dpi, что значит, что экран будет всегда масштабироваться сам в зависимости от количества точек на дюйм. у больших экранов для уменьшения физических размеров увеличивается Dpi, и фреймворк делает масштабирование сам.
                Насколько я знаю, то SystemSettings.ScreenOrientation = ScreenOrientation.Angle0; меняет ориентацию экрана для КПК в целом. Есть ли возможность не менять ориентацию в WM, но приложение писать под горизонтальную ориентацию.
                Просто проблема в следующем, да, запустилось приложение, сменило ориентацию SystemSettings.ScreenOrientation = ScreenOrientation.Angle90; но! Закрываю его (не корректным образом) и ориентация остается измененная ((
                Мне нужно горизонтальную ориентацию, неужели извращаться и писать "боком" приложение?

                И еще вопрос, как можно отследить и отменить нажатие таких кнопок как Меню, Вызов, Ок и т.п., которые как кнопки (физические) на самом КПК?
                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                0 пользователей:


                Рейтинг@Mail.ru
                [ Script execution time: 0,0219 ]   [ 16 queries used ]   [ Generated: 28.03.24, 14:29 GMT ]