[wxWidgets]Fehler beim Designen
-
Hallo Leute,
nach langem hin und her mit anderen Programmiersprachen, setze ich mich grade mit C++ auseinander und bin nun bei den Windowsanwendungen hängen geblieben.
Der Designer von wxWidget wirft mit aber ein Fehler wenn ich die StaticBitmaps verwenden will.Ich erzeuge also ein jungfräuliches wxWidgets Frame und kompiliere es einfach mal....fehlerfrei (welch wunder *g*)
Dann erstelle ich ein staticBitmap in meinem Form und lasse es noch leer (oder mal ne Farbe rein), kompiliere....klappt auch.
Aber nun möchte ich eine Grafik reinsetzen (egal ob bmp oder jpg) und kompiliere es neu und da passierts. Compiler wirft einen Fehler weil die dazugehörige XPM datei im Ordner Images fehlt.
Blöde Frage: Wie erzeuge ich diese?
Liebe Grüße Gucky2000
-
xpm ist nur ein weiteres Grafikformat, wie jpg oder bmp.
Es gibt Converter (wxWidgets kann dies auch), und gängige Bildbearbeiter wie z.b. Gimp können auch ins xpm format speichern.Wenn du ein bmp oder ein jpg verwendest, sollte da nix passieren.
Wohl musst du zum Laden des Bildes dann wxImage benutzen, und dieses dann in ein wxBitmap umwandeln.
-
Also ich erzeige hier ein Feld mit StaticBitmap, sonst bietet mir der Designer leider nichts an, was mit Grafik zu tun hat (außer einem Button mit Grafik)
Dann geh ich auf Picture: EditPicture in den Properties. Bis hierhin hab ich noch keine Zeile Code von Hand eingefügt, sondern nur den Designer benutzt.
Leider ist mir nicht ganz klar wie ich sonst eine Grafik einfügen kann.Gruß Gucky2000
-
Hier mal die Zeile die er bemängelt (die ist mir auch ziemlich schleierhaft, weil normal werden doch nur header oder ähnliches inkludiert)
#include "Images/MainFrm_WxStaticBitmap1_XPM.xpm"
Er versucht hier aber diese xpm datei zu inkludieren, die nicht existiert.
Grüße
-
Dann musst du wohl im Designer (welchen benutzt du?) es entsprechend einstellen, das er ein anderes Bild als XPM nimmt.
-
Ich benutze wxWidget únd er akzeptiert auch meine jpgs und bmps und gifs, zeigt sie sogar im designer an, trotzdem will er diese imaginäre XPM inkludieren, die er aufgrund des einbindens der jpg (oder sonstiges) einbinden will. Er erzeugt ja diese Zeile aufgrund dessen.
Das macht nur keinen Sinn eine XPM zu inkludieren oder?Also: #include "Grafikdatei.xpm" macht doch eigentlich keinen Sinn oder liege ich da falsch?
Grüße
-
Natürlich ist es nutzlus, wenn du keine xpms hast, ergo müsstest du es irgendwo einstellen können, das er dies nicht tut.
Kompiliert er denn korrekt, wenn du das #include auskommentierst?
-
nein dann fehlt die datei weiter unten. es ist echt zum haare raufen, man kann das aber nach meinem wissen nicht abschalten oder einschalten. und wenn ich was von hand mache, zeigt es der designer nicht an, das ist dann äußerst hinderlich
-
Ich persönlich verwende deshalb die Designer nur noch selten.
-
Vielleicht weiß einfach jemand wie man eine Grafik sonst in ein form einbaut.
Bin ja für viele Möglichkeit offen.
-
Welchen Designer benutzt du eigentlich?
-
wxWidgets, so heißt der doch der bei wxDev-cpp genutzt wird. der gehört zum package dazu.
-
Der gleiche fehler passiert übrigens wenn man bei icon was anderes als ico benutzt. Habe da jetzt ein Icon benutzt und siehe da, er erstellt die xpm datei für das icon.
Ich nehme daher an das ich das richtige format rausfinden muss um es in staticBitmap zu verwenden.
Jemand eine idee?
-
Problem gefunden. Der Compiler kann nur 256 Farben verarbeiten, bei 24-bit BMPs oder JPGs geht er in die Krätsche.
Trotzdem Danke für die Hilfe
-
Gucky2000 schrieb:
wxWidgets, so heißt der doch der bei wxDev-cpp genutzt wird. der gehört zum package dazu.
Nein, wxWidgets ist die Library, aber es gibt viele GUI Designer dafür.
Wenn du noch wxDevCpp nutzt, würde ich dir den Wechsel zu Code::Blocks empfehlen.
wxSmith ist einfach besser was diese Dinge anbetrifft.
-
Was jedoch nicht zu vergessen ist, dass wxDev-C++ ein aktuelles Projekt ist, und auch einige kleine Erweiterungen zu Dev-C++ hat. Den RAD Designer finde ich garnicht mal so schlecht. Und dass nur Bitmaps mit 256 Farben unterstützt werden, liegt weder am Compiler noch am Editor.
-
mikey schrieb:
Was jedoch nicht zu vergessen ist, dass wxDev-C++ ein aktuelles Projekt ist, und auch einige kleine Erweiterungen zu Dev-C++ hat.
Was nicht heist, das es nicht bessere alternativen gibt. C::B ist auch ein sehr aktives Projekt. (welches übrigens auch aus Dev-Cpp hervorging).
mikey schrieb:
Den RAD Designer finde ich garnicht mal so schlecht.
Es gibt viele Radtools (und jeder findet ein anderes besser), aber offensichtlich scheint hier der Dev Cpp doch fehlerhaft.
Da ein XPM ja nicht verlangt wurde.mikey schrieb:
Und dass nur Bitmaps mit 256 Farben unterstützt werden, liegt weder am Compiler noch am Editor.
Am compiler kanns nicht liegen, da dies eine Frage der Datenstruktur und nicht der Syntax/Sprache ist.
Der Editor scheint aber nicht unschuldig, da wxWidgets dies durchaus kann, also scheint der Editor hier nicht ganz
den neuesten Stand von wxWidgets zu kennen bzw. einfach in diesem fall fehlerhaften Code zu erzeugen.
-
Im offiziellen wxDev Forum ist das Problem bekannt, aber sie wissen bislang nicht woran es liegt. Hüpfe gerade dort durchs Forum und scheinbar "vergisst" der Editor unter gewissen Umständen die XPM zu erstellen, meldet aber keinen Fehler.
Darum mein Tipp an alle die den Editor trotzdem nutzen:
Einfach eine 256 Farben Version einbauen und am Ende mit Gimp eine "richtige" XPM mit den geforderten Farben erzeugen und über die "vorläufige" 256 Farben Version im Images Ordner schreiben.