Grafiktext verschieben

Für allgemeine Fragen zur Programmierung mit PureBasic.
Hugo
Beiträge: 56
Registriert: 30.03.2005 12:07
Wohnort: Nähe München

Grafiktext verschieben

Beitrag von Hugo »

Hallo Leute,

ich versuche gerade einen Text über ein ImageGadget zu verschieben.
So richtig funktioniert das aber leider nicht, denn es bleiben immer ein paar Streifen übrig.

Kann mir da jemand helfen?

Hugo

Code: Alles auswählen

CreateImage( 1, 600, 400 )
StartDrawing( ImageOutput() ) 
Box(   0,   0, 600, 400, $E0E0E0 ) 
Box( 100, 100, 150, 150, $0000FF )
StopDrawing()

If OpenWindow( 0, 50, 50, 600, 400, #PB_Window_SystemMenu, "TEST"  ) And CreateGadgetList( WindowID( 0  ) )
  ImageGadget( 1,  0,  0, 600, 400, UseImage( 1 ) )
  
  Repeat
    Select WaitWindowEvent()
      Case #PB_EventCloseWindow : End
      Case #WM_MOUSEMOVE
        wpar = EventwParam() : lpar = EventlParam() : x = lpar & $FFFF  :  y = ( lpar >> 16 ) & $FFFF
        
        StartDrawing( ImageOutput() ) : DrawingMode( 2 ) : BackColor($E0, $E0, $E0)
        
        If xold > 0 And yold > 0
          Locate( xold, yold ) : DrawText( "test" )
          Box( xold + 60, yold, 10, 10)
        EndIf
      
        Locate( x, y ) :  DrawText( "test" ) 
        Box( x + 60, y, 10, 10)
        
        xold = x : yold = y
        StopDrawing() : SetGadgetState( 1 , UseImage( 1 ))
      
    EndSelect
  ForEver
EndIf
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3875
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

Code: Alles auswählen

CreateImage( 1, 600, 400 ) 
StartDrawing( ImageOutput() ) 
Box(   0,   0, 600, 400, $E0E0E0 ) 
Box( 100, 100, 150, 150, $0000FF ) 
StopDrawing() 

If OpenWindow( 0, 50, 50, 600, 400, #PB_Window_SystemMenu, "TEST"  ) And CreateGadgetList( WindowID( 0  ) ) 
  ImageGadget( 1,  0,  0, 600, 400, UseImage( 1 ) ) 
  
  Repeat 
    Select WaitWindowEvent() 
      Case #PB_EventCloseWindow : End 
      Case #WM_MOUSEMOVE 
        wpar = EventwParam() : lpar = EventlParam() : x = lpar & $FFFF  :  y = ( lpar >> 16 ) & $FFFF 
        
        StartDrawing( WindowOutput() ) : DrawingMode( 2 ) : BackColor($E0, $E0, $E0) 
        
     SetGadgetState( 1 , UseImage( 1 ))      
        
;       If xold > 0 And yold > 0 

;          Locate( xold, yold ) : DrawText( "test" ) 
;          Box( xold + 60, yold, 10, 10) 
;        EndIf 
      
        Locate( x, y ) :  DrawText( "test" ) 
        Box( x + 60, y, 10, 10) 
        
        xold = x : yold = y 
        StopDrawing() : 
        
      
    EndSelect 
  ForEver 
EndIf
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Hugo
Beiträge: 56
Registriert: 30.03.2005 12:07
Wohnort: Nähe München

Beitrag von Hugo »

Super, vielen Dank an bobob :allright:

Hugo
Antworten