AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Bug? Transparentes Form mit Parent geht nicht

Ein Thema von Henryk · begonnen am 9. Dez 2006 · letzter Beitrag vom 10. Dez 2006
Antwort Antwort
Henryk

Registriert seit: 8. Jan 2003
27 Beiträge
 
#1

Bug? Transparentes Form mit Parent geht nicht

  Alt 9. Dez 2006, 21:37
Ich dreh hier noch durch...

Geht folgendes nur bei mir nicht?

- Applikation mit Hauptfenster und ClientArea bauen.
- Ein 2. Form erstellen
- Color := clBtnFace
- TransparentColorValue := clWhite
- TransparentColor := True
- Mittig ein Panel auf das Form und Color := clWhite

Nun sollte man ein Form haben, mit einem "Loch" in der Mitte, da das Panel ja die Transparenzfarbe hat.

Jetzt ruf ich in meinem MainForm auf irgendein Button-Event die folgenden Zeilen auf:

Form1 := TForm1.Create(self);
Form1.Visible := True;

Juchu, mein Form mit dem Loch erscheint.

Ich will aber, dass sich mein Form nur im Client-Bereich meines Hauptfensters bewegen lässt:

Form1 := TForm1.Create(self);
Form1.Parent := self;
Form1.Visible := True;

Die Transparenz ist weg.

Wieso das denn?

Hab schon diverse andere Sachen probiert:

Form1 := TForm1.CreateParented(Self.WindowHandle);
Form1.Visible := True;

oder

Form1 := TForm1.Create(self);
Form1.Visible := True;
Form1.Parent := self;

Geht alles nicht. Was ist das wieder für ne Delphi-Macke? Wieso geht mir das immer so? Das Delphi Zeugs geht flüssig von der Hand. Aber dann kommen so sinnlose Kleinigkeiten und ...

Henryk
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#2

Re: Bug? Transparentes Form mit Parent geht nicht

  Alt 9. Dez 2006, 21:46
das ist (denk ich) bei jedem so. da kann Delphi nix für, das liegt an Windoof...
  Mit Zitat antworten Zitat
Hagbart

Registriert seit: 9. Dez 2006
Ort: Alsfeld
35 Beiträge
 
Delphi 7 Personal
 
#3

Re: Bug? Transparentes Form mit Parent geht nicht

  Alt 9. Dez 2006, 22:06
Könntest du bitte mal den Quellcode reinstellen, dann kann man das Problem besser erkennen.

Aber ich glaube ich weiss was du meinst, ich habe eben eine Form erstellt mit einem Button drauf, wenn man auf den klickt öffnet sich die zweite Form wo in der mitte ein Panel ist, das Panel ist weiss und ich habe Transparent Color auf Weiss und Transparent ist true, wenn ich jetzt die zweite Form über die erste Lege sieht es so aus als ob das Loch weg wäre.
Das stimmt aber nicht, man sieht die erste Form durch das Panel durch, also ist die Transparenz noch da, du kannst der ersten Form ja mal eine andere Farbe als der zweiten geben, ich glaube dann wirst du sehen was ich meine.
  Mit Zitat antworten Zitat
Henryk

Registriert seit: 8. Jan 2003
27 Beiträge
 
#4

Re: Bug? Transparentes Form mit Parent geht nicht

  Alt 9. Dez 2006, 22:11
Hallo Hagbart,

Beispiel kann nich morgen geben. Hab heut die Schn*** voll.

Du bist aber schon auf dem richtigen Weg. Ich hab im MainForm noch ein Hintergrundbild, also seh ich genau, ob das "Loch" da ist oder nicht. Es ist erst ganz normal da.

Nur eben nicht mehr, sowie ich das Parent des Fensters setze. Dann ist die Transparenz weg...


Henryk
  Mit Zitat antworten Zitat
Henryk

Registriert seit: 8. Jan 2003
27 Beiträge
 
#5

Re: Bug? Transparentes Form mit Parent geht nicht

  Alt 9. Dez 2006, 22:17
Achso, ich hab XP und ne Applikation mit einem XPManifest. Das XP-Manifest hatte schon ein paar lustige Effekte (Schriftfarbe von Radiobutton-Labels wird ignoriert, Farbsprünge beim Scrollen eines ScrollWindow etc.)

Vielleicht isses hier auch wieder schuld?

Hab mal die MSDN zu Layered Windows quergelesen. Da stand erstmal nix, das ein Child-Window keine Transparenz haben kann.

So long...
  Mit Zitat antworten Zitat
Hagbart

Registriert seit: 9. Dez 2006
Ort: Alsfeld
35 Beiträge
 
Delphi 7 Personal
 
#6

Re: Bug? Transparentes Form mit Parent geht nicht

  Alt 9. Dez 2006, 22:44
Das mit dem XPMainfest könnte durchaus sein, ich habe es nähmlich mit Delphi7 ausprobiert und Manifest nicht miteingebunden
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Bug? Transparentes Form mit Parent geht nicht

  Alt 9. Dez 2006, 23:07
dsa hat mit Manifest etc. nix zu tun. LayerAttributes können nur für TopLevelfenster gesetzt werden (siehe MSDN)
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Henryk

Registriert seit: 8. Jan 2003
27 Beiträge
 
#8

Re: Bug? Transparentes Form mit Parent geht nicht

  Alt 10. Dez 2006, 00:14
Hallo Sir Thornberry,

das ist doch mal ne Aussage. Warum schreiben die Herren von Microsoft das aber nicht in die Hilfe zu SetLayeredWindowAttributes. Nee, nee ...

Aber gut zu wissen, da brauch ich hier nicht weiter rumzukrampfen.

Wollte in meiner Anwendung dem Nutzer erlauben, eigene Notizen auf dem Clientbereich zu hinterlegen und hatte dafür ein Fenster mit nem ListView + ner temporär eingeblendeten Eingabezeile vorgesehen. Das ganze sollte natürlich nicht das Hintergrundbild überdecken, sondern nur die Einträge sichtbar sein. Mit ner transparenten Form sah das so aus, als ob man den Effekt mit ein paar Einstellungen erreichen könnte, ohne sich mit CustomDraws etc. rumzuärgern.

Naja, muss Plan B her...

Danke

Henryk
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz