Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Image-Transparenz


Tanrek - Mo 18.07.05 08:51
Titel: Image-Transparenz
So, hab mal wieder ein Problem.

ich möchte mit dem Befehl MouseMove ein ereigniss aufrufen:

Delphi-Quelltext
1:
2:
3:
4:
5:
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  ShowMessage('test');
end;

soweit ist das ja noch nicht das problem... ich habe jedoch die Form und das Image auf Transparent gesetzt und dann funktioniert das nicht... gibt es da vielleicht einen befehl, der das Image nur zu 99% transparent macht, bzw einen befehl, der etwas ähnliches bewirkt? (halt so, dass es funktioniert :wink: )

mfg tanrek


maxk - Mo 18.07.05 18:55

Also ich verstehe die Frage nicht. onMouseMove wird immer aufgerufen - egal, ob das Bild Transparent ist oder nicht...


Tilman - Mo 18.07.05 19:02

löst alphablend=true und AlphaBlendValue=1 dein problem?

//Edit:
Natürlich jeweils vom Form

@maxk: ist das Form unsichtbar, erhält es tatsächlich einige Ereignisse nicht mehr


maxk - Mo 18.07.05 21:17

WAS :shock: Wofür soll das denn gut sein. Selbst wenn mein Form vollständig durchsichtig ist, darf sich doch das Verhalten des Systems nicht ändern. Ich versteh sowas nicht - wer denkt sich sowas aus?


Tilman - Mo 18.07.05 21:22

ich kanns mir nur so vorstellen:

transparent = alphablend 0 = visible false

(bei Alphablend=1 sieht man nix, man kann das Form aber noch anklicken und verschieben. Bei Alphablend=0 klickt man "hindurch".)


JayEff - Mo 18.07.05 21:51

Ähem. Transparent setzt nur die häufigste farbe auf durchsichtig. Gut, im mit images ein Spiel zu machen (sieht bescheiden aus. aber ögal ;) ) Ich bin mir da relativ sicher...


Tanrek - Di 19.07.05 09:04

danke für die ganzen antworten... ich hab das aber jetzt komplett anders gelöst... ich hab einfach ein bild genommen, was man sieht, dort das OnMouseMove draufgesetzt und immer wieder nen Timer starten lassen... wenn der timer dann abläuft passiert das gewünschte... der Timer kann aber nur ablaufen, wenn man halt nicht mehr auf dem bild ist :D

ich danke allen :wink:

mfg tanrek