powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Часто спрашивают - как удалить VFP ToolBars?
9 сообщений из 9, страница 1 из 1
Часто спрашивают - как удалить VFP ToolBars?
    #32721050
SergeyPl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот пример кода для выключения/включения фоксовских ToolBars:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
*
#DEFINE TB_FORMDESIGNER_LOC  "Form Designer"
#DEFINE TB_STANDARD_LOC      "Standard"
#DEFINE TB_LAYOUT_LOC        "Layout"
#DEFINE TB_QUERY_LOC		 "Query Designer"
#DEFINE TB_VIEWDESIGNER_LOC  "View Designer"
#DEFINE TB_COLORPALETTE_LOC  "Color Palette"
#DEFINE TB_FORMCONTROLS_LOC  "Form Controls"
#DEFINE TB_DATADESIGNER_LOC  "Database Designer"
#DEFINE TB_REPODESIGNER_LOC  "Report Designer"
#DEFINE TB_REPOCONTROLS_LOC  "Report Controls"
#DEFINE TB_PRINTPREVIEW_LOC  "Print Preview"
#DEFINE WIN_COMMAND_LOC		 "Command"			&& Command Window
*
function VisualFoxProToolBars
	lparameter logLocPrmToolBarsShow
	local intLocCount,arrLocVfpToolBars[ 12 , 2 ]
*
	arrLocVfpToolBars[ 1 , 1 ] = TB_FORMDESIGNER_LOC
	arrLocVfpToolBars[ 2 , 1 ] = TB_STANDARD_LOC
	arrLocVfpToolBars[ 2 , 2 ] = .T.
	arrLocVfpToolBars[ 3 , 1 ] = TB_LAYOUT_LOC
	arrLocVfpToolBars[ 4 , 1 ] = TB_QUERY_LOC
	arrLocVfpToolBars[ 5 , 1 ] = TB_VIEWDESIGNER_LOC
	arrLocVfpToolBars[ 6 , 1 ] = TB_COLORPALETTE_LOC
	arrLocVfpToolBars[ 7 , 1 ] = TB_FORMCONTROLS_LOC
	arrLocVfpToolBars[ 8 , 1 ] = TB_DATADESIGNER_LOC
	arrLocVfpToolBars[ 9 , 1 ] = TB_REPODESIGNER_LOC
	arrLocVfpToolBars[ 10 , 1 ] = TB_REPOCONTROLS_LOC
	arrLocVfpToolBars[ 11 , 1 ] = TB_PRINTPREVIEW_LOC
	arrLocVfpToolBars[ 12 , 1 ] = WIN_COMMAND_LOC
	arrLocVfpToolBars[ 12 , 2 ] = .T.
	if logLocPrmToolBarsShow
		for intLocCount =  1  to alen(arrLocVfpToolBars, 1 )
			if arrLocVfpToolBars[intLocCount, 2 ] .and. wexist(arrLocVfpToolBars[intLocCount, 1 ])
				show window (arrLocVfpToolBars[intLocCount, 1 ])
	  		endif
		endfor
	else
		if IsRunTimeVersion()	&& Äëÿ EXE ìîäóëÿ
			for intLocCount =  1  to alen(arrLocVfpToolBars,  1 )
				if wexist(arrLocVfpToolBars[intLocCount, 1 ])
					release window (arrLocVfpToolBars[intLocCount, 1 ])
				endif
			endfor
		else
			for intLocCount =  1  to alen(arrLocVfpToolBars,  1 )
				if wvisible(arrLocVfpToolBars[intLocCount, 1 ])
					hide window (arrLocVfpToolBars[intLocCount, 1 ])
				endif
			endfor
		endif
	endif
return
*
function IsRunTimeVersion
return iif(version( 2 ) =  0 ,.T.,.F.)
*
...
Рейтинг: 0 / 0
Часто спрашивают - как удалить VFP ToolBars?
    #32723366
akrisiun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
v: function IsRunTimeVersion
Код: plaintext
1.
return iif(version( 2 ) =  0 ,.T.,.F.)

replace with :

Код: plaintext
1.
return (version( 2 ) =  0 )
...
Рейтинг: 0 / 0
Часто спрашивают - как удалить VFP ToolBars?
    #32723389
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То, на что указал akrisiun - это вообще-то мелочь. Просто личные предпочтения программиста. Но есть более серьезные замечания:

1) В FoxPro существуют локализованные Run-Time библиотеки. Например, русскоязычные. Это значит, что в готовом EXE имена ToolBar могут быть переведены на русский язык и использование англоязычных названий не даст никакого эффекта. Просто не будут найдены соответствующие ToolBar

2) При восстановлении ToolBar Вы исходите из предположения, что восставновить надо только строго фиксированные ToolBar. Почему собственно? Логичнее было бы при закрытии запоминать список открытых ToolBar и затем именно их и восстанавливать

3) Строго говоря, все это совсем не нужно. Дело в том, что имя, размер и положение активных ToolBar запоминается в ресурсном файле FoxUser.dbf (fpt).

Поэтому для готового EXE все эти выкрутасы вообще не нужны, поскольку обычно никто не тянет клиенту тот FoxUser.dbf, который был на этапе разработки. Часто даже вообще отключают использование ресурсного файла, поскольку польза от него в готовом EXE весьма относительна.

Ну, а на этапе отладки можно использовать этот ресурсный файл, для получения списка ранее открытых ToolBar. Разумеется, перед подавлением ToolBar отключая ресурсный файл.
...
Рейтинг: 0 / 0
Часто спрашивают - как удалить VFP ToolBars?
    #32723814
SergeyPl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To All
Набросились :) Значит, это кому-то нужно :)
TO ВладимирМ
Я привел конкретное решение, которое устраивает нас.
Надеюсь, что программисты понимают,
что любое решение необходимо адаптировать под
конкретную разработку, окружение, настройки и т.д.
А вообще, именно в обсуждении и решаются конкретные
проблемы. Так что, всем искренне СПАСИБО !!!
...
Рейтинг: 0 / 0
Часто спрашивают - как удалить VFP ToolBars?
    #32723964
Фотография Анатолий Широков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 SergeyPl

Это же решение можно найти в Tastrade, с точностью до названий переменных - видимо, основа была взята оттуда или я ошибаюсь?
...
Рейтинг: 0 / 0
Часто спрашивают - как удалить VFP ToolBars?
    #32724092
SergeyPl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Анатолий Широков2 SergeyPl

Это же решение можно найти в Tastrade, с точностью до названий переменных - видимо, основа была взята оттуда или я ошибаюсь?
Конечно ! Но не все "хотят это найти" :)
...
Рейтинг: 0 / 0
Часто спрашивают - как удалить VFP ToolBars?
    #32725156
Dushes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот я тут подумал, а правильно ли я делал до сих пор....

Почему то никогда не возникало у меня желания использовать родное фоксовое окно в качестве каркаса своего приложения, т.е. есго системное меню, его панели инструментов... Всегда делал следующее: создавал родительскую форму AlwayOnTop, подвешивал на него свое меню, делал свои панели инструментов в нем, свой MDI, соответсвенно в *.prg делал чтото типа do form <main form> - clear events, в родительской форме в обработке destroy делал clear events ну и какбы не мучался.......Хочу спросить, может быть данный подход в чем-то неправилен скажем с точки использования ресурсов самого фокспро, или же я теряю какие-то преимущества .....
Вообщем, жду высказываний....

С уважением
duШes
....return ThisForm.exGrid1.p_oColumns("COLUMN1").M_AddHeader("header4",4)
...
Рейтинг: 0 / 0
Часто спрашивают - как удалить VFP ToolBars?
    #32725280
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делать приложение на базе As Top-Level форм никто не запрещает. Просто для этого требуется больше усилий. Больше придется программировать.

Честно-говоря, я не вижу в построении всего приложения на базе As Top-Level форм особого смысла.

Как элемент интерфейса, отдельные As Top-Level формы вполне на своем месте (например, для ввода пароля). Но если делать все приложение на базе As Top-Level форм, то это ведь по сути означает создание собственного _SCREEN-окна. А смысл? Ведь он и так уже есть. Исключительно вопрос личных предпочтений.
...
Рейтинг: 0 / 0
Часто спрашивают - как удалить VFP ToolBars?
    #32726522
SergeyPl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поддерживаю ВладимирМ.
Я у себя для EXE-приложения полностью использую возможности главного окна VFP и его системного меню. Оставляю нужные пункты типа File, Edit,Window с сохранением системных имен и добавляю свои пункты, где нужно.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Часто спрашивают - как удалить VFP ToolBars?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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