AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Keine Handles?

Ein Thema von Rastaman · begonnen am 19. Okt 2005 · letzter Beitrag vom 19. Okt 2005
Antwort Antwort
Seite 2 von 2     12
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#11

Re: Keine Handles?

  Alt 19. Okt 2005, 18:43
Finde ich seltsam.. Nur durch eine einzelne Eigenschaft, einen einzigen Zahlenwert, wird ein Control fast un-transparent/alpha-bar (Wort von mir grad erfunden ^^) ?
Ich versteh den Zusammenhang von Handle und Transparenz nicht...

Obwohl hat das vielleicht damit was zu tun, dass Windows die Controls mit Handle dauernd neuzeichnet und die ohne Handle nur bei Bedarf ? Also nur wenn grade z.B

Labelx.Caption := 'blabla'; ausgeführt wird ?
Michael
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#12

Re: Keine Handles?

  Alt 19. Okt 2005, 18:48
Das liegt daran, dass Delphi es eben selber zeichnet und eben nicht Windows, wie es bei Windows Controls der Fall ist.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#13

Re: Keine Handles?

  Alt 19. Okt 2005, 18:50
ok. Dann lag ich ja faast richtig
Michael
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

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

Re: Keine Handles?

  Alt 19. Okt 2005, 18:55
@Neutral General: Unter Windows hat jedes Control eignetlich ein Handle. Dadurch ist aber sowas wie Alpha nur schwer zu handeln. Unter Delphi ist es nun so gelöst das es eine art virtuelle Fenster gibt (die Controls ohne Handle) und diese tragen sich beim Parent (ein Fenster mit Handle) in eine Liste ein. Wenn jetzt der Parent (mit Handle) neu gemalt wird (durch windowmessages) so ruft der Parent nachdem er sein Bild auf seine Canvas gemalt hat die PaintMethode der virtuellen Fenster auf und stellt dabei den virtuellen Fenstern seine Canvas zur Verfügung. Da der Parent sein Bild ja schon gemalt hat können die anderen virtuellen Fenster schon das gezeichnete von der Parentcanvas abfragen und somit Transparenz erzielen. Wenn du jetzt von einem virtuellen Fenster Repaint aufrufst wird intern das Repaint des Parents aufgerufen so das dieser sich wieder zuerst malen kann. Da diese virutellen Fenster aber kein eigenes Handle haben und auch keine Canvas können diese Fenster auch keine Childs aufnehmen (also können virtuelle Fenster nie als Parent angegeben werden).

Oftmals fragen auch Leute nach, warum ein TImage zum Beispiel nicht über einem Memo liegen kann. Das liegt auch daran das ein TImage kein Handle hat und sich somit auf die Canvas des Parents malt.
Wenn also auf einem Form ein TImage liegt und ein TMemo so malt sich das TImage auf die Canvas des Forms. Da das TMemo aber auch auf dem TForm liegt und eine eigene Canvas hat liegt es immer vor dem TImage.
(Man kann sich eine Canvas als Blatt Papier vorstellen, und wenn das Blatt Papier vom Memo auf(über) dem Blatt Papier vom Form liegt so ist es unvermeidlich/logich das man das Bild unter dem TMemo-Blatt nicht sieht)
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 14:35 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