Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi NonVCL "Fenster von Hand" vs Dialog (https://www.delphipraxis.net/124528-nonvcl-fenster-von-hand-vs-dialog.html)

Mr_G 20. Nov 2008 14:39


NonVCL "Fenster von Hand" vs Dialog
 
Hallo zusammen,
ich wollte mal wissen wann man am besten Fenster "von Hand" erstellt und wann man mit Dialogen arbeitet. Prinzipiell dachte ich mir, dass Dialoge wohl für kleine Informationen oder Eingaben gedacht sind (wie die Systemdialoge eben). Man könnte aber doch auch sein ganzes Programm daraus bauen, oder?
Wann sollte man also Dialoge nutzen und wann nicht?
Gruß

Mr_G

turboPASCAL 20. Nov 2008 15:08

Re: NonVCL "Fenster von Hand" vs Dialog
 
Wie der Name schon sagt dient der Dialog dazu einen Dialog mit dem Benutzer zu füren. ;)

himitsu 21. Nov 2008 09:38

Re: NonVCL "Fenster von Hand" vs Dialog
 
Klar kann man das gesamte Programm daraus bauen.
Kommt doch nur darauf an, wie man diesen läd?

Dialoge sind doch nichts anderes, als die Forms der VCL.
Im Grunde hat man damit doch auch noch einen Vorteil > Trennung von Code und UI.

Wenn du ein Fenster/Dialog mehrmals verwenden möchtst, dann macht sich soeine Dialog-Resource recht gut, ebenso bei umfangreichen Fenstern, mit vielen Objekten darauf ... kleiner Sachen lassen sich dagegen schonmal schneller/einfacher per Code erstellen.

Mr_G 21. Nov 2008 09:44

Re: NonVCL "Fenster von Hand" vs Dialog
 
@turboPASCAL: Das mache ich in der Regel auch mit einem Fenster ;)
@himitsu: Besten Dank! Es ist also reine Geschmackssache und bringt keine Vor- und Nachteile (abgesehen vom Code-Stil). :hello:

himitsu 21. Nov 2008 10:42

Re: NonVCL "Fenster von Hand" vs Dialog
 
Zitat:

Zitat von Mr_G
@himitsu: Besten Dank! Es ist also reine Geschmackssache

sozusagen :angel:

Zitat:

Zitat von Mr_G
und bringt keine Vor- und Nachteile (abgesehen vom Code-Stil). :hello:

Vorteile von den Resourcen wären halt, daß es schön getrennt ist
Nachteil, es ist getrennt (brauchst ja 2 Editoren und mußt bei änderung erstmal die resource neu erstellen)

außerdem läßt sich die resource auch von anderen (über einen Resourceneditor) in der EXE noch leicht ändern (kann man als Vor und Nachteil ansehn)

Resourcen lassen sich in mehreren Sprachen erstellen oder man kann beim Komilieren verschiedene Resourcendateien einbinden und somit leicht mehrere Sprachversionen der EXE bekommen und sogar Mehrsprachig, ohne daß man was im QuellCode dafür machen muß.

Im QuellCode kann man dafür Dynamischer arbeiten und beim Erstellen/Laden des Fensters und alles was drauf ist, besser das Layout anpassen.

Mr_G 21. Nov 2008 14:57

Re: NonVCL "Fenster von Hand" vs Dialog
 
Zitat:

Zitat von himitsu
außerdem läßt sich die resource auch von anderen (über einen Resourceneditor) in der EXE noch leicht ändern (kann man als Vor und Nachteil ansehn)

Gut... das habe ich nicht bedacht. Ich denke das ist aber recht neutral anzusehen.
Zitat:

Zitat von himitsu
Resourcen lassen sich in mehreren Sprachen erstellen oder man kann beim Komilieren verschiedene Resourcendateien einbinden und somit leicht mehrere Sprachversionen der EXE bekommen und sogar Mehrsprachig, ohne daß man was im QuellCode dafür machen muß.

Wobei sich mir hierbei die Frage stellt ob es nicht eleganter wäre Resourcestrings zu nutzen und diese dann im gesamten Programm zu verwenden.
Zitat:

Zitat von himitsu
Im QuellCode kann man dafür Dynamischer arbeiten und beim Erstellen/Laden des Fensters und alles was drauf ist, besser das Layout anpassen.

Mittels GetDlgItem sollten sich doch bei Dialogen auch keine Einschränkungen ergeben, oder?

Luckie 21. Nov 2008 15:01

Re: NonVCL "Fenster von Hand" vs Dialog
 
Also bei Dialogressourcen hat man eben den Vorteil, dass man sich die Oberfläche zusammenklicken kann. macht man es ohne dialogressourcen ist man andauenrt am ausprobieren, wie es denn nun aussieht.

Desweiteren hat man den DialogManager zur Verfügung, der einem Arbeit abnimmt. So kann man automatisch mit dem tabulator von einem Stuererlemt zum nächsten springe ohne zusätzlicher Code und man braucht für einfache Dialoge* auch keine Nachrichtenschleife implementieren.

*) Benutzt man Shortcuts braucht man allerdings wieder eine.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:30 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