|
73 / 73 / 10
Регистрация: 04.12.2008
Сообщений: 458
|
|
.NET Compact Framework и поворот формы04.10.2009, 23:51. Показов 3974. Ответов 18
Метки нет (Все метки)
Возникли некоторые трудности при разработке приложения под Windows Mobile 6. По плану, при повороте экрана на 90 градусов, форма должна перерисовываться по новой, чтобы все элементы управления находились так как прежне и не возникал скролл. То есть, приложение то поворачивается, но не перерисовывается...
![]() Знаю, что это можно сделать, но вот уже 2 недели ищу инфу, и все никак не могу найти. Кто знает - подскажите! Заранее благодарен!
0
|
|
| 04.10.2009, 23:51 | |
|
Ответы с готовыми решениями:
18
[Compact Framework] Ошибка при использовании OpenNETCF.Net.Ftp.FTPWebResponse(): NullReferenceException В списке Target Framework не выбирается .NET Framework 4 только .NET Framework 4 Client Profile |
|
5 / 5 / 1
Регистрация: 23.09.2009
Сообщений: 13
|
|
| 05.10.2009, 03:08 | |
|
а как насчет просто вызвать обновление Invalidate() ???
тогда все что в обработчике события Paint, и собственно сама перерисовка объектов выполнится...
0
|
|
|
sleepy
78 / 53 / 6
Регистрация: 29.07.2009
Сообщений: 179
|
||||||
| 05.10.2009, 03:12 | ||||||
|
patriot2008, есть класс SystemEvents, который находится в пространстве Microsoft.Win32. Там есть нужное тебе событие. Называется DisplaySettingsChanged.
0
|
||||||
|
73 / 73 / 10
Регистрация: 04.12.2008
Сообщений: 458
|
||
| 05.10.2009, 22:56 [ТС] | ||
|
Сори, конечно, но я что-то не могу найти такого события, пересмотрел уже все пространства имен... не смог найти ни SystemEvents, ни DisplaySettingsChanged. Это точно все в пространстве Microsoft.Win32 для .NET Compact Framework ?
![]() Добавлено через 1 час 1 минуту
0
|
||
|
sleepy
78 / 53 / 6
Регистрация: 29.07.2009
Сообщений: 179
|
||||||
| 05.10.2009, 23:58 | ||||||
|
patriot2008, хм, да. Проглядел я. Сорри.
Добавлено через 56 минут В общем, подумал я тут немного по этому вопросу. Как вариант, можно обрабатывать событие Resize у формы. И использоваться класс SystemSettings, в котором есть ScreenOrientation. В зависимости от угла, на который повернут экран - менять позиции элементов. Например, так:
1
|
||||||
|
73 / 73 / 10
Регистрация: 04.12.2008
Сообщений: 458
|
|
| 06.10.2009, 00:33 [ТС] | |
|
хм... Вот это вариант... На днях попробую так сделать, может поможет...
Как сделаю все - отпишусь! Спасибо!
0
|
|
|
73 / 73 / 10
Регистрация: 04.12.2008
Сообщений: 458
|
|
| 17.10.2009, 01:12 [ТС] | |
|
Вообщем, sleepwalker, спасибо тебе, помогло, элементы формы перерисовывает, все, вроде бы норм...
Но вот проблема теперь еще в другом: тестил я свою прогу на девайсе с разрешением экрана 640х480. И при перерисовке задавал координаты именно для этого разрешение. Вопрос: а будет ли прога также нормально перерисовывать для девайсов с разрешением 320х240? (то есть также само перерисовывать, но для таких экранов? )
0
|
|
|
sleepy
78 / 53 / 6
Регистрация: 29.07.2009
Сообщений: 179
|
|
| 17.10.2009, 02:25 | |
|
Думаю, что нужно просчитывать координаты в зависимости от разрешения экрана.
Можно потестить на виртуальном Pocket PC)
1
|
|
|
73 / 73 / 10
Регистрация: 04.12.2008
Сообщений: 458
|
||
| 17.10.2009, 12:41 [ТС] | ||
|
Там есть еще одно свойство формы AutoScaleMode. Оно отвечает как будут перерисованы контролы на форме. Я постаил Dpi (то есть в зависимости от количества точек на дюйм). Может это оно? Что касается эмуляторов, то у меня на компе они почему-то на работают. Может подскажите где их можно скачать?
0
|
||
|
sleepy
78 / 53 / 6
Регистрация: 29.07.2009
Сообщений: 179
|
|
| 17.10.2009, 16:35 | |
|
patriot2008, эмулятор должен идти с windows mobile sdk, если не ошибаюсь.
0
|
|
|
73 / 73 / 10
Регистрация: 04.12.2008
Сообщений: 458
|
|
| 17.10.2009, 16:45 [ТС] | |
|
У меня ни один из эмуляторов не работает...
Может переустановить студию полностью?
0
|
|
|
sleepy
78 / 53 / 6
Регистрация: 29.07.2009
Сообщений: 179
|
|
| 20.10.2009, 10:19 | |
|
patriot2008, по поводу размеров экрана - можно использоваться класс Screen. В нем есть статический метод, который возвращает Rectangle с размерами. В зависимости от полученного уже нужно играться.
А по поводу эмуляторов - попробуй качнуть отдельно Windows Mobile SDK. Там в комплекте идет эмулятор.
1
|
|
|
73 / 73 / 10
Регистрация: 04.12.2008
Сообщений: 458
|
|
| 07.11.2009, 21:50 [ТС] | |
|
Стоп! немного непонятно... Метод Rectangle в каком формате будет возвращать размер? И еще, размеров бывает то оч. много (240х240, 320х240, 480х480 и т.д.). И если отдельно все прописывать для каждого, то очень много получится... Должны быть средства попроще. Кто-то знает ?
0
|
|
|
467 / 344 / 19
Регистрация: 26.05.2009
Сообщений: 2,696
|
|
| 08.11.2009, 09:44 | |
|
Посчитайте приблизительно в процентном сотношении координаты элемента от края окна по отношению ко всей его ширине. Или сделайте обычным делением.
0
|
|
|
73 / 73 / 10
Регистрация: 04.12.2008
Сообщений: 458
|
||
| 08.11.2009, 12:27 [ТС] | ||
|
Добавлено через 44 минуты Может кто-то знает, как програмно получить разрешение экрана девайса?
0
|
||
|
467 / 344 / 19
Регистрация: 26.05.2009
Сообщений: 2,696
|
|
| 08.11.2009, 15:42 | |
|
1)Кажется, в классе screen есть метод, который возвращает разрешение экрана.
2) К примеру, у вас на тестовом устройстве ширина экрана 640, координата элемента 32, отсюда 640/32 = 20. Значит узнаем ширину любого экрана делим на 20 и получаем координату на новом экране. Присваиваем это значение соответствующему свойству объекта. И так для каждого элемента по ширине и высоте.
1
|
|
|
sleepy
78 / 53 / 6
Регистрация: 29.07.2009
Сообщений: 179
|
|
| 08.11.2009, 16:57 | |
|
В таком случае может случиться наложение одного контрола на другой, мне кажется.
0
|
|
|
467 / 344 / 19
Регистрация: 26.05.2009
Сообщений: 2,696
|
|
| 08.11.2009, 17:57 | |
|
Именно это и будет происходить если не просчитывать и размеры элементов. Понимаю, что работы много, но на много меньше, чем писать под каждый экран отдельно и на много универсальнее
1
|
|
|
73 / 73 / 10
Регистрация: 04.12.2008
Сообщений: 458
|
|
| 08.11.2009, 18:31 [ТС] | |
|
Спасибо, я попробую... а есть ли еще какие-то способы? Просто, вдруг такой способ забракуют... Знаю, что сейчас большинство приложений поддерживает разные разрешения. Может там используется какой-то метод попроще?
0
|
|
| 08.11.2009, 18:31 | |
|
Помогаю со студенческими работами здесь
19
Как изменить ширину столбца DataGrid при импорте с БД в .NET Compact Framework Ошибка компляции после смены платформы с Windows CE (Compact Framework) на Windows (NET Framework) Listbox горизонтальный scroll (.NET Compact Framework) Рисование в .Net Compact Framework c дробными числами
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|