powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как на форму поместить строку меню?
6 сообщений из 6, страница 1 из 1
Как на форму поместить строку меню?
    #32970848
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я сделал главную форму . На ней мне надо сделать менюху. В идеале я хочу чтобы эта форма была родительской , а остальные формы были дочерними.

Все дочерние формы у меня готовы.

Создал в редакторе меню , но как его прикрутить к форме. Оно прикручивается, но окну самого фокса!

Кто давно мне говорил , что к форме прилепить меню нельзя? А 8 фоксе что изменилось в этом направлении?
...
Рейтинг: 0 / 0
Как на форму поместить строку меню?
    #32970988
Фотография SAM-FoxPro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Строку меню можно вставить только в два типа форм: AsTopLevel и Desktop.
В первом случае можно использовать конструктор, во втором - надо писать меню самому в методе Init формы.
При создании меню в AsTopLevel Form:
1. Вызовите конструктор меню.
2. В окне New Menu выберите Menu
3. Откройте в главном меню пункт View -> General Option; в появившемся окне установите флажок Top-Level Form.
4. Сформируйте в кострукторе ваше меню и сохраните его.

В AsTopLevel Form в методе Init введите код:

DO MyMenu.mpr WITH this, .T., .T. && MyMenu - имя вашего файла меню

В методе Destroy этой формы введите код:

RELEASE MENUS (THIS.NAME) EXTENDED

Взято, по-моему на FoxClub...
...
Рейтинг: 0 / 0
Как на форму поместить строку меню?
    #32971000
luser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Описываешь класс, примерно так.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
 Define Class cMenu As Custom
	Procedure Init
		Define Menu (m.oFrm.Name) In (m.oFrm.Name) Bar
		Define Pad Pad_Station Of (m.oFrm.Name) Prompt "\<Станция" Color Scheme  3 
		On Pad Pad_Station Of (m.oFrm.Name)  Activate Popup Popup_Station
		Define Popup Popup_Station Margin Relative Shadow Color Scheme  4 
		Define Bar  1   Of Popup_Station   Prompt  '\<Запуск станции'
		Define Bar  3   Of Popup_Station   Prompt  '\-'
		Define Bar  10  Of Popup_Station   Prompt  '\<Пользователи системы'
		Define Bar  9   Of Popup_Station   Prompt  '\<Системные настройки'
		Define Bar  6   Of Popup_Station   Prompt  '\<Настройки линий'
		Define Bar  7   Of Popup_Station   Prompt  '\-'
		Define Bar  8   Of Popup_Station   Prompt  '\<Завершение работы'

		Acti Menu (oFrm.Name)  Nowait

		On Selection Bar  1    Of Popup_Station m.oFrm.OnRun()
		On Selection Bar  6    Of Popup_Station m.oFrm.RuleLine()
		On Selection Bar  8    Of Popup_Station m.oFrm.OnClose()
		On Selection Bar  9    Of Popup_Station m.oFrm.OnNastr()
		On Selection Bar  10   Of Popup_Station m.oFrm.OnUsers()
Enddefine 


В форме ( у нее обязательно долно быть WindowState=2) в методе Init делаешь так :

Код: plaintext
1.
2.
3.
 SET CLASSLIB [имя файла в котром у тебя описан класс cMenu ] additive

PUBLIC oFrm as Object
this.AddProperty("frm_menu",CREATEOBJECT("cMenu")) 

m.oFrm.OnRun() - а это вызов из меню метода формы в котором оно запущено.
ссылка на меню соответсвенно (this.frm_menu)

В принципе все.
...
Рейтинг: 0 / 0
Как на форму поместить строку меню?
    #32971037
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
luserОписываешь класс, примерно так.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
 Define Class cMenu As Custom
	Procedure Init
		Define Menu (m.oFrm.Name) In (m.oFrm.Name) Bar
		Define Pad Pad_Station Of (m.oFrm.Name) Prompt "\<Станция" Color Scheme  3 
		On Pad Pad_Station Of (m.oFrm.Name)  Activate Popup Popup_Station
		Define Popup Popup_Station Margin Relative Shadow Color Scheme  4 
		Define Bar  1   Of Popup_Station   Prompt  '\<Запуск станции'
		Define Bar  3   Of Popup_Station   Prompt  '\-'
		Define Bar  10  Of Popup_Station   Prompt  '\<Пользователи системы'
		Define Bar  9   Of Popup_Station   Prompt  '\<Системные настройки'
		Define Bar  6   Of Popup_Station   Prompt  '\<Настройки линий'
		Define Bar  7   Of Popup_Station   Prompt  '\-'
		Define Bar  8   Of Popup_Station   Prompt  '\<Завершение работы'

		Acti Menu (oFrm.Name)  Nowait

		On Selection Bar  1    Of Popup_Station m.oFrm.OnRun()
		On Selection Bar  6    Of Popup_Station m.oFrm.RuleLine()
		On Selection Bar  8    Of Popup_Station m.oFrm.OnClose()
		On Selection Bar  9    Of Popup_Station m.oFrm.OnNastr()
		On Selection Bar  10   Of Popup_Station m.oFrm.OnUsers()
Enddefine 


В форме ( у нее обязательно долно быть WindowState=2) в методе Init делаешь так :

Код: plaintext
1.
2.
3.
 SET CLASSLIB [имя файла в котром у тебя описан класс cMenu ] additive

PUBLIC oFrm as Object
this.AddProperty("frm_menu",CREATEOBJECT("cMenu")) 

m.oFrm.OnRun() - а это вызов из меню метода формы в котором оно запущено.
ссылка на меню соответсвенно (this.frm_menu)

В принципе все.

Биг респект!

А Как подменю реализовать ?
...
Рейтинг: 0 / 0
Как на форму поместить строку меню?
    #32971140
luser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот пример тебе, правда из другой программы, но смысл тот же.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
 define menu (oFRM.Name) in (oFRM.Name) bar
DEFINE PAD Main OF (oFRM.name) PROMPT 'Система' COLOR SCHEME  3     
ON PAD Main OF (oFRM.name) ACTIVATE POPUP SubPud
	DEFINE POPUP SubPud MARGIN RELATIVE COLOR SCHEME  7 
	DEFINE BAR  1  OF SubPud PROMPT '\<Клиенты'     
	ON BAR  1  OF SubPud ACTIVATE POPUP Acc
				DEFINE POPUP Acc MARGIN RELATIVE SHADOW COLOR SCHEME  4 
						DEFINE BAR  1   OF Acc PROMPT '\<Добавить'
						DEFINE BAR  3   OF Acc PROMPT '\<Удалить'
						
...........
...
Рейтинг: 0 / 0
Как на форму поместить строку меню?
    #32971299
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
luserВот пример тебе, правда из другой программы, но смысл тот же.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
 define menu (oFRM.Name) in (oFRM.Name) bar
DEFINE PAD Main OF (oFRM.name) PROMPT 'Система' COLOR SCHEME  3     
ON PAD Main OF (oFRM.name) ACTIVATE POPUP SubPud
	DEFINE POPUP SubPud MARGIN RELATIVE COLOR SCHEME  7 
	DEFINE BAR  1  OF SubPud PROMPT '\<Клиенты'     
	ON BAR  1  OF SubPud ACTIVATE POPUP Acc
				DEFINE POPUP Acc MARGIN RELATIVE SHADOW COLOR SCHEME  4 
						DEFINE BAR  1   OF Acc PROMPT '\<Добавить'
						DEFINE BAR  3   OF Acc PROMPT '\<Удалить'
						
...........


Спасибо.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как на форму поместить строку меню?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]