Rysowanie po panelach (cały system)

0

Cześć [green]
Chciałbym zrobić taką prostą skórkę na cały system.
Na razie chcę przetestować tylko zmianę koloru paneli, i prosiłbym o jakieś dobre rady.
Przykładowo zrobiłbym to w pętli , jak poniżej (przykład dla formy) -
ale jak się dobrać dla całego systemu ?
Domniemam że uchwyty ale.... jak zacząć ? :|

PROCEDURE UstawKolory;
var
x :Integer;
Begin
 for x:= 0 to Form1.ComponentCount-1 do
 begin
   if (Form1.Components[x] is TPanel) then
   begin
       TPanel(Form1.Components[x]).Color:= clBlue;
      //i tu jeszce coś czyli cdn...
    end;
 end;
End; 
0

Prosciej będzie poszukać na msdn funkcji które robią to "oddolnie", bo tym sposobem wiele nie zdziałasz (np. co będzie jeżeli inny program ma ustawiony swój charakterystyczny kolor, a ty go zamalujesz swoim ?).

0

no to jeszcze z innej beczki zacznę

tak poniżej dla przykładu:

procedure TForm1.Timer1Timer(Sender: TObject);
var
 H    :HWND;
 Text :string;
Begin
 H:= WindowFromPoint(Mouse.CursorPos);
 Text:= 'dupa Jasiu i kurzejki';
 SendMessage(H,WM_SetText,0,LongInt(Text));
End;

ta powyższa procedurka zmienia napisy na belce okna przy pomocy myszki,
więc jak to zrobić by "pojechać" po oknach w pętli - nie wykorzystując myszki ?
jeśli to wypali ... to i wypali zmiana koloru paneli w różnych oknach.

0

FindWindow(Ex) i pochodne, w ogole poszukaj po MSDNie

ps. jak to bedzie w timerze ... to powodzenia z tymi skorkami :D

0

hehe ;) wiem że nie przez timer , w najgorszym przypadku poprzez wątki -
a tak fachowo poprzez przechwytywanie komunikatów odnośnie rysowania.
Zapodałem powyższe przykłady tak dla jasności.
Właśnie studiuje pewien kod odnośnie skórki i zabłysneło mi w głowie - co by było jakby go zmodyfikować o skórkę dla całego systemu.
Chociaż w tym kodzie natrafiłem na jeden poważny błąd i prosiłbym gorąco o pomoc.
Otóż komponent ten pięknie rysuje skórki - wszystko jest dobrze jeśli chodzi pod Win98, ale gdy program uruchomię pod Win XP, to XP przemalowuje pewne elementy na swój wygląd. Psując tym sposobem cały wygląd (np. zakładki TNoteBook)
A dzieje się to gdy mam wkomilowany w kod progsa manifest XP.
Nie chcę się pozbywać tego manifestu ponieważ chcę dać użytkownikowi możliwość
zdjęcia skórki i wygląd okna ... taki na jakim systemie uruchomiono progsa (98/XP)
W związku z tym mam pytanie - Jak zablokować rysowanie na komponentach w moim progsie, poprzez inne programy do nakładania skór , jak i również XP (bo to też przecież skórka na windozie)
Czy jest jakaś instrukcja ? lub cosik podobnego ?

0

Wylacz usluge themes czy jak mu tam.

0
Wolverine napisał(a)

Wylacz usluge themes czy jak mu tam.

Rozumiem że mam wyłączyć zmiane skórki dla mojego progsa , w opcjach programu (np. opcja w programie WindowBlinds który rysuje skóry).
Ale mnie chodzi żebym to mógł z poziomu mojego progsa robić.

Jeśli źle zrozumiałem i masz na myśli że właśnie te wyłączanie dotyczy możliwości
z poziomu mojego progsa - no to ja nie wiem gdzie to sie wyłącza ;)

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