Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Работа с окнами, как осуществить? (http://forum.oszone.net/showthread.php?t=167374)

Virtyaluk 15-02-2010 01:23 1347279

Работа с окнами, как осуществить?
 
Помогите, пожалуйста
нужно в одной программе создать пару окон и осуществить переход с одного окна в другое по нажатию определенной кнопки
как это сделать?
и еще, можно ли, как-то, сопроводить запуск моей программы например, анимацией или просто картинкой(как это сделано в новых версиях продуктов Adobe, Office 2010, и множеству игр)??
напомню, что я использую CodeGear C++ Builder 2007
жду помощи...

Virtyaluk 16-02-2010 20:52 1348856

че все, помощь закончилась??

ganselo 16-02-2010 21:40 1348891

Цитата:

Цитата qE+
нужно в одной программе создать пару окон и осуществить переход с одного окна в другое по нажатию определенной кнопки
как это сделать? »

Не совсем понятно. Например у программы есть 5 окон и вы хотите, чтобы при нажатии F1 фокус переходил на 1 окно, F2 на второй и т.д ? Или же, что то подобное как при нажатии alt+tab?

Цитата:

Цитата qE+
и еще, можно ли, как-то, сопроводить запуск моей программы например, анимацией или просто картинкой »

Делаете окно "приветствие" и в обработчики главного окна OnCreate (возможно в каком то событии возникающем раньше OnCreate) вызываете окно "приветствие", далее в окне "приветствие" ставите задержку в N секунд (чтобы можно было увидеть это окно) после истечения которой закрываете окно "приветствие".

crashtuak 16-02-2010 23:09 1348953

qE+, как вариант перехода с окна в окно-создать одно окно, на и там разместить все нужные контролы, и просто скрывать-показывать те, которые нужны-не нужны на данный момент.

Virtyaluk 17-02-2010 17:35 1349556

ganselo, crashtuak,
мне нужно что-то, типа: при нажатии кнопки "Далее"(в первом окне) - открывалось второе.Как в установочных пакетах, только у меня не установка!

и если можно, ребята, пишите код, а не указания

насчет приветствия, я хочу что-то подобное как у Photoshop CS4 т.е. запускаешь exe-шку, пару секунд отображается картинка(маленькая), а потом запускается сама программа.И если можно, все это дело в варианте кода

crashtuak 17-02-2010 18:32 1349609

qE+, к сожалению написать код не могу, ибо билдера щас нету под рукой. Но вот указание:-): есть такой контрол-TPanel. Кидаем его на форму. Потом на TPanel кидаем другие нужные контролы. Один TPanel-одно окно. Тоесть сделаем три TPanel, например start, main, finish. На первом-типа приветствия, как у инсталятора, на втором основная функциональная часть, а на последнем-завершение нашей серии окон. Все панели делаем невидимыми (параметр Visible=false), вся затея в том, что при сокрытии панели всё её содержимое тоже скрывается. На событии главного окна OnCreate делаем видимой панель start (start->Visible=true). По нажатию кнопки, которая будет на основном окне, мы делаем невидимой первую панель, а видимой-вторую. Так же по второму нажатию кнопки поступаем и с последней панелью.
ПС:только панели сделайте одинаковых размеров, и разместите их одна под одной.
Размещать лучше через OnCreate, иначе у вас одна панель может попасть в другую.

crashtuak 18-02-2010 19:17 1350509

Вложений: 1
qE+, прикрепил пример с работой с панелями.

Admiral 19-02-2010 05:45 1350812

qE+ анимацию можно проигрывать например из GIF картинки, с помощью различных "рендеров" - Как вывести на экран картинку в JPEG/GIF/PNG/др. формате? 7 способов как это сделать

Не видел новых продуктов Adobe, так что не скажу как там сделано. А в MS Office 2010 сама программа в сплеш скрине рендрит анимацию.

503 x 338 пик., 208 Кб

По этой части, могу дать лишь общие рекомендации.
Для того что б осуществить нечто подобное можно использовать к примеру GDI, GDIPlus или сразу Direct3d. Хоть применения последнего возможно будет излишним для простой программы, в отличии от множества игр.
Цитата:

если вы не разрабатываете 3D-приложение, то этот способ крайне неудобен, так как предназначен для работы с 3D объектами.
... на выходе получаем IDirect3DTexture8, который очень не просто вывести в HDC.>>

Virtyaluk 23-02-2010 20:37 1354189

Admiral,
по ссылке материал о том как "вывести изображение в окне программы", а мне нужно что был splash-screen как на анимации вашего поста.


Время: 06:00.

Время: 06:00.
© OSzone.net 2001-