Hvordan skifter jeg billeder på en control

Tags:    visual-basic

Hvordan laver jeg et billede/kontrol, hvor jeg kan skifte mellem to billeder med et boolean udtryk.
Det jeg gerne vil at f.eks. at indsætte et billede af en lampe der er slukket og en der er tændt, og så skifte mellem de to billeder med en variabel, der er enten 0 eller 1.
Billederne er metafile.
Der kunne evt. være en lille activeX.



2 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Jeg har ingen erfaringer med metafile billeder, men det ser spændende ud. Hvis du selv ved hvordan man håndtere dem må du gerne smide den manglende del af mit eksempel ind. Ellers må andre gerne gøre det. Her er i hvert fald hvordan du kunne lave det andet.

Jeg har brugt en User Control til formålet. Så hvis du tilføjer sådan en til dit projekt, og tilføjer følgende kode (med den manglende hovedindgrediens), skulle det gerne virke. Du bruger GetStatus for at aflæse værdien, og du bruger SetStatus for at sætte værdien (fx ved start af dit program). Hvis du regner med at lave et AllOut spil, ville det være smart at lave et array (både design- og kodemæssigt) bestående af disse objekter. På den måde gør du det nemmere at holde styr på deres positioner i forhold til hinanden.

Fold kodeboks ind/udKode 


Btw, hvis du på et tidspunkt vælger ikke at ville loade dine billeder fra en eller anden mappe, så anbefaler jeg at du IKKE ligger dem ind i User Control'en. Dette ville være spild af hukommelse, hvis du oprettede et helt array af dem. I dette tilfælde burde du hellere smide dem ind i din Main form, og så lade hver User Control hente dem ind derfra. Hvis det lykkedes at smide metafiles billeder ind i en picturebox, så husk på at du jo altid kan gøre den usynlig (visible=false). Så sparer du lidt ram, uden at ødelægge strukturen på nogen måde...

// Lærenem er ham, der kan stille de rigtige spørgsmål til den rigtige person...



Det jeg godt kunne tænke mig var at man kunne vælge 2 metafiler i property box'en.
Jeg har prøvet forskellige ting men jeg kan ikke finde ud af at opsætte activex'en til at man kan vælge en metafile i dens property vindue.



t