AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi 7 / 2010 - Design von Button + Popup

Ein Thema von taaktaak · begonnen am 10. Dez 2013 · letzter Beitrag vom 10. Feb 2014
Antwort Antwort
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.993 Beiträge
 
Delphi 7 Professional
 
#1

Delphi 7 / 2010 - Design von Button + Popup

  Alt 10. Dez 2013, 17:43
Moin, Moin.
Nachdem registrierten Anwendern derzeit "die letzte Chance" auf ein kostengünstiges Upgrade erhalten, habe ich mich endlich einmal mit meinem noch immer ungenutzen Delphi 2010 beschäftigt. Beim ersten "herumspielen" ist mir nun folgendes aufgefallen:

Das Aussehen der Buttons wird unter D2010 nun in den Projektoptionen gesteuert: Ohne Häkchen bei "Laufzeit-Themes aktivieren" erhalten z.B. die Buttons das altehrwürdige Aussehen, mit Häkchen erhalten sie das "moderne" Design. Das entspricht meiner Erwartungshaltung - gleiches wird durch das Einbinden des XP-Manifestes bei D7 erreicht. Dies gilt aber offenbar nicht für die IDE, hier werden die Buttons immer "modern" dargestellt.

Frage 1: Ist das gewollt, oder kann man einstellen, dass die Buttons auch in der IDE den gewählten Projektoptionen entsprechend dargestellt werden?

Die Darstellung der Popup-Menüs wird offenbar nicht durch die Projektoptionen gesteuert, die haben (zur Laufzeit, unter Win7) immer das moderne Design. Gleiches gilt übrigens auch für das alte D7. Aber das wird offenbar nicht durch Win7 erzwungen, denn in einigen "alten" Programmen erscheinen trotzdem die "alten Popup-Menüs" - und da sind aktive/inaktive Menüeinträge sehr viel besser unterscheidbar.

Frage 2: Gibt es für D7 und D2010 eine Möglichkeit auch unter Win7 die Optik der Popup-Menüs zu steuern?
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#2

AW: Delphi 7 / 2010 - Design von Button + Popup

  Alt 10. Dez 2013, 18:16
Frage 1: Ist das gewollt, oder kann man einstellen, dass die Buttons auch in der IDE den gewählten Projektoptionen entsprechend dargestellt werden?
Wie du schon treffend bemerkst, wird das durch das eingebundene Manifest bestimmt. Da zur Designzeit die IDE das ausführende Programm ist, gilt auch das dort eingebundene Manifest.

Aber das wird offenbar nicht durch Win7 erzwungen, denn in einigen "alten" Programmen erscheinen trotzdem die "alten Popup-Menüs" - und da sind aktive/inaktive Menüeinträge sehr viel besser unterscheidbar.

Frage 2: Gibt es für D7 und D2010 eine Möglichkeit auch unter Win7 die Optik der Popup-Menüs zu steuern?
Das könnte über ein OwnerDraw = true und entsprechende Event-Handler gelöst werden.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.993 Beiträge
 
Delphi 7 Professional
 
#3

AW: Delphi 7 / 2010 - Design von Button + Popup

  Alt 10. Dez 2013, 19:48
Vielen Dank für die Antworten...

Zitat:
wird das durch das eingebundene Manifest bestimmt
... und da während der Laufzeit ein Manifest nicht deaktiviert/aktiviert werden kann, muss man damit also leben. Na ja, es gibt schlimmeres.

Zitat:
ein OwnerDraw = true
Nun gut, selber zeichnen geht ja (fast) immer. Finde es nur unlogisch, dass mit dem Manifest das Aussehen vieler Controls gesteuert wird, aber nicht das Aussehen der Menüs.
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Delphi 7 / 2010 - Design von Button + Popup

  Alt 10. Dez 2013, 19:59
Nun gut, selber zeichnen geht ja (fast) immer. Finde es nur unlogisch, dass mit dem Manifest das Aussehen vieler Controls gesteuert wird, aber nicht das Aussehen der Menüs.
Wird es doch. Schau dir das Menü von notepad.exe an. Das ist das Design das die "XP"-Themes vorgeben.
Will man was anders haben (so wie Office2003 oder ander MS-Apps die hier was anderes einführen/definieren) so braucht man 3th-Party-Kompos.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.993 Beiträge
 
Delphi 7 Professional
 
#5

AW: Delphi 7 / 2010 - Design von Button + Popup

  Alt 10. Dez 2013, 20:09
Ich habe mich da offenbar etwas unklar ausgedrückt; tatsächlich verwirrt mich das ganze etwas!

Aber nach meiner Beobachtung ist das Aussehen der Memüs unabhängig davon, ob ein Manifest verwendet wird oder nicht. Das steht im Gegensatz zu anderen Controls, deren Gestaltung davon abhängig ist, ob ein Manifest eingebunden wurde oder nicht. Und das empfinde ich als unlogisch ...
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#6

AW: Delphi 7 / 2010 - Design von Button + Popup

  Alt 10. Dez 2013, 20:34
Über das Manifest wird nur die Verwendung der CommonControls geregelt, also Version davon verwendet wird.
Und dann kommt es darauf an, was zu den CommonControls gehört und ob die sich vielleicht selber Zeichnen (eigener Skin verwendet).

Aber nein, man kann auch irgendwie für einzelne Controls den neuen Style abschalten.
$2B or not $2B
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.993 Beiträge
 
Delphi 7 Professional
 
#7

AW: Delphi 7 / 2010 - Design von Button + Popup

  Alt 10. Feb 2014, 20:17
Moin, Moin.
Das Thema hat mich dann doch nicht ruhen lassen. Im Internet findet man ja einiges zum Popup-Ownerdraw. Allerdings habe ich zunächst nichts gefunden, um den äußeren Rand des Popups zu beeinflussen, alle Lösungen sehen daher ziemlich aus. Dann stieß ich auf zwei über zehn Jahre alte Beiträge im Entwickler-Forum und der DelphiPraxis, die genau dieses Problem behandelten. Die Lösung (Hook) von Hagen Reddmann habe ich ein wenig adaptiert - im Anhang eine experimentelle Hook-Klasse "MenuHook.pas" und eine winzige Beispiel-App "test11". Die Links zu den vorgenannten (interessanten) Beiträgen sind im Kopf der Unit "MenuHook" zu finden.
Funktioniert unter Xp und Win7.
Gruß
Ralph
Angehängte Dateien
Dateityp: zip Test11.zip (231,6 KB, 12x aufgerufen)
Ralph
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz