Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Меню в ScreenSaver, Как сделать меню для скринсейвера. 
:(
    Опции темы
Bodro
Дата 27.1.2006, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 27.1.2006
Где: Россия, г. Рязань

Репутация: нет
Всего: 4



Пишу на Win32 API в блокноте и компиляю с помощью Borland C/C++ 5.0. старый, но надёжный компилятор.
Вопрос такой. Точнее их три.

1. Как сделать именно скринсейвер (name.scr)? В Delphi это делается с помощью директивы {$E scr}.
А как в Си? Чтобы не переименовывать exe-шник.
2. Как сделать менюшку. Чтобы когда указываешь свойства экрана, выбираешь заставку и нажимаешь кнопку <Настроить>. Чтобы менюшка настроек появлялась.
3. Как сделать, чтобы в меленьком окошке потихоньку отображался он. А то у меня сразу на весь экран разворачивается.

Спасибо!


PM MAIL WWW ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Fixin
Дата 27.1.2006, 20:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ёжик
***


Профиль
Группа: Комодератор
Сообщений: 1357
Регистрация: 6.1.2004

Репутация: 8
Всего: 18



MSDN->User Interface Designe ->Windows Shell -> Advanced Shell Techniques->Handling Screeensavers
PM MAIL ICQ   Вверх
Snowy
Дата 27.1.2006, 22:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: нет
Всего: 484



Лови параметры коммандной строки.
2. если первый параметр -с или /с, то показывай окно настроек.
3. если второй параметр -p или /p, то показывай превью. В третьем параметре получишь HWND окна превью. Выводи в него.
PM MAIL   Вверх
Bodro
Дата 28.1.2006, 06:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 27.1.2006
Где: Россия, г. Рязань

Репутация: нет
Всего: 4



Я просто восхищён!!! Не ожидал, если честно, такого скорого, точного и понятного ответа!!!
Спасибо большое! Вы - лучшие! ;)

Я так понял, если без параметров, значит винда запустила скринсейвер уже для нормальной ("скринсейверной") работы. Т.е. если параметров нет - отображать на весь экран. Так?

А на счёт первого вопроса, я так понял, Borland C/C++ 5.0 или Borland C/C++ 5.5 не умеют сразу компилять в scr. Значит, придётся переименовать exe-шник. Да, вообще-то глупый был вопрос...
Прошу прощения.

А в чём вообще разница scr и exe? Поковырялся я в скринсейверах и ничего такого не нашёл. По структуре - обычный exe-шник. Что, просто для различия их переименовывают? Зачем вообще Microsoft так устроила? Ведь, как я понял, scr и exe - одно лицо!

Спасибо!

Это сообщение отредактировал(а) Bodro - 28.1.2006, 07:03
PM MAIL WWW ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Fin
Дата 28.1.2006, 09:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дракон->Спать();
**


Профиль
Группа: Участник
Сообщений: 687
Регистрация: 4.1.2006

Репутация: 1
Всего: 10



Это один и тот же бублик, только вид сверху. Зачем мелкомягким придумывать свой стандарт для скринсервера, когда стандарт для Exe файлов полностью подходит для решения данной задачи. Скорее всего расширение решили изменять потому что, все скринсерверы свалены в одну папку, в которой могут находится другие программы. Чтобы как то различать, что есть что.


--------------------
Пролетал мимо.
PM MAIL   Вверх
Bodro
Дата 29.1.2006, 22:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 27.1.2006
Где: Россия, г. Рязань

Репутация: нет
Всего: 4



Зачем же тогда в Delphi предусмотрена директива {$E scr}?
PM MAIL WWW ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Fin
Дата 29.1.2006, 23:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дракон->Спать();
**


Профиль
Группа: Участник
Сообщений: 687
Регистрация: 4.1.2006

Репутация: 1
Всего: 10



В свое время я писал на Дельфи скринсервер и без этой опции. Все прекрасно работало. Только переименовывал расширение. Скорее всего это дополнительная фича.


--------------------
Пролетал мимо.
PM MAIL   Вверх
Bodro
Дата 4.2.2006, 01:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 27.1.2006
Где: Россия, г. Рязань

Репутация: нет
Всего: 4



Да, я тоже писал без этой директивы. И с этой писал. Разницы - никакой!
Только в одном случае получается *.exe, а в другом *.scr. А по суди - одно и то же!

Спасибо большое всем!

Тему можно закрывать!

Это сообщение отредактировал(а) Bodro - 4.2.2006, 01:07
PM MAIL WWW ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
MoZy
Дата 8.6.2008, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 4.6.2006

Репутация: 1
Всего: 0



Может отличие в том, что если юзать всякие там ScreenSaverProc() вместо стандартного окнного, то ехе шник вообще не запустится, пока в scr не переименуешь.
--------------------
Experimentia est optima rerum magistra
PM MAIL WWW ICQ   Вверх
586
Дата 8.6.2008, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2243
Регистрация: 8.5.2006

Репутация: 39
Всего: 146



Эта директива просто меняет расширение файла.
{$E txt}  smile 
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0520 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.