wxwidgets Funktion als Eingabeparameter für andere Funktion
-
Hallo!
Mein Problem lautet wie folgt:
Ich will, dass wenn ich einen Knopf "a" drücke, eine Funktion aufgerufen wird die einfach ein bestimmtes Char als Rückgabewert hat. In einer anderen Funktion soll dieser Rückgabewert dann als Eingabeparameter verwendet werden.Wie kann man das mit wxwidgets realisieren?
MfG MD
-
Was genau willst du denn bezwecken?
Callbacks für Buttons können keine Rückgabe Parameter haben, deswegen wären mehr Details nötig was genau du machen willst.. dann sag ich dir wie es geht.
-
Es geht dabei umd die Berechnung der Raketengleichung.
Also ich hab drei Raketen mit unterschiedlichen Daten.Der Benutzer soll sich also zuerst für eine Rakete entscheiden, in der GUI einen Knopf "a", "b" oder "c" drücken. Nach dieser Eingabe soll ein Knopf "Berechnung" erzeugt werden mitdem dann die Berechnung beginnt. Wie ich den Knopf während das Programm läuft erzeugen kann, hab ich schon rausgefunden.
Jetzt soll der Knopf "a", "b" oder "c" der Funktion die ausgeführt werden soll wenn "Berechnung" geklickt wird, die gewünschten Daten auch übergeben.Ich hab mir das so vorgestellt das zB der Knopf "a" einfach ein Char "a" als Rückgabewert hat, dieses Char soll dann als Eingabeparameter beim Knopf "Berechnung" dienen und dort dann mittels if-Schleife die richtigen Daten ausgewählt werden.
MfG MD
-
Das beste wäre in dem Fall dem Button einfach die Daten mitzugeben. Dazu leitest du einfach eine eigene Klasse von wxButton ab:
[cpp]
class MySpecialButton : public wxButton
{
private:
wxChar m_data;public:
MySpecialButton( wxChar data, wxWindow* parent, wxWindowID id, const wxString& label = wxEmptyString, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0)
: wxButton( parent, id, label, pos, size, style, wxDefaultValidator, "MySpecialButton"), m_data(data)
{}wxChar getData() const { return m_data; }
};
[/code]
-
Hmm, versteh ich nicht ganz, aber ich könnte es doch lösen indem ich einfach 3 Button erzeuge, und in der Funkion die aufgerufen wird wenn einer dieser Button gedrückt wird einfach schon die Daten drinnen habe. Zum Beispiel wähle ich "a" dann wird genau der von diesen 3 Button erzeugt der die Daten von "a" beinhaltet.
Spricht etwas gegen diese Methode?
MfG MD
-
Ok jetzt hab ichs geschafft.
Ich hab einfach in der Haupt Frame Klasse eine Eigenschaft "Char data" hinzugefügt und auf dieses "data" entweder "a" "b" oder "c" gespeichert, das "data" hab ich dann in der Haupt "Berechnen" Funktion verwendet.Nun sollte es in meinem Programm aber auch möglich sein, nicht nur voreingestellte Raketen zu wählen, sondern auch eigene Daten eingeben zu können.
Ich hab bis jetzt aber noch kein Element gefunden was zB eine eingegebene Zahl auf einen Zeiger speichert.
Kann mir da jemand einen Tip geben?MfG MD
-
Das musst du schon selber machen^^.