Autor Beitrag
SixpointedStarsoft
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 22
Erhaltene Danke: 1



BeitragVerfasst: Sa 31.01.09 22:57 
Ich habe folgendes Problem:
Habe ein Form als Layered Window erstellt mit:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
  

  setWindowLong(Form.Handle, GWL_EXSTYLE, getWindowLong(Form.Handle, GWL_EXSTYLE) or WS_EX_LAYERED );

  BlendF.BlendOp := AC_SRC_OVER;
  BlendF.BlendFlags := 0;
  BlendF.SourceConstantAlpha := Alpha;
  BlendF.AlphaFormat := AC_SRC_ALPHA;
  P := Point(00);
  Size.cx := Bitmap.Width;
  Size.cy := Bitmap.Height;

  UpdateLayeredWindow(Form.Handle, 0nil, @Size, Bitmap.Canvas.Handle, @P, 0,
    @BlendF, ULW_ALPHA);


Das Bitmap ist mit Alphakanal so hat es Bereiche der Form die teilweise Transparent sind, bei mir einen Schatten. Nun möchte ich, dass wenn der Mouscursor über den teilweisen transparenten Teilen der Form ist, das darunterliegende Fenster angesprochen wird. So wie das bei dem WindowsStyle WS_EX_TRANSPARENT geschieht, nur eben nicht gerade für das ganze Fenster.

Habe versucht bei WMNCHitTest bei der betreffenden teilweisen Transparenten Position die Message dem darunterliegenden Fenster weiterzuleiten. Leider ohne Erfolg. Auch message.Result := HTTRANSPARENT; in WMNCHitTest führt nur bei Fenstern der eigenen Anwendung zum Erfolg, das heisst darunterliegnede sichtbare Fenster einer anderen Anwendung spricht es nicht an.

Hei jemand eine Idee, wie das zu realisieren ist?
Mit lieben Grüssen
Christoph