Aktuelle Zeit: 11.12.2018 23:59

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: (Erledigt)Position eines nicht Purebasic Fensters ermitteln.
BeitragVerfasst: 17.12.2017 18:44 
Offline

Registriert: 08.09.2004 20:18
Wohnort: Zürich
Hallo,

und wider eine Frage zum Thema Fenster und co.

Mit nachfolgender Funktion finde ich ein Fenster und mache einen Copy eines bestimmten Bereichs.

Code:
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



Das funktioniert super.

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

_________________
TFT

Code faster than fast.
W10 ,i5 4*3.4 MHz,16 GB Ram,GTX Titan, 3 Monitore UHD
ARDUINO Freak :-)


Zuletzt geändert von tft am 23.12.2017 15:27, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Position eines nicht Purebasic Fensters ermitteln.
BeitragVerfasst: 18.12.2017 09:54 
Offline
Moderator
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Rupture Farms
Mit GetWindowRect_() kannst du sowohl die Größe als auch die Position eines fremden Fensters ermitteln.
Beispiel: http://www.rsbasic.de/aktualisierung/wi ... mitteln.pb

Wenn du englische Sätze übersetzen möchtest: https://www.deepl.com/translator

_________________
BildBildBildBildBildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Position eines nicht Purebasic Fensters ermitteln.
BeitragVerfasst: 20.12.2017 11:38 
Offline

Registriert: 08.09.2004 20:18
Wohnort: Zürich
Hallo,

Durch deine Info wurde mir geholfen.

Thx TFT :bounce:

_________________
TFT

Code faster than fast.
W10 ,i5 4*3.4 MHz,16 GB Ram,GTX Titan, 3 Monitore UHD
ARDUINO Freak :-)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye