Zamalowanie ekranu ;)

0

Jak zamalowac ekran np. na czarno i zeby moja aplikacja byla nad tym 'zamalowanym' ekranem?? :&lt

Dzieki! [cfaniak]

0

Podaję rozwiązanie brutalne:
Odpal funkcję Rysuj()
Na uczelni usuneli Buildery i nie mogłem sprawdzić, czy to działa, ale powinno...

*---------------------------------------------------------------------------
TCanvas *Can;
---------------------------------------------------------------------------
__fastcall TForm1::TFMalowanie(TComponent
Owner)
: TForm(Owner)
{Can = new TCanvas;
}
*---------------------------------------------------------------------------
bool __stdcall CallBackWinFunc(HWND hwnd, LPARAM lParam)
{if (IsWindowVisible(hwnd) && hwnd!=Handle) *drugi warunek, aby nie zamalować swojej aplikacji
EnumChildWindows(hwnd, (WNDENUMPROC)CallBackChildFunc,1);
return true;
}
*---------------------------------------------------------------------------
bool __stdcall CallBackChildFunc(HWND hwnd, LPARAM lParam)
{RECT polozenie;
GetWindowRect(hwnd, &polozenie);
Can-&gtHandle = GetDC(hwnd);
Can-&gtPen-&gtColor = clBlack;
Can-&gtBrush-&gtColor = clBlack;
Can-&gtRectangle(0, 0, polozenie.right, polozenie.bottom);
return true;
}
*---------------------------------------------------------------------------
void __fastcall TForm1::FormDestroy(TObject *Sender)
{delete Can;}
*---------------------------------------------------------------------------
void __fastcall TForm1::Rysuj()
{EnumWindows((WNDENUMPROC)CallBackWinFunc,1);
}
*---------------------------------------------------------------------------
--"Imagination is more important than knowledge." - A. Einstein

0

A jak to musi wygladac w Delphi? [???]

Sorry ze od razu nie mowilem ze chodzi o [Delphi] :-/

0

Może zadziałałoby coś takiego:

var
can:tcanvas;

can:=tcanvas.create;
can.handle:=getwindowdc(getdesktopwindow);
can.rectangle(0, 0, screen.width, screen.height);
paint;

Delphi 6

Pozdrówka

1 użytkowników online, w tym zalogowanych: 0, gości: 1