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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.05.2008, 14:11   #1
UserOK
Пользователь
 
Аватар для UserOK
 
Регистрация: 12.05.2008
Сообщений: 12
Радость Вопрос по формам

В программе две формы, на первой элементы правления, вторая для графика, который строится исключительно по точкам (Form2.Canvas.Pixels).
Если они пересекаются на экране, то часть графика построенная точками и закрытая формой номер 1 стирается.
Как такого избежать? или может есть другие объекты кроме Canvas для графики?
#0777 - у тебя есть право делать все что угодно (:
UserOK вне форума Ответить с цитированием
Старый 13.05.2008, 14:17   #2
AlDelta
Реанимируюсь...
Участник клуба
 
Аватар для AlDelta
 
Регистрация: 19.07.2007
Сообщений: 1,445
По умолчанию

Oтрисовуй график в обработчике события OnPaint.
Тема обсуждалась - поиск по форуму.
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте.
Правила форума => Правила раздела => Для общего развития => Помощь студентам => Перед тем, как создавать тему, скачайте себе...
P.S.: форум не песочница (с)
название статьи на сайте MS: "Отмена принудительного отключения автоматического запуска в реестре Windows"
AlDelta вне форума Ответить с цитированием
Старый 13.05.2008, 20:49   #3
UserOK
Пользователь
 
Аватар для UserOK
 
Регистрация: 12.05.2008
Сообщений: 12
По умолчанию

если честно, то не понял как использовать inherited для того чтобы перекрыть onPaint, в сети не могу найти нормальных примеров. Есть простенькие примеры? спасибо)
#0777 - у тебя есть право делать все что угодно (:
UserOK вне форума Ответить с цитированием
Старый 13.05.2008, 20:53   #4
Dj_smart
Капсула от спама
Форумчанин
 
Аватар для Dj_smart
 
Регистрация: 04.03.2008
Сообщений: 779
По умолчанию

Попробуй натянуть рисунок на форму и рисовать на нём.
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг
Dj_smart вне форума Ответить с цитированием
Старый 13.05.2008, 21:04   #5
UserOK
Пользователь
 
Аватар для UserOK
 
Регистрация: 12.05.2008
Сообщений: 12
По умолчанию

Dj_smart, спасибо, при рисунке не стирается =) тема закрыта, но про inherited интресно) не в тыкаю что-то)
синтаксис какой?
inherited событие
begin
end;
так?
#0777 - у тебя есть право делать все что угодно (:
UserOK вне форума Ответить с цитированием
Старый 13.05.2008, 21:16   #6
Dj_smart
Капсула от спама
Форумчанин
 
Аватар для Dj_smart
 
Регистрация: 04.03.2008
Сообщений: 779
По умолчанию

Вот из DelphiX:
Код:
procedure TRocket.DoMove (MoveCount : Integer);
begin
  inherited DoMove (MoveCount);
  angle:=angle+1; // прибавить угол
  if x>2000 then dead; // если... то
  // и дальше любой код
end;
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг
Dj_smart вне форума Ответить с цитированием
Старый 13.05.2008, 21:25   #7
Jeni
Форумчанин
 
Регистрация: 31.05.2007
Сообщений: 486
По умолчанию

Цитата:
Сообщение от UserOK Посмотреть сообщение
если честно, то не понял как использовать inherited для того чтобы перекрыть onPaint
Никакой вызов методов-предков в данном случае и не требуется. Просто в обработчике OnPaint нужно рисовать то, что должно отображаться на форме. Вот пример рисования красного эллипса на желтом фоне:
Код:
procedure TForm2.FormPaint(Sender: TObject);
begin
  Canvas.Brush.Color := clYellow;
  Canvas.FillRect(Form2.ClientRect);

  Canvas.Pen.Color := clRed;
  Canvas.Pen.Width := 5;
  Canvas.Ellipse(Form2.ClientRect);
end;
P.S. Если у формы будут изменяться размеры, то нужно обрабатывать еще и событие формы OnResize - выполнять в обработчике рисование.

Последний раз редактировалось Jeni; 13.05.2008 в 21:27.
Jeni вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос наверное про функции, а так точно даже не знаю про что. (Вопрос начинющего #6) Albert2008 Общие вопросы Delphi 4 21.08.2008 15:33
вопрос по сокетам и общение как в ICQ.Сложный вопрос... Руслантус Общие вопросы C/C++ 2 12.08.2008 21:10
Вопрос о dll Altera Общие вопросы Delphi 9 26.04.2008 06:55
Нужен совет по формам Михаил Юрьевич Общие вопросы Delphi 6 09.02.2008 15:30
Вопрос по VS C++ Arthur Общие вопросы C/C++ 2 19.01.2008 18:34