AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls TImage soll Transparent sein und Messages weiterleiten
Thema durchsuchen
Ansicht
Themen-Optionen

TImage soll Transparent sein und Messages weiterleiten

Ein Thema von Jonas Shinaniganz · begonnen am 4. Apr 2012 · letzter Beitrag vom 4. Apr 2012
Antwort Antwort
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#1

AW: TImage soll Transparent sein und Messages weiterleiten

  Alt 4. Apr 2012, 11:33
Ich weiß ja nicht was genau Du da tust, aber vielleicht hilft ein
if not (csloading in ComponentState) then ...
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

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

AW: TImage soll Transparent sein und Messages weiterleiten

  Alt 4. Apr 2012, 12:21
Wenn die Komponente den Parent komplett überdecken soll und du sozusagen auf dem Parent zeichen willst anstelle die Features von TImage zu nutzen wäre es viellleicht die einfachste Variante von der Parentkomponente abzuleiten und das Paint zu überschreiben.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Jonas Shinaniganz
Jonas Shinaniganz

Registriert seit: 30. Aug 2011
249 Beiträge
 
Delphi XE5 Ultimate
 
#3

AW: TImage soll Transparent sein und Messages weiterleiten

  Alt 4. Apr 2012, 13:03
Okay Ich versuche nochmal besser zu beschreiben was Ich mache:

Ich habe eine Klasse, TImage mit einer weiteren Prozedur welche aufgerufen wird wann immer eine Message gesendet wurde.

Delphi-Quellcode:
  TOverLayImg = class(TImage)
  protected
    procedure WndProc(var Message: TMessage); override;
  end;

{ TOverLayImg }


procedure TOverLayImg.WndProc(var Message: TMessage);
begin
  inherited;
  if (Parent <> nil) and (TAdvCustomGraph(Parent).HandleAllocated) then
    SendMessage(TAdvCustomGraph(Parent).Handle, Message.Msg ,Message.WParam, Message.LParam);
end;
In der Prozedur reiche Ich jetzt die Message weiter, an den Parent des TOverLayImg, welches vollständig über der TAdvCustomGraph Instanz liegt.

Es ist ein Parent vorhanden deswegen bekomme Ich meine alte Fehlermeldung 'Element hat kein übergeordnetes Fenster' nicht mehr. Darum habe Ich mich gekümmert. Jetzt bekomme ich bei SendMessage eine Zugriffsverletzung bei Adresse blabla.
Die Leiter der Entwicklungsabteilung dreht total am Mausrad!
  Mit Zitat antworten Zitat
Benutzerbild von Jonas Shinaniganz
Jonas Shinaniganz

Registriert seit: 30. Aug 2011
249 Beiträge
 
Delphi XE5 Ultimate
 
#4

AW: TImage soll Transparent sein und Messages weiterleiten

  Alt 4. Apr 2012, 13:10
Ich möchte die ja sozusagen Features von TImage nutzen,
Einfache Dinge, wie zb ein paar Striche und Kreise sollen dann auf dem TImage gezeichnet werden und auch wieder verschwinden, ohne dabei das Draw der Hauptkomponente auszulösen welche Hunderttausende von Punkten aus Arrays läd und sehr lange braucht um sich nach invalidate; wieder zu zeichnen.

vielleicht kann man es sich ganz gut wie eine weitere Ebene (wie zb bei photoshop) vorstellen.
Die Leiter der Entwicklungsabteilung dreht total am Mausrad!
  Mit Zitat antworten Zitat
Benutzerbild von Jonas Shinaniganz
Jonas Shinaniganz

Registriert seit: 30. Aug 2011
249 Beiträge
 
Delphi XE5 Ultimate
 
#5

AW: TImage soll Transparent sein und Messages weiterleiten

  Alt 4. Apr 2012, 13:38
Wenn Ich beim Msg Parameter eine 0 übergebe bekomme ich keine Fehlermeldung mehr aber auch keine Reaktion.

SendMessage(TAdvCustomGraph(Parent).Handle, 0, Message.WParam, Message.LParam);
Die Leiter der Entwicklungsabteilung dreht total am Mausrad!
  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 07:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz