![]() |
Модераторы: Akina |
![]() ![]() ![]() |
|
Baloo |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 26.9.2005 Репутация: нет Всего: нет |
всем привет!
Клиент захотел сделать доку для проги. В частности меня просит сохранить все формы (порядка 200:))) в виде картинок (JPEG, BMP ... формат особой роли не играет). Собстно можно придумать способ вызвать все формы автоматически (не заполняя их данными) - но как потом сделать автоматом что то вроде "ALT + PrintScreen" (сохранить активное окно), да сохранить его в файл. накопал вроде инфу, что можно создавать bitmap-ы самому и заполнять их с помощью функции BitBlt c параметром dwRop=SRCCOPY. Сам процесс еще не очень ясен, но наверно так: 1) есть MDI-формочка из которой я буду автоматом по очереди вызывать каждую форму 2) делать задержку и запускать процесс "Х", который будет "сохранять" активное окно 3) автоматом закрыть (разрушить) активное окно, чтобы можно было вызвать следущее помогите плиз со след: 1) по первому пункту вопросов нет 2) как запускать этот процесс "Х" - отдельной прогой или как то, тут же после загрузки формы; самое важное - увы не работал с BitBlt - т.е. дайте плиз пример 3) как разрушить окно - device context окна можно узнать вроде функцией GetDC? ![]() пасиба, за то что дочитали все это до конца ![]() и еще одно спасибо заранее - за совет как это все организовать, и за конкректную помощь кодом ![]() с уважением Baloo |
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 7 Всего: 186 |
Насчет принтскрина -- я когда-то пример давал. Как я помню, его просил Flotsky. Поищи как следует.
|
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
Можно воспользоваться Form.PrintForm. Решить вопрос печати в графический файл имхо не очень сложно - есть такие драйверы. Скажем вот этот.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 7 Всего: 186 |
Да принтскрин в сто раз проще ведь )
|
|||
|
||||
Baloo |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 26.9.2005 Репутация: нет Всего: нет |
заслать форму в файл, похоже действительно не проблема, но как насчет оставшихся вопросов:
2) как запускать этот процесс "Х" - отдельной прогой или как то, тут же после загрузки формы; 3) как разрушить окно - device context окна можно узнать вроде функцией GetDC? ![]() плиз, хэлп. |
|||
|
||||
Akina |
|
||||||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
Не как, а зачем... Unload. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||||
|
|||||||
Baloo |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 26.9.2005 Репутация: нет Всего: нет |
спасибо, Акина, за твой вариант
я еще не ставил FinePrint, но судя по описанию он не позволит автоматом сохранять на локалке каждую засланную картинку под нужным именем (а без этого никак - клиенту будет больно не удобно копаться в куче безымянных картинок) - хотя это явно менее хлопотный вариант, но если не найдется другого решения - будем делать через API. Exception, я нашел - за чем ты меня посылал ![]() З.Ы. как здорово, что парни наконец то сделали RSS - можно вести пашти онлайн беседы ![]() |
|||
|
||||
Baloo |
|
||||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 26.9.2005 Репутация: нет Всего: нет |
фактически тока сейчас взялся всерьез, и возник вопрос:
но коллекция Forms, как я понял, включает в себя только уже выведенные формы (т.е. к которым уже применен метод .Show). Как же перебрать все формы, которые имеются в проекте еще до их отображения? с уважением, Baloo Это сообщение отредактировал(а) Baloo - 17.1.2006, 15:39 |
||||
|
|||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
никак. однако я не вижу сложностей - отпарси файл проекта и собери имена всех форм. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Baloo |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 26.9.2005 Репутация: нет Всего: нет |
действительно, сам не додумался
![]() хотя если просто так, для расширения кругозора: если бы имена файлов с формами не совпадали бы с соответствующим Form.Name,то пришлось бы еще и сами файлы *.frm анализить и т.д. и т.п. явно кривой способ, неужто реально нет более красивого способа? хотя удивительно - у экземпляра проекта например Project1. после точки только список: форм, модулей и Main. Добавлено @ 16:27 и пардон, как отобразить форму ![]() пусть есть переменная strFormName = "Form1", я же не могу сказать Forms(strFormName).Load |
|||
|
||||
cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 19 Всего: 99 |
-------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
Красивый способ называется "прямое программирование". В смысле только как альтернатива кривому, а не что-то иное и великое. Именование форм обязано быть системным. Скажем давать им имена Form_xxxx (где хххх - порядковый номер), причем без пропусков, или иным способом поддерживать их список... если уж очень хочется давать им женские имена, то есть Tag, есть Caption... Кроме того, оно обязано быть документировано. То есть канву доки, которую ты сейчас со скрипом рожаешь, надо создавать параллельно с написанием самого приложения. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "VB6" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | VB6 | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |