Jak zamalowac ekran np. na czarno i zeby moja aplikacja byla nad tym 'zamalowanym' ekranem?? :<
Dzieki! [cfaniak]
Jak zamalowac ekran np. na czarno i zeby moja aplikacja byla nad tym 'zamalowanym' ekranem?? :<
Dzieki! [cfaniak]
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->Handle = GetDC(hwnd);
Can->Pen->Color = clBlack;
Can->Brush->Color = clBlack;
Can->Rectangle(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
A jak to musi wygladac w Delphi? [???]
Sorry ze od razu nie mowilem ze chodzi o [Delphi] :-/
Może zadziałałoby coś takiego:
var
can:tcanvas;
Pozdrówka