Тема: Меню
Показать сообщение отдельно
Старый 18.01.2006, 12:51   #7
Платон
Нуждающийся
 
Регистрация: 09.11.2005
Сообщений: 69
Написано одно полезное сообщение
Я бы посоветовал сделать все типами.
Тип кнопка
Тип скроллер
Тип флажок
Тип экран

потом описать их, причем функции обновления кнопок и про. гаджетов должны возвращать ИД(идентификационный номер) того гаджета который был активирован.

Все эти гаджеты размещаются в спец. группах - экранах.

Делаешь функцию обновления экрана, параметров которой евляется указатель на экран. Она будет обновлять все гаджеты которые расположены на этом экране.

А сам цикл меню можно при этом организовать так
MainEvent=MM_MAINSCREEN
;.....................................
;проверка переменной главного события
Select MainEvent
;если произошло событие - нажата кнопка "новая игра" главного экрана
;то обновляем экран с выбором сложности
	Case MM_NEWGAME
 event=UpdateScreen(ScreenChooseGame);обновление экрана выбора сложности
 If event Then
 	MainEvent=event
 End If
;Если произошло событие - нажата кнопка "опции" главного экрана
;То обновляем экран опций из которого можно выйти в главный экран
;кнопкой "Назад", при этом произойдет событие MM_MAINSCREEN
;которое вернет нас в главный экран
	Case MM_OPTIONS
 event=UpdateScreen(ScreenOptions);обновление экрана опций
 If event Then
 	MainEvent=event
 End If
;Ну а есл мы нажади кнопку "выход", то соответственно выполняется комманда выхода
	Case MM_QUIT
 End
;.........................................
;По умолчанию переменная события стоит на событии обновления главного
;экрана. На главном экране расположены к примеру кнопки "Новая игра"
;"опции" и "выход", соответственно к ним прикреплены соответствующие события
	Case MM_MAINSCREEN
 event=UpdateScreen(ScreenMainScreen)
 If event Then
 	MainEvent=event
 End If
End Select
Заранее описав константы событий(ИД гаджетов) можно переходить с одного экрана на другой и т.п.
Вобщем примерно так.
Если что непонятно - спрашивай.
(Offline)
 
Ответить с цитированием