Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Графический прием вывода формы, как сделть?

4.3K
26 декабря 2004 года
BearSib
9 / / 01.12.2003
Кто стлкивался, поделитесь исходниками?

Нужно, чтобы окно программы при запуске выстраивалось по пикселам в случайном порядке. (из ничего, как мозаика появляется окно)
Можно еще какиенибудь интетесные приемы.
Буду очень признателен!
301
26 декабря 2004 года
lord Kelvin
897 / / 08.11.2004
Код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 HDC DC=GetDC(0);
 TCanvas *DCanvas = new TCanvas();
 Graphics::TBitmap *pBmp1 = new Graphics::TBitmap();
 DCanvas->Handle=DC;
 pBmp1->Width=Width;
 pBmp1->Height=Height;
 pBmp1->Canvas->CopyRect(TRect(0,0,Width,Height),DCanvas,TRect(Left,Top,Left+Width,Top+Height));
 Form1->Visible=false;
 for(int y=0;y<Height;y+=10)
 {
  Sleep(50);
  DCanvas->CopyRect(TRect(Left,Top,Left+Width,Top+y+10),pBmp1->Canvas,TRect(0,0,Width,y+10));
 }
 Form1->Visible=true;
 ReleaseDC(0,DC);
 delete DCanvas;
 delete pBmp1;
}

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

P.S. Мое личное мнение - программы, которые появляются подобным образом (клеточками рандомными ли, или еще как) есть программы стремные. Разрешай пользователю эту мутотень отменить. Вот.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог