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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.06.2009, 15:47   #1
mopmuk
Пользователь
 
Регистрация: 06.06.2009
Сообщений: 19
Радость Такой вот вопрос...

Всем доброго времени суток
Я, конечно, понимаю что таких вопросов как мой тут немало, но у меня не хватит временных ресурсов, чтобы осилить 400+ страниц для поиска нужной темы.
Вобщем, в чём состоит вопрос:
Имеется курсовая работа. Элементарная прога для создания растровых изображений. Функций минимум, всё каряво (прошу строго не придираться я программирую несколько месяцев).
Вся загвоздка в том, что пользователь программы должен иметь возможность изменять размеры холста.
В качестве холста используется PaintBox. При изменении Height и Width, размеры бокса меняются, но рисовать можно только в старой области.
Если кто-то понял в чём проблема, прошу мне объяснить.
Очень уж интересно над чем я бьюсь с самого утра.
Биг спс...


О_о омг...забыл. Делфи 7

Последний раз редактировалось mopmuk; 07.06.2009 в 15:55.
mopmuk вне форума Ответить с цитированием
Старый 07.06.2009, 15:49   #2
mopmuk
Пользователь
 
Регистрация: 06.06.2009
Сообщений: 19
По умолчанию

Да, вот еще исходники
Вложения
Тип файла: rar Курсовик 1.1.rar (191.1 Кб, 17 просмотров)
mopmuk вне форума Ответить с цитированием
Старый 07.06.2009, 18:33   #3
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Возможно дело в свойстве AutoSize... И вообще я бы рекомендовал Image, он более человечный что-ли.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 07.06.2009, 19:52   #4
mopmuk
Пользователь
 
Регистрация: 06.06.2009
Сообщений: 19
По умолчанию

Я не могу Имэйдж препод сказал Бокс и точка, и чтоб была возможность прокрутки и масштабирования Бокса.
Курсач готов уже, только эта лажа осталась
mopmuk вне форума Ответить с цитированием
Старый 07.06.2009, 20:09   #5
mopmuk
Пользователь
 
Регистрация: 06.06.2009
Сообщений: 19
По умолчанию

чёт я у пейнтбокса не нахожу автосай3(
mopmuk вне форума Ответить с цитированием
Старый 07.06.2009, 20:48   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

у него его и нет.
у меня при изменении размеров все работает отлично
вот примерчик(СкролБокс+ПейнтБокс)
Вложения
Тип файла: rar Новая папка (12).rar (167.8 Кб, 13 просмотров)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 07.06.2009, 21:32   #7
mopmuk
Пользователь
 
Регистрация: 06.06.2009
Сообщений: 19
По умолчанию

Попробовал из примера Феникса....аналогичная фигня как и была изначально по сути это просто 2 разных варианта изменения размера PaintBox'а. Но ошибка не в этом
mopmuk вне форума Ответить с цитированием
Старый 07.06.2009, 21:46   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а вы размер буфера то изменяете?
(где то же хранится все что нарисовано)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 07.06.2009, 22:48   #9
mopmuk
Пользователь
 
Регистрация: 06.06.2009
Сообщений: 19
По умолчанию

Да вот жеж) я только понял ГДЕ ошибка.
я задаю размеры PaintBox из эдитов, а потом уже эти размеры бокса присваиваю буферу.
ток у меня процедура FormCreate и размеры буфера изменяются 1 раз - при запуске программы (т.е. начальные размеры бокса присваиваются размерам буфера)
Я не знаю как сделать чтобы после запуска программы можно было их изменить. Точнее, представляю как, но для этого придется всё перекосячить.

По моему лучше будет отказаться от возможности изменять размеры холста, чем переписывать больше половины кода
mopmuk вне форума Ответить с цитированием
Старый 07.06.2009, 22:56   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

вы не поверите, но нужно написать всего 4 строчки(правда я чучуть повысил безоопасность проги)
Код:
  procedure TForm1.BtSizeClick(Sender: TObject);
    begin
      try
        w:=StrToInt(EdWidth.Text);
        PaintB.Width:=w;
        buffer.Width:=w;
        Img.Width:=w;
        except on EConvertError do
        ShowMessage('Ââîäèòå òîëüêî öèôðû!');
      end;
      try
        h:=StrToInt(EdHeight.Text);
        PaintB.Height:=h;
        Img.Height:=h;
        buffer.Height:=h;
        except on EConvertError do
        ShowMessage('Ââîäèòå òîëüêî öèôðû!');
      end;
    end;
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Интересует такой вопрос. Как создать круговую диаграмму в Дельфи Grisha248 Компоненты Delphi 6 26.05.2009 18:06
Вопрос. Можно ли сделать такой DLL ? randall Общие вопросы C/C++ 8 16.09.2008 09:18
Win или не Win, вот в чем вопрос. Sibedir Свободное общение 101 09.09.2008 20:03
У меня вопрос такой(Pascal) Дима82 Помощь студентам 5 26.05.2008 22:02
Есть или нет... вот в чём вопрос...))) ZhekON Общие вопросы Delphi 9 24.09.2007 20:33