Toon posts:

[C#] Schaduw mainMenu

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi allemaal,

Op het moment ben ik bezig met een app te maken (just for fun). Ik heb alleen een vraagje over het menu.

VRAAG:
Hoe krijg ik de schaduw weg bij het bij het menu dat uitklapt als ik op de File knop klik? (De schaduw on het woord Open)

Afbeeldingslocatie: http://www.xseeding.nl/schaduw.gif


Ik heb bij alle knoppen het uiterlijk kunnen veranderen doormiddel van OwnerDraw = true; Dit werkt bij MenuItems wel alleen bij MainMenu niet.

Heeft iemand een idee of dit uberhaupt kan?

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 19-05 00:34

alienfruit

the alien you never expected

Uuh, moet je waarschijnlijk een bepaalde paremeter uitzetten :+
Sinds Windows XP is er een klasse style CS_DROPSHADOW als je nou eens weghaalt, moet je schaduw verdwijnen zolang het framework niet zelf een schaduw tekent
Effe kijken welke dat is, op zoek na Delphi :o

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/systemparametersinfo.asp
Window Classes Overviews (info etc.)

Overigens als je een menu item zelf wil tekenen zal ik ook gebruiken maken van de "MeasureItem"-functie omdat dit wordt aangeroepen voordat de item wordt getekend kun je dus mooi de hoogte van de menu item aanpassen aan de hoogte van je font e.d. Namelijk op je plaatje past het font er niet lekker in. HTH. Ik ga mooi na huis :7

[ Voor 107% gewijzigd door alienfruit op 14-10-2004 17:49 ]


  • MrSleeves
  • Registratie: Februari 2004
  • Laatst online: 10-04 19:23

MrSleeves

You'll thank me later.

Verwijderd schreef op 14 oktober 2004 @ 17:33:
[...]
Heeft iemand een idee of dit uberhaupt kan?
Euhm, ik krijg de schaduw niet eens tevoorschijn getoverd.

Standaard is het bij mij plat (standaard XP-Luna) en als ik de klassieke stijl kies dan heb ik jouw plaatje, maar dan zonder schaduw.

Heb je wat meer informatie?

30Drie Web Design & IT Consultancy | Raven Consultancy Services


  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 14:59

pjvandesande

GC.Collect(head);

Ik zie ook geen schaduw, ik heb wat verschillende style's gebruik, maar ik krijg het niet eens tevoorschijn. B)

  • MrSleeves
  • Registratie: Februari 2004
  • Laatst online: 10-04 19:23

MrSleeves

You'll thank me later.

questa schreef op 15 oktober 2004 @ 09:04:
Ik zie ook geen schaduw, ik heb wat verschillende style's gebruik, maar ik krijg het niet eens tevoorschijn. B)
Ik kwam 'm wel tegen bij Visual Studio. Die heeft alleen een lichtere schaduw.

30Drie Web Design & IT Consultancy | Raven Consultancy Services


  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 14:59

pjvandesande

GC.Collect(head);

Chief.NET schreef op 15 oktober 2004 @ 09:21:
[...]
Ik kwam 'm wel tegen bij Visual Studio. Die heeft alleen een lichtere schaduw.
Ik heb het ook wel is gezien bij een 3d-party control ja, maar niet bij de standaard menu's eigelijk.

Verwijderd

Topicstarter
Ik heb de info bekeken en ik kom er nog niet helemaal uit. Ik ga nog effe verder tobben en als ik er uit ben post ik hier mijn code.

  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 14:59

pjvandesande

GC.Collect(head);

Verwijderd schreef op 15 oktober 2004 @ 10:03:
Ik heb de info bekeken en ik kom er nog niet helemaal uit. Ik ga nog effe verder tobben en als ik er uit ben post ik hier mijn code.
Welke control gebruik je nou precies en heb je een bepaalde skin over je windows XP?

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
In windows xp is het ieder geval in te stellen bij System Properties > Advanced > Performance > Show shadows under menus.

Ik weet niet of het ook mogelijk is om dit met code voor een bepaalde applicatie uit te schakelen. Daar heb ik me eigenlijk nooit mee bezig gehouden. De gebruiker kiest er tenslotte zelf voor dat hij dat wel wil hebben ( Of microsoft kiest dat voor hem maar dat is weer een ander verhaal ).

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Verwijderd

Topicstarter
rwb heeft eigenlijk wel een punt. Waarom zou ik de schaduw weg willen halen als de gebruiker dat juist leuk vind.

Aan de andere kant is het ook wel weer leuk om te weten hoe je het via je code uit kan zetten (Waar ik nog steeds niet achter ben). Mijn C# kennis is nou ook weer niet zooooo super groot.

De tips van alienfruit hebben me ook nog niet opweg geholpen, ik denk wel dat dat de goede richting is, maar het werkend krijgen is weer een ander punt.


questa ik gebruik gewoon visual studio zonder aangepaste/andere controls. Daarnaast gebuik ik het thema: windows klassiek

  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 14:59

pjvandesande

GC.Collect(head);

De gebruiker kiest in prenciepe of hij schaduw wil zien of niet, dus kun je namelijk in windows zelf regelen. Ik zou er verder niets aan weizigen, maar uit het oogpunt dat jij het gewoon intressant vind om te weten hoe je dit doet, het staat precies uitgelegd op msdn.

AlienFruit geeft de link al.
Pagina: 1