Brak koloru TPanel

0

Hejka!

Mam dość dziwny problem: Otóz na moim komputerze nie widzę koloru panelu. W IDE jest wszystko ok, ale jak już skompliuje program, to kolor znika i panel przejmuje kolor formy. Na innym kompie z tym samym Delphi (7 pro) jest już ok. Jaka może być tego przyczyna??

Pozdrawiam, Kubryk

0

Witam.
Najprawdopodobniej na formie znajduje się komponent XPManifest odpowiedzialny za zmianę interfejsu aplikacji pod Windows XP.
Usuniecie samego komponentu z formy nie daje oczekiwanego efektu, należy usunąć słowo XPMan z kodu źródłowego:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, XPMan;

?


Promar Support
www.promar.prv.pl
[email protected]

0

Hej!!

Oczywiście, że się znajduje, jednak on ma się tam właśnie znajdować.... ;)
Wcześniej ten sam program pisany na moim komputerze dzialal dobrze. A teraz zniknal kolor panelu. A jesli dodam na formie nowy panel, tez przejmuje kolor formy.
A windowsa mam XP.

Pozdrawiam, Kubryk

0

Witam.
Najprostszym rozwiązaniem będzie zaraz po dodaniu komponentu TPanel (Panel1) umieścić w nim TImage (Image1) oraz w zdarzeniu OnShow nadać obrazkowi kolor pobrany z komponentu Panel1.

Kod procedury OnShow:

<code>procedure TForm1.FormShow(Sender: TObject);
var
  Bitmap : TBitmap;
  R : TRect;
begin
  Bitmap := TBitmap.Create;
  Bitmap.Width := 1;
  Bitmap.Height := 1;
  R := Rect(0, 0, Panel1.Width, Panel1.Height);

  Bitmap.Canvas.Pixels[0,0] := Panel1.Color;
  Image1.Canvas.StretchDraw(R, Bitmap);
  Bitmap.Free;
end;


___________________________
Promar Support
www.promar.prv.pl
[email protected]
0

Hej!

Nie do końca się zrozumieliśmy.... ;)

Ten program dzialal na moim komputerze, a pewnego dnia przestal. Jak uruchomie ten skompilowany wczesniej, mam kolorowy panel. Ale jak kompiluje teraz, to przejmuje kolor formy. Od czasu kiedy ostatnio dzialal nie zmienialem nic w opcjach kompilatora, a rzeczy, które dopisałem do programu nie mają nic wspólnego z panelem. I chciałbym wiedzieć, czemu przestał działać... :)

Pozdrawiam, Kubryk

0

Witam.
Nie jest to wina kompilatora czy jego ustawień. Winny jest komponent XPManifest, w który najprawdopodobniej zakradł się błąd przy jego tworzeniu. Niestety nie spotkaliśmy się z programem napisanym w Delphi 7 zawierającym interfejs XP, w którym można było ustawić kolor panelu.


Promar Support
www.promar.prv.pl
[email protected]

0

Hej!

Kurcze faktycznie! Na drugim komputerze tez mam WinXP, ale ma wylaczone bajery i nie zauwazylem, ze nie bylo XPManifest. Jak go wyrzuciłem to jest wszystko ok!

Macie w takim razie jakis pomysl co z tym zrobić? Bo z XPManifest, to ładnie to wygląda... tylko te cholerne kolory!

Pozdrawiam, Kubryk

0

Hej!

Chyba udało mi się rozwiązać problem!!

Panel1.ControlStyle := Panel1.ControlStyle - [csParentBackground];
I wszystko działa. Niestety za każdym razek, kiedy coś przerysowuje trzeba to wykonać... ;) No cóż! Microsoft wmieszał się w Delphi -> widać chcieli pomóc... ;p

Pozdrawiam, Kubryk

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