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