Avatar billede specialty Nybegynder
07. november 2000 - 16:47 Der er 10 kommentarer og
1 løsning

Blinkende billeder....

Hej...

Jeg har lavet et menu program, hver knap er lavet af 2 billeder der overlapper hinanden når henholdsvis musen er over knappen og når den ikke er...

Men når denne overlapning sker blinker det kraftigt... Kan dette ikke laves så de ikke gør det???

/Specialty...
Avatar billede driis Nybegynder
07. november 2000 - 16:49 #1
Prøv at skrive den kode, du bruger, her.
Avatar billede specialty Nybegynder
07. november 2000 - 16:54 #2
Jeg bruger en ganske almindelig Visible kommando...

billede1.visible = true
billede2.visible = false

og så er de to billeder skiftet, men det giver et stort blink... Det er nok fordi den først sletter det første og dernæst tegner det nye...

Det ville være meget lettere hvis den bare tegnede det nye oven i det gamle billede...

Men er der en der har en løsning???

/Specialty...
Avatar billede driis Nybegynder
07. november 2000 - 17:02 #3
Prøv bare at lade det første billede være synligt hele tiden og nøjes med at skifte .visible på det andet billede - og lad selvfølgelig det andet billede ligge forrest. Så vil det første billede være dækket af det andet, når det andet bliver synligt.
Avatar billede specialty Nybegynder
07. november 2000 - 17:10 #4
Det har jeg prøvet men det blinker stadigvæk...
Avatar billede tdaugaard Nybegynder
07. november 2000 - 18:17 #5
For at lave sådan et trick skal du bruge API kald der virker direkte i Windows\' indre kerne. Så går det ligeså stærkt som når Windoze \"tegner\" noget.

Problemet er bare at man skal have en picture box (eller en anden \'container\' med en .hDC property) til hvert billede og at disse _skal_ være synlige for at kunne bruge API\'erne.

Den API du skal have fat i hedder BitBlt.
Du kan finde eksempel og DECLARE forklaring+DECLARE linie på www.vbapi.com.

Jeg har selv prøvet at finde en løsning til hvordan man kan bruge det uden at de containere der indeholder de billeder man vil vise skal være synlige, men uden held. Det her skulle dog kunne få dig på rette vej...
Avatar billede scb Praktikant
07. november 2000 - 19:26 #6
Det her virker, jeg bruger det bl.a til et roterende blink ved seriel fejl i mine programmer:

opret en image list, med de billeder du har brug for det kan være 1- ???
kør en timer kontrol i den hastighed du ønsker at billederne skal skifte.

f.eks
Timer kontrol:

Billed = Billed + 1
If Billed > 14 Then Billed = 1
imgAlarm.Picture = imlAlarm.ListImages(Billed).Picture

image listen hedder her imlAlarm
picture boxen hedder = imgAlarm
Billed er en tæller for hvilket billed der vises her er det 14 forskellige.

-SCB
Avatar billede fico Nybegynder
08. november 2000 - 18:18 #7
Kan man ikke bare sætte en timer op der ser sådan ud:
Private Sub Timer1_Timer()
If billede1.visible = true then
billede1.visible = False
billede2.visible = True
else
billede2.visible = False
billede1.visible = True
end if
End Sub
Avatar billede vbghost Nybegynder
09. november 2000 - 19:42 #8
Prøv lad vær med at brug Image boxe, men PictureBoxe, der er stor forskel.... pictureboxe er bedre, prøv og se om de hjælper...
Avatar billede fico Nybegynder
10. november 2000 - 11:19 #9
En lille oversættelse af mit script:
Private Sub Timer1_Timer()
If billede1.visible = true then
PictureBox1.visible = False
PictureBox2.visible = True
else
PictureBox2.visible = False
PictureBox1.visible = True
end if
End Sub
Avatar billede specialty Nybegynder
19. august 2001 - 11:15 #10
Jeg lukker spørgsmålet...
Avatar billede tdaugaard Nybegynder
19. august 2001 - 11:17 #11
Hvorfor ?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester