Laden...

XP-Style

Erstellt von f.ritz vor 19 Jahren Letzter Beitrag vor 18 Jahren 7.894 Views
f.ritz Themenstarter:in
341 Beiträge seit 2004
vor 19 Jahren
XP-Style

hi,

obwohl ich ein Programm unter windows xp kompiliert habe, sind die buttons und scrollbars im win 2000 oder was auch immer style. wie kann man einstellen, dass die "neuen" buttons und scrollbars benutzt werden?

Kennt jemand auch einen Link zu den kostenlosen XP-Style Images für die Buttons?

N
4.644 Beiträge seit 2004
vor 19 Jahren

Application.EnableVisualStyles(); und Button.FlatStyle = System

151 Beiträge seit 2004
vor 19 Jahren

haste vielleicht bei dir auf die klassische ansicht umgestellt ? 🤔
die kompilierten programme richten sich danach ...
wenn du also wieder auf die standart-windowsansicht umschaltest sieht dein proggi auch wieder nach xp aus 😉

frage die um rat ... die mehr wissen als du (kleines altägyptisches sprichwort)


mobile - 1.73er core2 ... 2048 mb
desktop - 3.0er prescott ... 1024 mb

N
4.644 Beiträge seit 2004
vor 19 Jahren

Original von seth
haste vielleicht bei dir auf die klassische ansicht umgestellt ? 🤔
die kompilierten programme richten sich danach ...
wenn du also wieder auf die standart-windowsansicht umschaltest sieht dein proggi auch wieder nach xp aus 😉

Das ist falsch. Wie es funktioniert habe ich oben beschrieben.

f.ritz Themenstarter:in
341 Beiträge seit 2004
vor 19 Jahren

Also, wie es der Noodles gezeigt hat, funktioniert es schon ganz gut.

Ich kann aber diese Aussage nicht so ganz verstehen:
Button.FlatStyle = System

N
4.644 Beiträge seit 2004
vor 19 Jahren

Original von f.ritz
Also, wie es der Noodles gezeigt hat, funktioniert es schon ganz gut.

Ich kann aber diese Aussage nicht so ganz verstehen:
Button.FlatStyle = System

Bei einigen Controls musst Du die FlatStyle - Eigenschaft auf System stellen um den XP Style zu erhalten.

F
529 Beiträge seit 2003
vor 19 Jahren

Kann man irgentwie die VisualStyles wieder deaktivieren? (Außer Anwendung neu starten und die VisualStyles nicht aktivieren)

--
mfg
Franknstein

Besuchen sie das VisualC++ - Forum

333 Beiträge seit 2004
vor 19 Jahren

Glaube nicht. Das Application.EnableVisualStyles() muß auch aufgerufen werden bevor igrendwelche Formulare geladen werden, ansonsten kommt es zu Problemen. Ein DisableVisualStyles gibts nicht.

([bb]|[^b]{2})

A
21 Beiträge seit 2004
vor 19 Jahren

Hallo zusammen

da es mit EnableVisualStyles() teilweise probleme gibt, muss man gleich darunter noch Application.DoEvent(); schreiben.

So als kleine anmerkung 😉

gruss Andreas

N
4.644 Beiträge seit 2004
vor 19 Jahren

Original von andreasa
Hallo zusammen

da es mit EnableVisualStyles() teilweise probleme gibt, muss man gleich darunter noch Application.DoEvent(); schreiben.

So als kleine anmerkung 😉

gruss Andreas

Was für Probleme, ich hatte nämlich noch keine damit?

A
21 Beiträge seit 2004
vor 19 Jahren

mach mal ein TreeView 😉
dann hast du Probleme 😉

man muss schon schon nicht, aber es gibt ein par steuerelemente die einfach probleme mit der darstellunge haben.

Gruss Andreas

333 Beiträge seit 2004
vor 19 Jahren

Ja, das mit dem DoEvents() braucht man wohl, weils da einen Bug gibt...

([bb]|[^b]{2})

f.ritz Themenstarter:in
341 Beiträge seit 2004
vor 19 Jahren

Ohne DoEvents() konnte man schöne Bildchen in einem ToolBarButton komischerweise nicht sehen!?!?!?!

140 Beiträge seit 2005
vor 18 Jahren

hallo zusammen

sorry, dass ich dieses thema nochmals aufrolle, aber ich habe noch ein kleines problem:

wenn ich die visuellen styles aktiviere und den flatStyle eines buttons auf 'System' stellen, zeigt es diesen zwar tadellos im xp-style an, jedoch sehe ich das image nicht mehr, das ich mit normalem style auf dem button platziert hatte 🙁
(funzt auch mit 'Application.DoEvents()' nicht...)

woran liegt das? kann man bei xp-buttons gar keine bilder mehr einfügen?
wenn ich so drüber nachdenke... ich hab' glaube ich noch nie ein icon auf einem xp-button gesehen 🤔

S
8.746 Beiträge seit 2005
vor 18 Jahren

Um vielleicht mal ein kleines Mißverständnis zu beheben:

DoEvents() ist keine Zaubermethode, sondern sorgt nur dafür, dass anstehende Windows-Botschaften (z.B. zum Zeichnen von Objekten) abgearbeitet werden.

Wenn ihr irgendwo in einer Routine seid, und z.B. Button.Enabled = true setzt, passiert solange gar nichts, bis die Routine zuende ist und das Programm in die Window-Loop zurückkehrt (kann man sehr schön im Debugger überprüfen). Dort wird dann DoEvents() aufgerufen, und das Enabled zeigt Wirkung.

Manchmal möchte man aber, dass die Änderung eins Controls Wirkung zeigt BEVOR die Routine zuende ist, und dann muss man DoEvents() halt per Hand aufrufen.

M
329 Beiträge seit 2004
vor 18 Jahren

Ich kenne XP-Buttons mit Icon. Aber keine Ahnung wie man das in C# machen soll.

140 Beiträge seit 2005
vor 18 Jahren

@svenson:
ja, das habe ich gewusst, aber danke trotzdem für die erklärung. bei VB6 hat's doch wenn ich mich recht erinnere auch sowas gegeben (vbModal hiess das glaub'ich...)!?
ich habe es nur erwähnt weil f.ritz folgendes geschrieben hat:

Ohne DoEvents() konnte man schöne Bildchen in einem ToolBarButton komischerweise nicht sehen!?!?!?!

deshalb dachte ich vielleicht hat das was damit zu tun.

hat sonst jemand eine idee woran es liegt dass das image nicht angezeigt wird?

140 Beiträge seit 2005
vor 18 Jahren

ich hab mal ein bisschen auf codeproject gesucht und schnell ein button-control gefunden, das buttons im xp-style mit images(!) anzeigt.
...zumindest in der theorie... X(
wenn ich nämlich den button verwende, kann ich

  1. zwar ein image auswählen, es wird aber im FlatStyle (im designer) nicht wirklich angezeigt
  2. das programm nicht kompilieren --> das ganze VS stürzt ab 🙁

hat jemand von euch diesen button schon zum laufen gebracht??
ich denke ich habe etwas übersehen. das projekt hat nämlich eine sehr gute bewertung (4.3 von 5), daher denke ich dass es eigentlich laufen sollte, wenn man es richtig macht.

falls es jemand versuchen möchte, hier der link: (ihr müsst euch zum downloaden allerdings anmelden)
http://www.codeproject.com/cs/miscctrl/MgXpImageButton.asp

X
2.051 Beiträge seit 2004
vor 18 Jahren

versuch mal mit meiner Komponente: http://www.genne-develop.com/index.shtml?bitbutton

die habe ich zwar in Anfängen meiner C# Kariere geschrieben, aber die soll noch funktionieren 😉

140 Beiträge seit 2005
vor 18 Jahren

danke xqgene, werd' ich gleich mal downloaden. melde mich wieder wenn ausprobiert.

140 Beiträge seit 2005
vor 18 Jahren

hab dein control ausprobiert, xqgene. funktioniert wunderbar.
hab's meinem chef gezeigt und gleich mal nen zusammenschiss eingefahren. wir haben in unserer firma leider eine richtlinie, die besagt, dass wir keine fremden controls einsetzen dürfen 🙁
tja, wieder nix gewesen...
aber ich werde es trotzdem für zu hause einsetzen.

thx für den link

J
13 Beiträge seit 2005
vor 18 Jahren

Da wir ja ein gemeinsames Problem haben poste ich auch hier mal was dazu. Es funktioniert mit einem Manifest, das entweder der Anwendung als Ressource oder als Datei im Anwendungsverzeichnis bereitgestellt wird. Ich habe eine Beispielanwendung gefunden wo es prima funktioniert. 👍

Bei meinem Projekt geht es aber aus unerfindlichen Gründen nicht, sobald ein Manifest vorhanden ist startet die Anwendung nicht mehr 🙁

Von Application.EnableVisualStyles() ist abzuraten, es wird überall gewarnt den Aufruf zu verwenden.