Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.10.2011, 21:52   #11
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А зачем так насиловать форму и пользователя? Есть PageControl и TabSheet
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 12.10.2011, 23:57   #12
igorium
 
Регистрация: 23.08.2011
Сообщений: 8
По умолчанию

У меня есть запасной вариант - сделать Имидж и на нем нарисовать все эти панели с содержимым, но я надеялся, что есть более простой и элегантный вариант.

Последний раз редактировалось mihali4; 21.10.2011 в 14:21.
igorium вне форума Ответить с цитированием
Старый 13.10.2011, 00:11   #13
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

Цитата:
Нет и нет.
Мне нужно именно так, и никак иначе
Обойти задачу не получится.
Аргументы? Или дело принципа?
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 13.10.2011, 09:14   #14
igorium
 
Регистрация: 23.08.2011
Сообщений: 8
По умолчанию

Я делаю программу по отрисовке дерева родственников.
Одна панель - один человек.
Соответственно, мне нужно, чтобы видны были все люди на форме.
Ну и главный результат программы - Jpeg-файл содержимого формы.
Вот с этим то и проблема пока...

Последний раз редактировалось mihali4; 21.10.2011 в 14:21.
igorium вне форума Ответить с цитированием
Старый 13.10.2011, 09:49   #15
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

TreeView для этого лучше всего подошло бы. Ну а результирующий файл в любом случае программно формировать, отображение содержимого формы не поможет

add

Я не совсем прав. Можно, как вариант, программно управлять скрулбарами и сделать несколько снимков формы, потом эти bmp объединить в один и преобразовать в jpeg, опять же все программным путем. Проще вариантов не придумал.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 13.10.2011 в 16:56.
Аватар вне форума Ответить с цитированием
Старый 14.10.2011, 18:25   #16
xrob
Форумчанин
 
Регистрация: 18.10.2010
Сообщений: 419
По умолчанию

ойойойой как некрасиво вы это делаете... это, конечно, имхо, но:
зачем форму то переснимать? что на ней такого уникального?
если у вас задача нарисовать генеалогическое дерево,
то это проще и правильнее сделать, рисуя битмап программно.
а главное - это будет красиво!
для этого даже не надо вдаваться в подробности и опускаться до ScanLine.

если делать так, то я бы реализовал вот что:

1. функция, которая создаст готовый битмап для одного отдельного человека.
т.е. нарисует рамку нужной длинны, напишет на ней имя человека.

2. функция, которая определит положение конкретного человека
на общем битмапе, исходя из его родственных связей.

3. ну а дальше пробегаемся по списку и рисуем каждого человека на своем месте,
сохраняем рисунок.

вот и все.
если интересно, могу объяснить подробнее.

Последний раз редактировалось xrob; 14.10.2011 в 18:27.
xrob вне форума Ответить с цитированием
Старый 14.10.2011, 18:35   #17
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,814
По умолчанию

А разрешение экрана поменять на бОльшее и потом принтскрин делать не получится? а потом автоматически менять разрешение экрана на прежнее.
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 14.10.2011, 23:55   #18
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

а зачем вообще prt sc?
Код:
with TBitmap.create do
  begin
    Assign(Form1.GetFormImage);
    SaveToFile('c:\form.bmp');
    Free;
  end;
ZuBy вне форума Ответить с цитированием
Старый 15.10.2011, 08:16   #19
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Задачка действительно интересная, но я бы решил её иначе.
Само дерево, отобразил во весь экран на TImage с массшабируемостью фотографий.
Если дерево очень большое, то просто квадратики с надписями сбоку (бабушка, дедушка, дядя, тётя...).
При наведении мышкой на соответствующий квадратик, он увеличивается до размеров фотографии. При щелчке - открывается фрейм (форма) с подробным описанием.
Вот, в принципе и всё.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 15.10.2011, 10:04   #20
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Smitt&Wesson +1
Есть одно внутреннее представление дерева. (надеюсь что у автора оно есть). И есть варианты его отображения.Например предложенные выше.
а можно еще так. Один большой Paintbox (очень большой на всю картинку которую так хочет автор). Его помещаем на маленький Scrollbox Рисуем ВСЕ что надо на Paintbox. Показываем по кусочкам в ScrollBox. Если очень надо сохраняем НЕ маленькую форму, а большую картинку с Paintbox.
если мы очень хотим получить большую картину, то ее надо:
1. рисовать не на экране, а в памяти. Tbitmap и другое умеющее хранить большие изображения
2. сохранять непосредственно ее, а не ее отображение на экране (не делать PrintScreen).
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 15.10.2011 в 10:10.
evg_m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как "повесить " передачу данных из формы на событие нажатия кнопки типа "button" ? vedro-compota JavaScript, Ajax 10 14.12.2010 21:05
Как обойти "преобразование типа из "string" в "float" невозможно" lexluter1988 Помощь студентам 1 07.08.2010 12:23
Как сделать кнопку "больше"-"меньше" Clericos HTML и CSS 8 30.09.2009 20:20
C++, препроцессор, как из "int" сделать "char"? Максай Помощь студентам 3 05.09.2008 08:16
сделать окно "открыть","сохранить как" blackstersl Общие вопросы Delphi 1 24.08.2008 10:31