Avatar billede blazer Nybegynder
04. januar 2001 - 16:17 Der er 3 kommentarer og
2 løsninger

Weird shaped control

Lad os sige jeg har et danmarks kort....på det kort skal den msgboxe \"KOLDING\" når mand trykker på kolding...men det område den skal detecte kan f.eks. have følgende form

|-----\\
|      \\----¨\\
|            \\
|              \\
--------------|
Avatar billede driis Nybegynder
04. januar 2001 - 17:59 #1
Umiddelbart vil jeg sige, at du skal have lavet et array, der indeholder koordinaterne på de pixels, som skal reagere på klik - når så der bliver klikket, skal programmet tjekke hvilket koordinat der blev klikket på, og tjekke om dette koordinat er indeholdt i arrayet.

Hvis du kunne nøjes med at bruge rektangler eller cirkler eller en kombination af disse, vil det være nemmest at lave den kode, der skal bruges for at få fyldt koordinater ind i arrayet.
Avatar billede driis Nybegynder
04. januar 2001 - 18:10 #2
Hvis det skal være en uregulær form, som områderne, der kan klikkes på, skal have, ville jeg nok gøre flg; jeg regner med, at du har dit kort som en bitmap:

Hent bitmap billedet ind i et billedbehandlingsprogram. Farvelæg området udenom det klikbare område med en farve, som ikke findes på billedet i forvejen. Nu kan du hente billedet ind på en imagebox i VB og så lave noget kode, som aflæser farven på hver enkelt pixel i billedet - og de pixels, som har en anden farve, end den du har fyldt \'udenom\' området kan du så føje til dit array, som indeholder de klikbare pixels. Dette gentager du så for hver enkelt område, som skal være klikbart, og læser pixels ind i et nyt array hver gang. (Du gemmer selvf. indholdet af arrays\'ne i en fil, så du kan hente dem senere uden at skulle gå gennem denne proces).

Når du nu i dit egentlige program henter billedet ind, har du i de forskellige arrays defineret de pixels, som skal være klikbare i hvert enkelt område.
Avatar billede blazer Nybegynder
08. januar 2001 - 11:10 #3
umm....din metode er sikkert rigtig nok..men jeg fandt selv på en der var meget nemmere

lav et billebox..med billedet i....så lav en mere...og læg den under den første...nr.2 tegner du med forskellige farver hvor den skal reagere på hvad..så når du klikker i den forreste kalden en et klik på den b agerste..det så kaldet getpixel og reagerer efter hvad farve det har...simpelt...ikke?

anyways..du for alligevel 50 points!
Avatar billede driis Nybegynder
08. januar 2001 - 17:45 #4
blazer>> Fin løsning ;-)
Avatar billede blazer Nybegynder
09. januar 2001 - 23:42 #5
heh..jeg er oxo lidt genial :)
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