Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#20

AW: Region vom Bitmap erstellen...

  Alt 3. Aug 2011, 20:16
Warum heißt SetWindowRgn wohl SetWindowRgn?

Richtig, weil es für Fenster, sprich TWinControls funktioniert.
Ein TBitmap.Handle hat nichts damit zu tun, ist nur "leider" zuweisungskompatibel da es halt auch eine einfache "Hausnummer" ist(LongWord).

Nimm ein TWinControl (z.B. TPanel), packt das Image drauf und wende SetWindowRgn auf Panel.Handle an.

Grüsse, Dirk
Vergess es! (Auch wenn du recht hast mit dem SetWindowRgn)
Zeig mal wie du in einer Nonvcl Anwendung ein TPanel oder was auch immer deiner meinung nach dafür passt einbinden willst.

Mein Problem mit dem Bitmap hab ich schon gelößt wie im vorherigen Beitrag mitgeteilt.
GdipSetImageAttributesColorKeys

Zitat:
Ich denke das mein Problem daran liegt das nach dem Down status des button der alte(original) zustand wieder hergestellt wird.
Der Button scheint dann nicht mehr ausgeschnitten zu sein.
Die frage wäre dann wie kann ich die einmal erstellte region erhalten auch nach dem klick auf den Button.
bzw.. dem Up Status zuweisen.

Der ja von WinControls abgeleitet ist
Seltsamer weise funktioniert das ja beim Beispiel von turboPASCAL
Quatsch liegt immer noch am Bitmap.
Auch wenn es jetzt wieder transparent ist wird ein Klickevent auf dem Transparenten bereich ausgeführt.
Hat mit dem Ausgeschnittenen Button nix zu tun das funktioniert nach nochmaligen testen.


PS:
Ach so das Panel auf einen Button knallen würde ja auch nicht gehn.
So einfach ist es also nicht.

gruss

Geändert von EWeiss ( 3. Aug 2011 um 20:46 Uhr)
  Mit Zitat antworten Zitat