AGB  ·  Datenschutz  ·  Impressum  







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

MpuAboutWnd

Ein Thema von Luckie · begonnen am 6. Jan 2007 · letzter Beitrag vom 13. Jul 2007
Antwort Antwort
Seite 2 von 4     12 34      
Benutzerbild von Luckie
Luckie
Registriert seit: 29. Mai 2002
Ihr habt eventuell mitbekommen, dass ich heute kräftig an einem About-Dialog gearbeitet habe. Und mit der Hilfe von NicoDE und xarmox ist es mir dann auch gelungen das ganze zu meiner vollsten Zufriedenheit fertig zu stellen.

Ich wollte schon immer einen About-Dialog haben, der hübsch anzusehen und im Quellcode leicht zu handhaben ist. Früher habe ich MessageBoxen benutzt. Aber selbst meine benuterspezifischen MessageBoxen waren mir dann irgendwann mal etwas zu langweilig. Also habe ich mich heute mal hingesetzt und habe mir die Arbeit gemacht und einen About-Dialog geschrieben, der meinen Wünschen entspricht. Es war zwar ein gutes Stück Arbeit und ich musste einige Hindernisse überwinden, aber letztendlich hat sich für mich dann doch die Arbeit gelohnt. Ich will euch natürlich das Ergebnis meines Schaffens nicht vorenthalten und stellen ihn hiermit der Allgmeinheit zur Verfügung. Sourcecode und Screenshot im Anhang.

Delphi-Quellcode:
(*
*
*  How to use:
*  1.) Fill out the Fileversion properties:
*      - FileDescription
*      - FileVersion
*      - LegalCopyRight
*      - Productname
*      because these properties will be displayed in the dialog.
*
* 2.) Adjust the value of the constant URI.
* 3.) Replace the IconByteArray with the IconByteArray of your icon.
* 4.) Call the class procedure ShowAboutWnd:
*    TAboutWnd.ShowAboutWnd(Handle);
* 5.) Enjoy the dialog. ;)
*
*
* Special thanks go to NicoDE and xarmox for their help.
*
*)


 {*
  * If you wonder why...
  * Why don't use the VCL and formulars or at least a Dialog resource?
  * I wanted a nice About-Dialog that is easy to handle. I used to use
  * MessageBoxes and even customized MessageBoxes. But they are boring.
  * So I decided to roll up my sleeves and write a piece of code that
  * satisfies my needs: Nice to look at and easy to handle:
  * Just add the unit and call the dialog. If you use the VCL you always
  * have the dfm file that holds the formular. If you use dialog resource
  * you have the resource file and you have to include the resource
  * file into your source code. Now even the icon is in the sourcecode
  * you don't have a resource file for the icon.
  *
  *}
Was noh fehlt ist ein kleines Tool, was das Byte-Array für das Icon erzeugt und eventuell das ändern des Mauscursors in eine Hnad, wenn man über den Link fährt mit der Maus.

Über Kommentare und Kritik (auch am Code würde ich mich freuen).

Nachtrag: Hier noch das versprochene Tool, um ein Icon in ein Delphi Byte Array zu konvertieren. Der Quelltext landet in einer Textdatei. (Mit einem einzigen Icon in einer Icon-Datei hat es funktioniert.)
Miniaturansicht angehängter Grafiken
mpuaboutwnd_665.jpg  
Angehängte Dateien
Dateityp: pas mpuaboutwnd_186.pas (36,6 KB, 97x aufgerufen)
Dateityp: zip bintohexarray_186.zip (63,7 KB, 54x aufgerufen)
Ein Teil meines Codes würde euch verunsichern.
 
brechi
 
#11
  Alt 6. Jan 2007, 15:27
Willkommen in der Steinzeit.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#12
  Alt 6. Jan 2007, 17:41
Zitat von xaromz:
mein Nick lautet "xaromz", nicht "xarmox"! Obwohl der auch gut wäre.
Kleinigkeiten.

Zitat von brechi:
Willkommen in der Steinzeit.
Nun ja, ich programmiere eben doch noch ab und zu ohne die VCL. Und wie gesagt, alles in einer Datei. Ausserdem hat es Spass gemacht.
Michael
  Mit Zitat antworten Zitat
Benutzerbild von calculon
calculon

 
Delphi 7 Personal
 
#13
  Alt 6. Jan 2007, 22:52
Ich seh' leider immer nur den rechts unteren Teile des Fensters und durchblicke auch den Code nicht. An welcher Stelle definiere ich denn die Platzierung des about-Fensters?

Gruß

Calculon
--
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

 
Delphi 7 Enterprise
 
#14
  Alt 7. Jan 2007, 00:28
in der funktion wndproc unter wm_create, die ersten zeilen sind für die plazierung zuständig, sollte aber automatisch in der bildschirm mitte plaziert werden...


wieso denn steinzeit??? ich find das besser als mit vcl, macht mehr spass und progs laufen besser, ist natürlich auch mehr arbeit...

p.s. wozu steht vor den function das class???
Martin
  Mit Zitat antworten Zitat
Muetze1
 
#15
  Alt 7. Jan 2007, 02:33
Zitat von lbccaleb:
p.s. wozu steht vor den function das class???
Das sind das Class Functions bzw. statische Funktionen. Diese sind Instanzen-unabhängig und können dann auch ohne Instanz direkt aufgerufen werden.

D.h. du kannst seine About Box ohne Instanz zu erzeugen direkt so aufrufen:
TAboutWnd.ShowAboutWnd(Handle);
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

 
Delphi 7 Enterprise
 
#16
  Alt 7. Jan 2007, 02:38
aso danke, hatte mich gewundert hab ich vorher noch nie gesehen in solch einer form, zumindest nicht mehr woran ich mich erinnere???

das hätte ich eigentlich schon öfter mal gebrauchen können gut das ich das jetzt weiß


p.s. wohn auch in hro
Martin
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

 
Delphi 6 Personal
 
#17
  Alt 7. Jan 2007, 13:20
Also, ich find das Teil klasse. Habe aber dennoch einen Fehler gefunden, aber nur wenn man es unter der VCL tested. Beim Mouseover ueber die URL kömmt ein Berichsdingsfehler.
Bis jetzt hab ich den Fehler noch nicht desinfizieren können.
Matti
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#18
  Alt 7. Jan 2007, 21:06
Das Fenster wird nicht in der Bildschirmmitte zentriert, sondern über dem aufrufenden Fenster. Eventuell hast du ein ungültiges Handle oder das falsche Handle angegeben.

@turboPascal: Ich hatte es eigentlich unter einem VCL Programm entwickelt.
Michael
  Mit Zitat antworten Zitat
MrKnogge

 
Delphi 2007 Professional
 
#19
  Alt 7. Jan 2007, 21:22
Zitat von turboPASCAL:
Beim Mouseover ueber die URL kömmt ein Berichsdingsfehler.
Das kann ich nicht bestätigen, weder bei der ersten Version, noch bei der aktellen.

Das einzigste was mir aufgefallen ist, dass die Schrift größer wird, sie sich aber nicht mehr verkleinert.
Könnte man das noch ändern ?

Zitat von Luckie:
Das Fenster wird nicht in der Bildschirmmitte zentriert, sondern über dem aufrufenden Fenster.
Wenn du das Handle des Programms übergibst, dann wird das Fenster in der Bildschirmmitte zentriert angezeigt.
Christian Bootz
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

 
Delphi 6 Personal
 
#20
  Alt 7. Jan 2007, 21:29
hm, das muss ich nochmal am nächsten WE genauer ansehen, vill mach ich ja einen Fehler.
Matti
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


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 08:03 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