Ovde mi nesto nije jasno:
Bojenje ekrana (Desktop-a) + Windows program
...takve stvari su mozda bile aktuelne za DOS programe, ali kada se radi o
Windows-ima, 'nekulturno' je dirati sve sto nije 'tvoje', tj izlaziti van svog glavnog
prozora.
Takodje, cak i kada bi obojio Desktop, to bi bilo validno sve do prvog Refresha
bilo kog od dotanutih prozora (ili Win+D za sve), jer Windows tako funkcionise.
Doduse tako nesto je moguce, ali je krajnje atipicno. Kod Borland C++ Builder-a,
da pristupis Desktop povrsini mozes otprilike ovako:
Code:
// Ovde, u konstruktoru, sa GetDC(0), pridruzujes Desktop Canvas-u
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
tcScreen = new TCanvas;
tcScreen->Handle = GetDC(0);
randomize();
}
// Ovde, prethodno treba dodati TTimer komponentu i podesiti interval na 1 sec, npr
// i dodati na primer ovaj kod u OnTimer() dogadjaj. Crta pravougaonike raznih
// boja i vrsta linija. Slicno je i za Highlighting... postoji poseban MOD za to
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
x = random(Screen->Width - 10);
y = random(Screen->Height - 10);
tcScreen->Pen->Color = (Graphics::TColor) random(65535);
switch (random(5))
{
case 0: tcScreen->Pen->Style = psSolid; break;
case 1: tcScreen->Pen->Style = psDash; break;
case 2: tcScreen->Pen->Style = psDot; break;
case 3: tcScreen->Pen->Style = psDashDot; break;
case 4: tcScreen->Pen->Style = psDashDotDot; break;
}
tcScreen->Rectangle(x, y, x + random(400), y + random(400));
}