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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.04.2010, 22:13   #1
rubik
Пользователь
 
Регистрация: 19.09.2009
Сообщений: 20
По умолчанию Отменить предыдущее действие на канве

На канве рисую по заданным параметрам рисунок, потом другой и т.д. Как сделать отмену рисования предыдущего рисунка (наподобе ctrl + Z ).
rubik вне форума Ответить с цитированием
Старый 19.04.2010, 22:39   #2
bitSoft
Programming...
Форумчанин
 
Аватар для bitSoft
 
Регистрация: 13.03.2010
Сообщений: 198
По умолчанию

zdelaieshi v buffer, naprimer

Код:
type 
  TUndo = Record
   CanvasPos ....// 
   ..................//  zdesi budet info dlya tavo chevo ti resueshi
  end;

{.....}

var
 UndoBuf : TUndo;

{.....}
kogda resueshi vsegda vstavishi v buffer parametri catorie tebe nujno, nu naprimer koordinati, X,Y, Color... i tak dale, i kogda hocheshi zdelati предыдущее действие , to narisui v Canvase to shto esti u tebya v buffeere, esli hocheshi zdelati po bolysha предыдущее действие to tak

Код:
var
 UndoBuf :array[0..100] of  TUndo;
//naprimer budet 100 figur canvasa.

Nadeiusi ponel, i izvinite za moi EN-RU
Код:
With TProgrammersForum.Create do  AddNewTopic('Title','Content...');
bitSoft вне форума Ответить с цитированием
Старый 19.04.2010, 22:41   #3
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

После изменения рисунка копируй его в TBitmap, а потом если что просто
TBitmap выводи на канву!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 19.04.2010, 22:45   #4
rubik
Пользователь
 
Регистрация: 19.09.2009
Сообщений: 20
По умолчанию

Цитата:
Сообщение от Hacker19_90 Посмотреть сообщение
После изменения рисунка копируй его в TBitmap, а потом если что просто
TBitmap выводи на канву!
Можно по подробнее, а то я не силен в этом деле. Заранее Спасибо))).
rubik вне форума Ответить с цитированием
Старый 19.04.2010, 22:52   #5
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Ну это что вроде:
Обьявляешь:
Bmp: TBitmap;

где - то
Bmp.Create;

Нарисовал что - то, потом перед тем как рисовать
Bmp.Assign(Image1.Picture);
Всё считай сохранил.

Ну а если отменять, то рисуй предыдущую копию рисунка
Image1.Canvas.Draw(0,0, Bmp);
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
max за предыдущее количество значений PARTOS Microsoft Office Excel 10 18.11.2009 17:18
Как отменить процедуру? KoBRaAndrey Общие вопросы Delphi 5 05.10.2009 11:12
как найти предыдущее зачение demonic Microsoft Office Access 6 09.02.2009 17:37
запомнить предыдущее значение StasSv Microsoft Office Excel 1 10.11.2008 08:47
Предыдущее активное окно martinz Win Api 3 25.11.2007 15:02