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

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

Работает стабильно и хорошо только такой вариант:
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
Опять этот REPORT...
    #32907406
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можешь объяснить, чем не нравиться DEFINE WINDOW?

Объяснения типа "не нравиться и все" - не принимаются!
Объяснения типа "много объектов" - тоже несерьезно - нужен всего один дополнительный объект на все отчеты.
...
Рейтинг: 0 / 0
Опять этот REPORT...
    #32908673
StasX4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
Опять этот REPORT...
    #32908840
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знаю как с Define window и createobject("form"), а завожу отдельный файл ресурса под проект, подключаю его и потом пользователю нужно только при первом старте максимизировать окно, это запомнится в фалй ресурса и далее будет окно превью будет принимать тот вид каким его закрыли последний раз, но может я не о том
...
Рейтинг: 0 / 0
Опять этот REPORT...
    #32908901
stasX4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 AleksMed

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

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

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

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

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
Опять этот REPORT...
    #32910745
StasX4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Изучил исходник...

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

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
Опять этот REPORT...
    #32911253
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi StasX4!

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

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


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