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

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

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.03.2013, 20:01   #1
Petyu
Пользователь
 
Регистрация: 04.12.2012
Сообщений: 23
По умолчанию Мерцание графики

народ подскажите как убрать мерцание флрмы при работе данной программы
Код:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{

}
//---------------------------------------------------------------------------

void __fastcall TForm1::SpeedButton1Click(TObject *Sender)
{
Timer1->Enabled=true;
Timer2->Enabled=true;

}
//---------------------------------------------------------------------------

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
int x=PaintBox1->Left;
x=x-1;
PaintBox1->Left=x;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer2Timer(TObject *Sender)
{
Canvas->Pen->Color=clBlue;
Canvas->Brush->Color=clBlue;
Canvas->Rectangle(0,0,500,300);
Canvas->Pen->Color=clGreen;
Canvas->Brush->Color=clGreen;
Canvas->Rectangle(0,350,1500,1300);
Canvas->Pen->Color=clYellow;
Canvas->Brush->Color=clYellow;
Canvas->Ellipse(0,0,90,90);

Canvas->Pen->Color=clWhite;
Canvas->Brush->Color=clWhite;

Canvas->Ellipse(125,35,225,105);
Canvas->Ellipse(200,55,290,105);
Canvas->Ellipse(285,55,355,102);
Canvas->Ellipse(485,55,590,100);


PaintBox1->Canvas->Pen->Width=2;
PaintBox1->Canvas->MoveTo(50,80);
PaintBox1->Canvas->LineTo(120,50);
PaintBox1->Canvas->LineTo(130,50);
PaintBox1->Canvas->LineTo(90,90);
PaintBox1->Canvas->LineTo(100,130);
PaintBox1->Canvas->LineTo(90,140);
PaintBox1->Canvas->LineTo(50,80);
PaintBox1->Canvas->LineTo(150,100);



}
//---------------------------------------------------------------------------
Petyu вне форума Ответить с цитированием
Старый 20.03.2013, 21:15   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Описать это в OnPaint, таймер выкинуть.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.03.2013, 13:08   #3
FataLL
Форумчанин
 
Аватар для FataLL
 
Регистрация: 29.01.2013
Сообщений: 319
По умолчанию

И лучше на канве формы не рисовать, а на пейнтбоксе во всю форму...
FataLL вне форума Ответить с цитированием
Старый 21.03.2013, 17:29   #4
Petyu
Пользователь
 
Регистрация: 04.12.2012
Сообщений: 23
По умолчанию

Цитата:
Сообщение от FataLL Посмотреть сообщение
И лучше на канве формы не рисовать, а на пейнтбоксе во всю форму...
тоесть мне два паинт бокса нужно сделать???
Petyu вне форума Ответить с цитированием
Старый 22.03.2013, 10:27   #5
FataLL
Форумчанин
 
Аватар для FataLL
 
Регистрация: 29.01.2013
Сообщений: 319
По умолчанию

Petyu
Ну, вообщем, идея была такая. Но, чтоб прям совсем не мерцало, вряд ли получится.
FataLL вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Мерцание ZBEP Общие вопросы Delphi 3 09.04.2011 15:14
Мерцание OpenGL saggy Мультимедиа в Delphi 13 02.07.2010 12:00
Мерцание vladi Microsoft Office Excel 0 03.06.2009 17:42
мерцание shad0w Общие вопросы C/C++ 3 11.12.2007 12:31