Small basic : click del mouse

di il
4 risposte

Small basic : click del mouse

In SB non esistono le icone quindi vi si deve ovviare con il passaggio e click su una immagine. Ti pareva che mi funzionasse. Grazie in Anticipo.

Sub OnMouseDown
   ' determina quale icona è stata premuta
  If X <= 49  And Y <= 49  then
    'premuto blackwhite
    If GraphicsWindow.BackgroundColor = "black" Then
      GraphicsWindow.BackgroundColor = "white"
      else
       GraphicsWindow.BackgroundColor = "black"
      endif
    endif 
    
EndSub

4 Risposte

  • Re: Small basic : click del mouse

    Le variabili X e Y come sono aggiornate?

    Con quei controlli l'immagine sta in alto a sinistra, corretto?

    I colori è meglio scriverli con l'iniziale maiuscola (Black White)

    Ma poi che dovrebbe fare quel codice? 

  • Re: Small basic : click del mouse

    Faccio come facevo in basica metto un immagine fra x,y e x2,y2 e se cliccavo li vuol dire che avevo cliccato sulla ipotetica icona e prendevo in carico il codice da eseguire. Non penso che small basic abbia le icone o i menu'.

    Grazie

    francesco

  • Re: Small basic : click del mouse

    Non hai risposto a nessuna mia domanda

  • Re: Small basic : click del mouse

    Ti do' tutto il codice cosi capisci perchè ci sono delle variabili globali..scusa se non ha risposto alle tue domande…

    ' METTE LE VARIABILI CON I VALORI DI DEFAULT
    n = "BLACK"
    b= "WHITE"
    X = 0
    y = 0
    
    GraphicsWindow.Clear()
    GraphicsWindow.Show()
    
    
    sub stato_iniziale
    
    GraphicsWindow.BackgroundColor = n
    GraphicsWindow.Width =500
    GraphicsWindow.Height = 500
    GraphicsWindow.CanResize = "true" 
    
    GraphicsWindow.Top = desktop.Height/2
    GraphicsWindow.Left = Desktop.Width/2
    GraphicsWindow.BrushColor = "red"
    
    'GraphicsWindow.FR
    GraphicsWindow.FillRectangle(0,0,500,49)
    GraphicsWindow.FillRectangle(0,0,49,500)
    xtxtMyText = Controls.AddTextBox(50, 23)
    
    Controls.SetTextBoxText(txtMyText, "locX = " + X + "   Locy = " + y)
    
    metti_le_icone()
    
    GraphicsWindow.MouseMove = OnMouseMove
    GraphicsWindow.MouseDown = OnMouseDown
    GraphicsWindow.KeyDown = OnKeyDown
    
    'GraphicsWindow.DrawImage.ImageList.LoadImage(0)
    
    EndSub 
    
    stato_iniziale()
    
    Sub OnResize
    'CAMBIA LA GRANDEZZA DEI 2 RETTANGOLI  
     GraphicsWindow.FillRectangle(0,0,GraphicsWindow.Width,49)
     GraphicsWindow.FillRectangle(0,0,49,GraphicsWindow.Height) 
     metti_le_icone()
    EndSub
    
    Sub OnMouseDown
       ' determina quale icona è stata premuta
      If X <= 49  And Y <= 49  then
        'premuto blackwhite
        If GraphicsWindow.BackgroundColor = "black" Then
          GraphicsWindow.BackgroundColor = "white"
          else
           GraphicsWindow.BackgroundColor = "black"
          endif
        endif 
        
    EndSub
    
    Sub OnMouseMove
      'Determina la posizione x e y del mouse
      X1 = GraphicsWindow.mousex
      Y1 = GraphicsWindow.MouseY
      X = X1
      y = Y1
      
    txtMyText = Controls.AddTextBox(50, 23)
    Controls.SetTextBoxText(txtMyText, "locX = " + X + "   Locy = " + y)
    
    if GraphicsWindow.CanResize Then '.GraphicsWindow.Width > 500 = then
      OnResize()
    EndIf 
    if GraphicsWindow.CanResize Then '.GraphicsWindow.Height > 500 = then
      OnResize()
    EndIf 
    EndSub
    
    Sub OnKeyDown
      'determina il cklic del mouse sulla tavolozza grafica
      Sound.PlayBellRing()
    EndSub
    
    sub metti_le_icone
      'rimette le icone ogni qual bolta Clock'è un resize della tavoletta grafica
      immagine1 =  Program.Directory + "\immagini\blackwhite.jpg"
    GraphicsWindow.DrawImage(immagine1,3,3)
    
    endsub
Devi accedere o registrarti per scrivere nel forum
4 risposte