und wider eine Frage zum Thema Fenster und co.
Mit nachfolgender Funktion finde ich ein Fenster und mache einen Copy eines bestimmten Bereichs.
Code: Alles auswählen
Procedure BDO_GET_KARTE()
  
  Static hShotWindow,Timer
  
  Proc$ = "BDO_GET_KARTE"
  
  If BDO = 1
    BDO = 2
    hShotWindow = FindWindow_(0,BDO_Fenster_Name$) 
    If hShotWindow = 0
      Debug( "Fenster Handler BDO not found")
    Else
        
      MakeWinScreenshot(#BDO_Get_Karte_Image1,hShotWindow,400,400,BDO_Karte_X,BDO_Karte_Y)
      StartDrawing(CanvasOutput(#BDO_GET_KARTE_Canvas))
      DrawImage(ImageID(#BDO_Get_Karte_Image1),0,0)
      StopDrawing()
      
    EndIf
  
  ElseIf BDO = 2
    
    If Timer < ElapsedMilliseconds()
      Timer = ElapsedMilliseconds() + 40
      MakeWinScreenshot(#BDO_Get_Karte_Image1,hShotWindow,400,400,BDO_Karte_X,BDO_Karte_Y)
      StartDrawing(CanvasOutput(#BDO_GET_KARTE_Canvas))
        DrawImage(ImageID(#BDO_Get_Karte_Image1),0,0)
      StopDrawing()
    EndIf
    
  EndIf
  
EndProcedure
Jetzt will ich ein Durchsichtiges Fenster von PureBasic über einer Bestimmten Stelle platzieren.
Die Position x und y des Purbasic Fensters will ich als Positions Angabe benutzen um dann den darunter liegenden teil mit obiger Funktion
auszuschneiden.
Das Fenster von BDO kann überall auf dem Desktop sein. Daher benötige ich über den Handler Zugriff auf die Fensterposition. Um in Relation dazu die
Koordinaten für das Graben zu berechnen.
Der Handler der von FindWindow_(0,BDO_Fenster_Name$) zurück gegeben wird sollte ein Zeiger auf die Window Strucktur sein.
Damit sollte ein Zugriff auf die benötigten Positions Daten möglich sein.
Ich weis aber nicht wie das geht. Und mein Englisch ist zu schlecht um die Beschreibungen im Internet zu verstehen.
Jemand da der sich damit auskennt?
Gruss TFT





