Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Опять этот REPORT... / 10 сообщений из 10, страница 1 из 1
08.02.2005, 20:16
    #32906960
StasX4
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять этот REPORT...
Всем привет!!!

Мучился несколько часов с максимизацией отчета при открытии...

Работает стабильно и хорошо только такой вариант:
1) В Data Environment, в конце обработки события INIT пишем:
DO ZoomReportWindow

2) Оформляем где-нибудь процедуру:
PROCEDURE ZoomReportWindow
IF WEXIST("Report Designer")
ZOOM WINDOW "Report Designer" MAX
ENDIF
IF WEXIST("Конструктор отчета")
ZOOM WINDOW "Конструктор отчета" MAX
ENDIF
ENDPROC

---------------
Готов ответить на вопросы почему только этот вариант...
---------------

Но и у самого есть вопрос. :(

Как можно поменять caption у отчета не используя дополнительных окон? Т.е. без всяких там define window и createobject("form")?

Заранее всем спасибо!!!
...
Рейтинг: 0 / 0
09.02.2005, 09:29
    #32907406
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять этот REPORT...
Можешь объяснить, чем не нравиться DEFINE WINDOW?

Объяснения типа "не нравиться и все" - не принимаются!
Объяснения типа "много объектов" - тоже несерьезно - нужен всего один дополнительный объект на все отчеты.
...
Рейтинг: 0 / 0
09.02.2005, 16:41
    #32908673
StasX4
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять этот REPORT...
2 ВладимирМ:

Define window и createobject("form") не канают по следующим причинам:

1) Если мы делаем zoom перед вызовом report from или после(в событии Init), то фактическое окно отчета разворачивается используя видимую область до появления самого отчета. В этом как раз и проблемма т.к. если окно "Preview Report"(там где кнопки перелистывания страниц отчета, печать и т.д.) будет установлено вверху(т.е. приклеено), то после формирования отчета фактическая область видимости уменьшится из-за неучитаного ранее окна "Preview Report" и нижний скроллинг отчета не будет виден.

2) Проблемму (1) можно попытаться решить создавая окно как дочернее desktop-a. Но вот тогда окно "Preview Report" останется на форме _screen. И как тогда листать? Придется очень хитрым способом уменьшить размеры отчета и перейти в окно навигации.

3) Проблемму (1) можно также попытаться решить используя в качестве окна MDI окно. На первый взгляд все шикарно. Но при попытки минимизировать окно эти кнопки(минимизации и закрытия) исчезают.

Возможно что-то упустил... Но мучился я долго...

Кстати, окна созданные через define window или createobject имели свойство перед вызовом report from -> Invisible. Я думаю, что так и надо т.к. если не делать этого вы знаете сколько в итоге окон получится.


Поправьте, если я не прав...
...
Рейтинг: 0 / 0
09.02.2005, 18:08
    #32908840
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять этот REPORT...
Не знаю как с Define window и createobject("form"), а завожу отдельный файл ресурса под проект, подключаю его и потом пользователю нужно только при первом старте максимизировать окно, это запомнится в фалй ресурса и далее будет окно превью будет принимать тот вид каким его закрыли последний раз, но может я не о том
...
Рейтинг: 0 / 0
09.02.2005, 18:31
    #32908901
stasX4
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять этот REPORT...
2 AleksMed

А если в следующий раз человек минимизирует окно?
Нужно в принудительном порядке разворачивать окно при запуске отчета.
...
Рейтинг: 0 / 0
09.02.2005, 19:11
    #32908984
