AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Customized About MessageBox
Thema durchsuchen
Ansicht
Themen-Optionen

Customized About MessageBox

Ein Thema von Luckie · begonnen am 19. Dez 2006 · letzter Beitrag vom 1. Feb 2007
 
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

Customized About MessageBox

  Alt 19. Dez 2006, 12:46
Man kennt das ja vielleicht. Man hat ein kleines Tool geschrieben und jetzt will man noch einen About-Dialog anzeigen. Um das Programm nicht noch mit einem zusätzlichen Formular aufzublähen oder um nicht noch einen zusätzlichen Dialog in einer WinAPI-Anwendung erstellen zu müssen, benutzt man eine einfache MessageBox. Jetzt hätte man es aber gerne, dass der Benutzer doch irgendwie die Möglichkeit hat, die Homepage zu besuchen. Entweder man macht nun doch einen zusätzlichen Dialog / Form oder man bohrt die MessageBox etwas auf. Und genau das habe ich gemacht. Rausgekommen ist dabei eine einfach anzuwendende Klasse, um eine Aboutbox anzuzeigen, die eine zusätzliche Schaltfläche enthält, um eine Webseite im standard Browser aufzurufen. Wie das ganze dann aussieht, kann man sich im angehängten Screenshot angucken.
Zusätzlich wird auch noch die Beschreibung der Exe und deren Versionsnummer automatisch aus der Ressource ausgelesen. Man muss sich also nicht mehr um viel selber kümmern.

Im Anhang die Unit MpuAboutMsgBox.pas mit der About-Dialog MessageBox und ausserdem eine Demo-Anwendung.

Ein paar Worte, wie das ganze Funktioniert:
Es wird ein lokaler Hook installiert, wenn die MessageBox aufgerufen und wieder deinstalliert, wenn die MessageBox geschlossen wird. In der Hook-Prozedur werden die beiden Schaltflächen "OK" und "Cancel" einfach nur neu beschriftet und das war es auch schon.
Zu Konflikten mit anderen Messageboxen kann es dabei nicht kommen, da der Hook lokal ist, sich also nicht auf andere Prozesse auswirkt und andere MessageBox, im gleichen Prozess, können auch nicht beeinflusst werden, da der Hook erst installiert wird, wenn die MessageBox angezeigt und wieder deinstalliert wird, wenn die MessageBox geschlossen wird. Eine andere MessageBox kann nicht angezeigt werden, da die AboutMsgBox modal angezeigt wird.

Auf vielfachen Wunsch habe ich die Klasse noch etwas aufgebohrt. man kann jetzt auch ein eigenes Icon anzeigen lassen. Dies muss in der Ressource vorliegen und wird über die ID ausgewählt.

Im Screenshot noch mal alle vier Möglichkeiten die About-Messagebox anzeigen zu lassen.
Miniaturansicht angehängter Grafiken
mpuaboutmsgbox_117.jpg  
Angehängte Dateien
Dateityp: zip demo-tabout_936.zip (44,1 KB, 197x aufgerufen)
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
 


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 22:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz