[wxWidgets] Dialog von Resource laden
-
Guten Tag
In einem Anfall von Liebe zu OpenSource habe ich den Borland C++ Builder geschlossen und mir das MinGW Developer Studio angeschaut. Ihm sind die wxWidgets beigelet. Ich kam nun neulich in die Situation, einen Dialog von einer externen Resource (.rc) laden zu wollen. Den Dialog habe ich mit dem eingebauten Resource-Editor erstellt und in das Projekt eingefügt, included usw.
Frohgemut rufe ich also *LoadFromResource(wxWindow parent, wxString resourceName) der Klasse wxWindow auf. Dafür muss in der setup.h zunächst die Verwendung von Resourcen-Funktionen explizit aktiviert werden#define wxUSE_WX_RESOURCES 1
Der Linker beschwert sich, er kann diese Funktion nicht auflösen. "Naja,", denke ich mir, "kann ja sein, dass Werauchimmer das nicht in die vorkompilierten Bibliotheken gesteckt hat. Mach ich das halt selber."
Freundlicherweise vermerkt wxWindow.hthese functions are implemented in resource.cpp and resourc2.cpp
Und jetzt gehts los: Diese beiden Dateien wurden als veraltet markiert und sind nicht im aktuellen Paket enthalten. Alte Versionen funktionieren natürlich in der neuen Umgebung nicht.
Gibt es da irgendwo einen Kniff wie "Ja, du musst nur die drei Zeilen hier ändern: ..." oder müsste ich mich in dieses XML-Resouce-Format von wxWidgets einfuchsen?
-
Weiss nicht wieso du einen Dialog aus den Resourcen laden willst, eigentlich erstellt man den als Klasse in wxWidgets.
Oder du benutzt das wxXMLResourceformat. Hab mit wxXRC aber keine Erfahrung. Und wenn du Sachen in der setup.h änderst, musst du i.d.R. die Library danach neu bauen.
-
phlox81 schrieb:
Weiss nicht wieso du einen Dialog aus den Resourcen laden willst, eigentlich erstellt man den als Klasse in wxWidgets.
Mir ist diese Technik aus Java bekannt und verstehe, dass sie Vorteile hat, jedoch hab ich halt nur gern einen WYSWIG, der mir bekannt vorkommt.
phlox81 schrieb:
Und wenn du Sachen in der setup.h änderst, musst du i.d.R. die Library danach neu bauen.
Das würde ich ja gerne, aber ich kann die Implementierung für Resourcen nicht finden.
Nun denn - ich werde mir mal die WXR-Editoren ansehen.
-
Würde dir empfehlen dich mit dem Sizerkonzept von wxWidgets auseinander zusetzen, es ist "Freehand" Dialogen bei weitem Überlegen.