Gå til innhold

loope til meny-knapp bli trykket


Anbefalte innlegg

Heisann.

 

Driver med en liten aplikasjon her! Og der har jeg planer om å ha med samme systemet som Notepad har hvis du viser Status Bar!

Her vises koordinatene til musa, og den oppdateres såfort du flytter den bittelitt!

Private Sub MenStatusBar_Click()
Do Until MenStatusBar.Click = True
GetCursorPos lpPoint
Label1.Caption = "X: " & lpPoint.x & "Y: " & lpPoint.y
Loop
End Sub

 

Over er kodesnutten jeg bruker, men denne funker selvsagt ikke siden .Click ikke "eksisterer". Derfor lurte jeg på om noen av dere har en måte jeg kan gjøre dette på?

Vil altså at koordinatene til musa skal vises helt til man trykker på meny-knappen på nytt!

 

Sindre

Lenke til kommentar
Videoannonse
Annonse

Ellers kan du jo alltids bruke en variabel deklarert utenfor prosedyren:

 

' Denne linjen må plasseres helt til topps i kodedelen
Private bLoop As Boolean

Private Sub MenStatusBar_Click()

' Endre boolean-verdien til det omvendte
bLoop = Not bLoop

Do While bLoop
 GetCursorPos lpPoint
 Label1.Caption = "X: " & lpPoint.x & "Y: " & lpPoint.y
Loop

End Sub

Lenke til kommentar

aadnk: da klikka programmet fullstendig! hehe :p

 

Men hvorfor klikker programmet mitt her? :(

Private Sub MenStatusBar_Click()
Do Until MenStatusBar.Enabled = False
GetCursorPos lpPoint
Label1.Caption = "X: " & lpPoint.x & "Y: " & lpPoint.y
Sleep 500
Loop
End Sub

Endret av RuZleBIFf
Lenke til kommentar

hehe.. funker fint nå! ;)

men nå har jeg da ett nytt problem! for jeg får den ikke til å gå ut av løkka! som i at jeg vil at den skal skrive

Label1.Caption = "" 

når jeg trykker på meny-knappen en gang til! prøvde å legge inn en teller, men siden jeg har

Do Until MenStatusBar.Enabled = False

så går den aldri ut av løkka! (uansett om jeg trykker på MenStatusBar til jeg ser mannen med jå'n! :p

Lenke til kommentar
så går den aldri ut av løkka! (uansett om jeg trykker på MenStatusBar til jeg ser mannen med jå'n! :p

Dersom MenStatusBars Enable-egenskap er satt til False, kan du heller ikke klikke på kontrollen. Derfor bør du aller helst benytte en variabel, som vist i koden i mitt innlegg ovenfor.

 

I tillegg vil jeg ikke anbefale å vente i større intervaller enn 10-100 millisekunder når du benytter Sleep i en pågående løkke. Går en høyere enn dette, kan programmet, især for brukeren, ha en nokså lang reponstid. En løsning på dette, er å anvende en FOR-løkke som følger:

 

Dim Tell As Long

For Tell = 1 To 50
DoEvents
Sleep 10
Next

Lenke til kommentar

OK!! Tusen takk! :D nå er jeg på riktig vei i allefall! ;)

Private Sub MenAbout_Click()
bLoop = False
Do Until bLoop = True
DoEvents
GetCursorPos lpPoint
Label1.Caption = "X: " & lpPoint.x & "Y: " & lpPoint.y
Sleep 10
Loop
End Sub

 

Private Sub MenStatusBar_Click()
bLoop = True
End Sub

 

Jeg bruker (som dere ser) bare en annen knapp for å vise koordinatene, og dette funker jo helt flott!

Men hvordan kan jeg få dette under samme knapp?

Må kanskje ha en teller da!? som teller til 2! og når den er på 1 så vises koordinatene, og når den er på 2 så vises de ikke!

Eller finnes det en mye lettere måte å gjøre dette på?

 

Tusen takk for all hjelp i allefall! For nå funker det! ;):D

Lenke til kommentar

Nei.. mente i paint! :p

Jeg vil at når jeg starter programmet så skal label1 være blank! (og det er den nå)

Når jeg trykker på MenStatusBar så skal koordinatene til musa vises på label1

Når jeg trykker på MenStatusBar en gang til så skal label1 bli blank

Når jeg trykker enda en gang skal koordinatene vises i label1

Osv.

 

håper dette ga ett bedre bilde på hva jeg er ute etter! :yes:

Lenke til kommentar

RuZleBIFf, da skjønner jeg greia.

En timer, som Geir sier, blir nok best.

 

Men å vise vanlige musekordinater er jo .. på tryne, mildt sagt. (Hvis jeg har forstått deg rett)

Man er jo ute etter å vise kordinater i forhold til "tegne-bildet".

Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
   Label1.Caption = X & " " & Y
End Sub

 

Edit: Så kan du jo slenge på en IF-setning, slik at man kan enable og disable funksjonen.

Endret av Jonas
Lenke til kommentar

Jaok.

Legg til en Timer, og denne koden:

Private Sub Timer1_Timer()
   GetCursorPos lpPoint
   Label1.Caption = "X: " & lpPoint.x & "Y: " & lpPoint.y
End Sub

For å stoppe/starte timeren:

Private Sub MenStatusBar_Click()
   Timer1.Enabled = Not Timer1.Enabled
End Sub

Så kan du jo velge selv hvor stort interval du vil ha, osv.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...