Avatar billede r.hegaard Nybegynder
24. april 2006 - 10:33 Der er 6 kommentarer og
1 løsning

Loade cursor fra resource

Jeg har lavet en Windows Application i VS. Til Applicationen har jeg tilføjet nogle cursore som resourcer og de er nu kommet ind og ligge i mappen "Resources".
Nu skal jeg så gerne bruge cursorne i mit program, men jeg kan ikke finde ud af, hvordan jeg henter dem ud igen, så jeg kan bruge dem. Er der nogen, som kan fortælle, hvordan jeg gør?
Avatar billede tuxic Nybegynder
24. april 2006 - 21:29 #1
Avatar billede r.hegaard Nybegynder
24. april 2006 - 21:52 #2
Jeg har allerede prøvet med den kode, men det virker ikke.
Min kode er:
cursorD = new Cursor(GetType(),"D.cur");
Og det giver fejlen:
NullReferenceException was unhandled - Object reference not set to an instance of an object.
Filen "D.cur" ligger i mappen "Resources".
Avatar billede tuxic Nybegynder
24. april 2006 - 22:00 #3
har sat build action til embedded resource?
Avatar billede r.hegaard Nybegynder
24. april 2006 - 22:00 #4
Jeg har lige fundet ud af, at hvis jeg flytter mine cursore ud af mappen "Resources", så virker det fint, bortset fra, at min cursor kun bliver vist i sort/hvid.
Jeg ved godt, at Cursor ikke umiddelbart understøtter farver, men jeg har alligevel fået det til at virke, hvis jeg loader cursoren fra BMP og laver den om til en cursor, som følgende:
ComponentResourceManager resources = new ComponentResourceManager(typeof(Form1));
cursorD=new Cursor((new Bitmap((System.Drawing.Bitmap)(resources.GetObject("cursorD.Image")),new Size(32,32))).GetHicon());
Problemet med ovenstående metode er bare, at jeg så ikke kan sætte hotspot på min cursor, som jeg gerne vil.
Det er derfor jeg har efterspurgt, hvordan jeg kan loade en cursorfil, men jeg glemte at skrive, at det også gerne skal være i farver.

Findes der ikke en metode til at loade en cursorfil fra en resource, så den stadig beholder farve og hotspot?
Avatar billede senil Nybegynder
25. april 2006 - 13:29 #5
Mon ikke du lige skal have stien inde der hvor du loader din cursor???
cursorD = new Cursor(GetType(),"Resources\\D.cur");
eller
cursorD = new Cursor(GetType(),@"Resources\D.cur");
Avatar billede r.hegaard Nybegynder
29. april 2006 - 16:03 #6
senil> Det hjælper ikke, men jeg kan loade den, hvis den ligger i roden, så det er fint nok.
Men den bliver stadig sort-hvid, når jeg loader den. Har I nogen ide til, hvordan jeg kan undgå det og stadig bibeholde cursorens hotspot?
Avatar billede r.hegaard Nybegynder
15. maj 2006 - 17:52 #7
Andre idéer?
Ellers lukker jeg.
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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