Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Господа. И дамы) Вопрос. Я делаю приложение полноэкранным, но в разрешении 1024Х768. Как сделать так, чтобы изображение не растягивалось на широкоформатных дисплеях? Какие- нибудь рамки чтобы появлялись по бокам.
Добавлено (12 Ноябрь 2009, 15:01) --------------------------------------------- Никто не знает?
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Я хочу чтобы соотношение сторон сохранялось... ТО есть когда веррхние рамки растягиваются под монитор- боковые не просто растягивались, а в соответствии с пропорциями. Спасибо.
в разрешении 1024Х768. Как сделать так, чтобы изображение не растягивалось на широкоформатных дисплеях?
Quote (mcpanmc)
ТО есть когда веррхние рамки растягиваются под монитор- боковые не просто растягивались, а в соответствии с пропорциями
Я так и не понял ЧТО нужно...
Могу только предположить, что требуется, чтобы соотношение сторон окна всегда было неизменным (4:3), независимо от разрешения и соотношения сторон экрана пользователя, но максимально на весь экран... Собственно, нужные подсказки уже были даны. Например:
Quote (mishem)
высчитать размер экрана, соотношение сторон, и т.д. Если не соответствует тому что надо, вставлять то что Вам надо.
Т.е. на старте приложения получить размеры экрана пользователя, подогнать под него размер "верхних рамок", и просто изменить размер боковых пропорционально. Окно проекта даже по центру экрана выравнивать не потребуется, т.к. в полноэкранном режиме это будет сделано автоматически. Не вижу проблемы...
P.S. Только на широкоформатном дисплее (16:9) потребуется все наоборот: сначала установить размер "боковых" рамок, и уже под них подгонять "верхние"...
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Дисплей он и в африке дисплей, пиксел тоже, не в зависимости от соотношения сторон. Если есть какие либо геометрические искажения надо строить дисплей, иначе отправленные на принтер круги превратятся в элипсы. Для широких дисплеев, соответственно и размеры видеобуфера должны быть иные, то есть видаха должна учитывать такой формат, соответственно изменив организацию своей памяти. Размеры окна проги могут быть постоянны, при этом при нормально настроенном дисплее, искажения соотношений окна проги не должно быть, раскрыто под размеры экрана, или выровнены под одну из сторон. В последнем случае, сам програмер должен об этом позаботится, рассчитав нужные размеры. И соотношения сторон дисплея тут не причем, если соотношение сторон окна проги не совпадает с таким же соотношением дисплея, то привязку окна к большей стороне нужно проводить и на широких и на узких дисплеях, причем по одному алгоритму. Если допустим, у вас появится не широкий а высокий дисплей, прога настроится и в этом случае, алгоритм довольно простой и я его не выкладываю. Простой тест, сделайте окно 100х100, если оно не квадратное, настраивайте дисплей.
а можно сделать так, чтобы границы заливались не цветом а каким нибудь рисунком? либо как нибудь так сделать (не в fullscreen-режиме) модную штуку, когда окно приложения активно, фон рабочего стола вокруг заливается полупрозрачным серым(черным) цветом, как бы фокусировка происходит на окне приложения. Действия мыши и клавы при этом работают только в приложении, в остальной зоне блокированы, пока не закроешь приложение. Как задавать вопросы
Дата: Сб, 11 Сентября 2010, 16:40 | Сообщение # 10
Друг клуба ММВ
Проверенные
Сообщений: 2713
Offline
Quote (DEMBEL)
а можно сделать так, чтобы границы заливались не цветом а каким нибудь рисунком? либо как нибудь так сделать (не в fullscreen-режиме) модную штуку, когда окно приложения активно, фон рабочего стола вокруг заливается полупрозрачным серым(черным) цветом, как бы фокусировка происходит на окне приложения. Действия мыши и клавы при этом работают только в приложении, в остальной зоне блокированы, пока не закроешь приложение.
Жуткий сон в жаркую, летнюю ночь Берем кисти и красим это что, где то на семерке высмотрел? Ну в нб ли нет, а теоритически можна, если прога иль плагин в ней рисует на рабочем столе, во, придумали чем Петера забодать Вроде как ашдиси тама 0, но точно не помню, давно рисовал, и даже на вальпейпер, вернее под него, попадал, да, все же 0 эт навеное под им.
Quote (DEMBEL)
Действия мыши и клавы при этом работают только в приложении, в остальной зоне блокированы, пока не закроешь приложение.
Дата: Сб, 11 Сентября 2010, 23:57 | Сообщение # 12
Эксперт форума
Модераторы
Сообщений: 5942
Offline
Quote (DEMBEL)
токо для приложения
Так там же только для браузера, а ты как понимаю хочешь на рабочем столе это сделать. Задумка интересная. Это точно Петера напягать . в приложениях по моему еще ни где не встречал. прикольно будет. Запускаешь приложение, пока оно поверх всех окон рабочий стол как бы в тумане. Не хочешь читать хелп?
Дата: Вс, 12 Сентября 2010, 02:46 | Сообщение # 13
Генератор идей
Модераторы
Сообщений: 3173
Offline
Quote (DEMBEL)
модную штуку, когда окно приложения активно, фон рабочего стола вокруг заливается полупрозрачным серым(черным) цветом, как бы фокусировка происходит на окне приложения.
Видел такое, в работе СureIt. Кстати, рисунок рабочего стола можно через NB поменять, немного извращенным способом, но можно. Сделать скриншот с открытым приложением, затенить область вне окна приложения и через RunDll32 (если правильно помню) подменить рисунок рабочего стола, сохранив прежний. При выходе из этого режима вернуть прежний на место. Но придется при открытии окна с новыми размерами или при уменьшении размеров опять делать скрин и выставлять его на рабочий стол. Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
Дата: Вс, 12 Сентября 2010, 03:13 | Сообщение # 14
Наш дизайнер
Администраторы
Сообщений: 5959
Offline
нда а что будет при перетаскивании окна приложения? я почему завел сначала речь про fullscreen, так какбы сподручнее и блокировать ввод ненадо. токо бы заливку заменить и все делов... ну если тоже самое с окном то канешно моднее. Как задавать вопросы
Дата: Вс, 12 Сентября 2010, 04:09 | Сообщение # 16
Наш дизайнер
Администраторы
Сообщений: 5959
Offline
Quote (Вадим)
Видел такое, в работе СureIt.
да, и я. какже это они делают такое, значит и нам можно.
Добавлено (12 Сентябрь 2010, 04:09) --------------------------------------------- Немного поясню, делается приложение для прохождения тестов, ну там все оч. круто, но вот маленькое неудобство - нужно запретить user input везде кроме окна приложения (чтоб не лезли куда не надо, в т.ч. пытались что-то там намутить с тестом), и вот както графически оформить этот момент.
Дата: Вс, 12 Сентября 2010, 05:02 | Сообщение # 17
Генератор идей
Модераторы
Сообщений: 3173
Offline
Quote (DEMBEL)
както графически оформить этот момент
Если совсем просто, то можно показать сообщение из трея (плагином Петра удобно это сделать). Но если там "все оч. круто", то сообщение из трея будет простовато смотреться, тогда можно свое сообщение из трея сделать, красивое... :), которое будет всякий раз появляться из трея, если пользователь будет пытаться что-то сделать в обход программы тестирования. Простенько и со вкусом. Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
Дата: Чт, 16 Сентября 2010, 17:52 | Сообщение # 20
Эксперт форума
Модераторы
Сообщений: 5942
Offline
DEMBEL, Это все происжодит в Экранной заставке (SCR), Основное окно делается полупрозрачным, на него накладывается другое окно . Поизощряйся, мож что получится? Не хочешь читать хелп?
Дата: Чт, 23 Сентября 2010, 00:55 | Сообщение # 21
Эксперт форума
Модераторы
Сообщений: 5942
Offline
Peter, какая то лажа у меня с командой zmSetWindowTransparent , CustomWindow и тип проекта Экранная заставка. Мож я что ни так делаю, но у меня во первых если ставлю в CustomWindow галку Особый режим, то основное окно не хочет закрываться. Во вторых, если убрать особый режим, окно в скомпилированном проекте закрывается, но не всегда. В третьих, бывают моменты что окно закрылось, но проводник становится прозрачным. См. прикрепление.
Дата: Чт, 23 Сентября 2010, 01:31 | Сообщение # 23
Эксперт форума
Модераторы
Сообщений: 5942
Offline
Да можно наверно, это у меня время немного появилось решил попробовать, и столкнулся с препятствиями. Просто надо будет определять размер экрана и растягивать окно на весь экран. Эт я так думаю, не пробовал. А чем заставка не устраивает? В других прогах мнекажется как раз заставка идет.
Дата: Чт, 23 Сентября 2010, 01:43 | Сообщение # 24
Наш дизайнер
Администраторы
Сообщений: 5959
Offline
ну это должно быть нормальное ехе-приложение, с обычным окном и прочим... токо заливка по экрану вокруг, и чтоб таскалось еще. хоть и заставка это тоже типа ехе, что если переименовать...
Дата: Чт, 23 Сентября 2010, 03:18 | Сообщение # 25
Админ NeoBook
Администраторы
Сообщений: 7425
Offline
Quote (mishem)
если ставлю в CustomWindow галку Особый режим, то основное окно не хочет закрываться
Правильно. Весь секрет заключается в последовательности событий, и пока не отработают скрипты элементов модального окна, события для главного окна не начнут выполнятся.
В общем, смотри в прикреплении слегка подправленный (как вариант) проект. Теперь все работает так, как ты (похоже) задумал, если я ничего не попутал Думаю, что комментировать не требуется, т.к. ты и сам прекрасно разберешься. Единственное замечание: если "особый режим" окна не нужен, то таймер можно убрать.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Дата: Чт, 23 Сентября 2010, 05:02 | Сообщение # 26
Эксперт форума
Модераторы
Сообщений: 5942
Offline
Блин, Container1_OnClose, я про нее подумал и забыл Благодарю Peter, Что б мы без тебя делали Вообщето это DEMBEL, ю надо, решил попробовать воплотить в жизнь. Мож кому тоже пригодится. Не хочешь читать хелп?