Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   MpuAboutWnd (https://www.delphipraxis.net/83772-mpuaboutwnd.html)

Luckie 6. Jan 2007 00:44


MpuAboutWnd
 
Liste der Anhänge anzeigen (Anzahl: 3)
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.)

Alexander 6. Jan 2007 08:58

Re: MpuAboutWnd
 
Schick :)
Vielleicht wäre es interessant, die Versionsnummer direkt aus dem Projekt auszulesen.

turboPASCAL 6. Jan 2007 09:39

Re: MpuAboutWnd
 
Hi,

isch galube da muss an Stelle von DWORD ein Integer hin:
Delphi-Quellcode:
function LinkStcWndProc(hLinkStc, uMsg, wParam, lParam: DWORD): DWORD; stdcall;
sonst kommt bei
Delphi-Quellcode:
Result := CallWindowProc(OldStcWndProc, hLinkStc, uMsg, wParam, lParam);
ein Fehler bei Bereichsprüfung.

Luckie 6. Jan 2007 09:43

Re: MpuAboutWnd
 
Zitat:

Zitat von Alexander
Schick :)
Vielleicht wäre es interessant, die Versionsnummer direkt aus dem Projekt auszulesen.

Was meinst du?

MrKnogge 6. Jan 2007 10:05

Re: MpuAboutWnd
 
Er möchte, dass dein Dialog die Versionsinformationen die als Resource in dein Programm eingebunden werden können benutzt.

Luckie 6. Jan 2007 10:10

Re: MpuAboutWnd
 
Tut es doch: FileVersion. Ich vermute eher, er meint Versionsinformationen, die er als Kommentar im Datei-Header benutzt.

Neue Version hochgeladen:
- Es wurden nicht alle Objekte freigegeben.
- Code kommentiert.

MrKnogge 6. Jan 2007 11:46

Re: MpuAboutWnd
 
Klasse !
Funktioniert alles ohne Probleme, auch dein BinToHexArray. Aber warum liest du nicht einfach das Icon der binary aus ?

Luckie 6. Jan 2007 11:49

Re: MpuAboutWnd
 
Könnte ich auch machen, aber wenn man im Dialog ein anderes Icon haben will, hat man ein Problem. ;) Ich will zum Beispiel im About-Dialog mein persönliches Icon haben und nicht das von der Anwendung.

Aber dass es so gut funktioniert freut mich. :P

MrKnogge 6. Jan 2007 11:52

Re: MpuAboutWnd
 
Zitat:

Zitat von Luckie
... aber wenn man im Dialog ein anderes Icon haben will, hat man ein Problem...

Ok überredet :mrgreen:
Daran habe ich jetzt nicht gedacht.

xaromz 6. Jan 2007 14:37

Re: MpuAboutWnd
 
Hallo,

mein Nick lautet "xaromz", nicht "xarmox"! Obwohl der auch gut wäre.

Ansonsten: Thumbs up!

Gruß
xaromz


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:52 Uhr.
Seite 1 von 4  1 23     Letzte »    

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