MoveWindow

Alles over het toepassen van API en DLL's in Liberty BASIC

Moderator: anthonio

MoveWindow

Berichtdoor ForNext » do mei 05, 2011 8:11 pm

In de API-translator wordt alleen "MoveWindow" vermeld. Niet "MoveGraphics" of zoiets.
Dus begrijp ik niet waarom het windowtype "window" wel wordt ge-move-d en het windowtype "graphics" niet.
Zie onderstaande listing.

Code: Selecteer alles
' ---- begin code
       nomainwin

       WindowWidth  = 400
       WindowHeight = 400
       UpperLeftX   = 200
       UpperLeftY   = 200

     ' eerste venster links
       titel1$ = "Testvenster links met LB Open functie"
       open titel1$ for window as #venster1
'       open titel1$ for graphics_nsb as #venster1
       #venster1 "trapclose [quit]"

     ' tweede venster rechts
       titel2$ = "Testvenster rechts met USER32.DLL functie"
       open titel2$ for window as #venster2
'       open titel2$ for graphics_nsb as #venster2
       #venster2 "trapclose [quit]"

       hMain = HWND(#venster2)

       calldll #user32, "MoveWindow",_
       hMain as ulong, _      'window handle
         630 as long,_        'x location of window
         200 as long,_        'y location of window
         400 as long,_        'width of window
         400 as long,_        'height of window
           1 as boolean,_     'repaint flag, 0 = false, 1 = true
         ret as long          'nonzero = success

       wait

[quit] close #venster1
       close #venster2
       end
'---- einde code
ForNext
 
Berichten: 60
Geregistreerd: za okt 27, 2007 9:40 am
Woonplaats: Amstelveen

Re: MoveWindow

Berichtdoor glpape » vr mei 06, 2011 3:57 pm

Een grafisch venster is in principe een gewoon venster dat compleet wordt gevuld door een graphic box. Als je met hwnd() de Windows handle opvraagt krijg je die van de graphic box. Dit is een child window in Windows terminologie. Je krijgt de handle van het hoofdvenster met GetParent.
Zo uit m'n hoofd: <calldll #user32, "GetParent", hwChild as ulong, hwParent as ulong>.
Ik zit hier wat onhandig in een internetcafe aan de andere kant van de evenaar; ik probeer je code op memory stick te zetten en thuis nog eens te bekijken in de Liberty editor. Als ik nog iets toe te voegen heb laat ik van me horen.

Zelfde met de handle van het onderliggende Window van het Liberty type "text".

Vr groet,

George Pape.
glpape
 
Berichten: 83
Geregistreerd: za nov 08, 2008 5:32 pm

Re: MoveWindow

Berichtdoor Gordon » vr mei 06, 2011 8:54 pm

Hallo George,

Hier vanaf de andere kant van de evenaar, thuis dus niet in een Internet café.

Gelukkig heb je nog even scherpe opmerkingen. De programmeurs van
Microsoft hebben het zichzelf dus makkelijk gemaakt.
Een grafisch venster heeft gewoon de parent eigenschappen van een
gewoon venster met een graphicbox erin.

Gordon
Avatar gebruiker
Gordon
Site Admin
 
Berichten: 684
Geregistreerd: zo mei 22, 2005 12:50 am

Re: MoveWindow

Berichtdoor ForNext » zo mei 08, 2011 9:37 pm

Gordon, George,

Zou je mogen concluderen dat het window-type "graphics" eigenlijk niet een echt type is, maar een LB-handigheid bestaande uit een window-type "window" met een automatische graphicbox ?

Roberto
Cursist LB Amstelveen
ForNext
 
Berichten: 60
Geregistreerd: za okt 27, 2007 9:40 am
Woonplaats: Amstelveen

Re: MoveWindow

Berichtdoor glpape » di mei 10, 2011 4:45 pm

Roberto hallo,

Ook ik dacht dat het grafisch venster van Carl Gundel was, niet van Bill Gates. Op de MSDN site zie ik zelfs geen hits als ik graphic box of graphicbox zoek; wel bv voor textbox, dit is een Windows control.

In elk geval is de eigenaardigheid van de Liberty function hwnd() om je de handle van de g.box te geven en niet van het venster waar de g.box in is geplaatst van CarlG. Vaak is dit precies wat je nodig hebt maar ik vind wel dat het in de helpfile vermeld moet worden.

Vr groet,

George Pape.
glpape
 
Berichten: 83
Geregistreerd: za nov 08, 2008 5:32 pm

Re: MoveWindow

Berichtdoor Gordon » di mei 10, 2011 6:00 pm

Ook ik ben naarstig op zoek geweest naar het graphic venster van Bill G.
Ook niet gevonden. Daarna zocht ik het artikel waarin verteld werd hoe
Carl dit venster zelf had bedacht. Ook niet meer terug gevonden.

Maar neem maar aan dan ik het ergens gelezen heb.

Het graphic venster is een vereenvoudiging van Carl. Het is een gewoon
venster met een volledige grafischbox. Dat heeft hij misschien ontwikkeld
voor zijn Sprite handling?

Gordon.
Avatar gebruiker
Gordon
Site Admin
 
Berichten: 684
Geregistreerd: zo mei 22, 2005 12:50 am

Re: MoveWindow

Berichtdoor glpape » za mei 14, 2011 7:31 pm

Gordon hallo,

Is de graphic box zelf een Windows ding ?
Op de MSDN site met de zoekfunctie had ik wel veel hits met "textbox" maar niet met "graphic box" of "graphicbox".

Vr groet,

George Pape.
glpape
 
Berichten: 83
Geregistreerd: za nov 08, 2008 5:32 pm


Keer terug naar API/DLL

Wie is er online

Gebruikers op dit forum: Geen geregistreerde gebruikers. en 1 gast

cron