Redrik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять этот REPORT...
stasX4А если в следующий раз человек минимизирует окно?
Как "минимизировал" пусть так и "максимизирует"! :-(
P.S. Сколько ж можно тупого юзверя терпеть! :-(
...
Рейтинг: 0 / 0
09.02.2005, 21:00
    #32909073
StasX4
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять этот REPORT...
Это все хорошо, но есть ли другие альтернативные работающие методы?

И во вторых по поводу второго вопроса:

Как можно поменять caption у отчета не используя дополнительных окон? Т.е. без всяких там define window и createobject("form")?

Заранее всем спасибо!!!
...
Рейтинг: 0 / 0
09.02.2005, 22:01
    #32909109
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять этот REPORT...
Не знаю, ты уже смотрел пример

http://www.foxclub.ru/sol/index.php?act=view&id=165

Если используется опция Window (не путать с IN WINDOW - у них разный смысл), то окно PreView открывается не в ранее определенном окне, а создается новое окно . Просто за образец принимаются настройки указанного окна.

Т.е. ты сначала разворачиваешь на весь экран свое окно, а потом, взяв его за образец, будет создано новое окно PreView. Поэтому я не понимаю, о каких областях видимости вообще идет речь.

В указанном примере есть решение по "фиксации" ToolBar, хотя и кривоватое. Дело в том, что размер, настройки и положение всех окон фиксируются в так называемом "ресурсном файле". По умолчанию, это файл FoxUser.dbf (fpt). В нем можно запретить редактирование отдельных записей и как следствие, при открытии определнного окна ToolBar будет всегда находится в одном и том же месте, как бы пользователь его ни перетаскивал. Правда, это решение "привязано" к фиксированному имени окна.

Как изменить имя окна открытого в стандартном окне PreView я не знаю. По крайней мере, средствами FoxPro. В том числе и для этой цели использовал опцию WINDOW.
...
Рейтинг: 0 / 0
10.02.2005, 17:44
    #32910745
StasX4
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять этот REPORT...
Изучил исходник...

В принципе там было то о чем я и говорил... :(

FAQ по отчетам -> Предварительный просмотр и печать -> Использование класса

1) При первом запуске окно с кнопками навигации приклеиваем к верхней части формы
2) Запускаем еще раз и видем что нижнего скролинга не видно!!!


Но совокупив несколько вариантов получил:

Добился нормального эффекта при использовании createobject(frmPreview) (в нем установил MDI в .t. т.к. это для меня было обязательным условием)

1) Вызывал функции ZoomReportWindow в событии Init Data Environment отчета для расскрытия
2) Вызывал функцию SetPosPreviewWindow в Title отчета в событии OnEntry
3) Я специально закомментировал вызовы dock т.к. они не прокатывают вообще. Вернее сказать в exe файле. В самом проекте это еще работает...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
FUNCTION ZoomReportWindow

IF WEXIST("Report Designer")
	ZOOM WINDOW "Report Designer" MAX
ENDIF

IF WEXIST("Конструктор отчетов")
	ZOOM WINDOW "Конструктор отчетов" MAX
ENDIF

ENDFUNC

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
FUNCTION SetPosPreviewWindow
IF WEXIST("Print Preview")
*	DOCK WINDOW "Print Preview" POSITION  0  Window "Report Designer"
*	DOCK WINDOW "Print Preview" POSITION  0 
	MOVE WINDOW "Print Preview" TO  0 , 0 
ENDIF

IF WEXIST("Предварительный просмотр")
*	DOCK WINDOW "Предварительный просмотр" POSITION  0  Window "Конструктор отчетов"
*	DOCK WINDOW "Предварительный просмотр" POSITION  0 
	MOVE WINDOW "Предварительный просмотр" TO  0 , 0 
ENDIF
ENDFUNC


------------

С ресурсами не стал связываться в связи идиотского их использования. Но вот если бы знать формат файла ресурсов, то все можно контролировать!!!
...
Рейтинг: 0 / 0
11.02.2005, 01:18
    #32911253
Igor Korolyov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять этот REPORT...
Hi StasX4!

Насчёт испольования файла ресурсов - оно вполне просто и тривиально - перед
показом отчёта вынимаешь "правильный" foxuser (ежели его нету), подключаешь
его и всё :) А чтоб там ничего не "испортилось" - так или постоянно доставай
"правильную" копию, или отметь там нужные записи флажком ReadOnly - формат
файла на уровне полей описан в хелпе. Вот бинарный формат собственно поля с
данными вроде нигде не описывался, но если очень надо, то проанализировать
его вполне можно - ничего экстраординарного там явно не будет...

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Опять этот REPORT... / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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