www.mikrocontroller.net

Forum: Compiler & IDEs wxWidgets text setzen


Autor: phreak (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, ich habe eine kleine GUI und will das wenn ich auf den Butten 
klicke eine Fehlermeldung erschein:
code des dialogs:
/***************************************************************
 * Name:      rs232_plotterMain.cpp
 * Purpose:   Code for Application Frame
 * Author:    goaran (baer@dyyyh.de)
 * Created:   2009-07-21
 * Copyright: goaran (robotik.dyyyh.de)
 * License:
 **************************************************************/

#include "rs232_plotterMain.h"
#include "rs232.c"
#include <wx/msgdlg.h>
//(*InternalHeaders(rs232_plotterDialog)
#include <wx/string.h>
#include <wx/intl.h>
//*)

//helper functions
enum wxbuildinfoformat {
    short_f, long_f };

wxString wxbuildinfo(wxbuildinfoformat format)
{
    wxString wxbuild(wxVERSION_STRING);

    if (format == long_f )
    {
#if defined(__WXMSW__)
        wxbuild << _T("-Windows");
#elif defined(__UNIX__)
        wxbuild << _T("-Linux");
#endif

#if wxUSE_UNICODE
        wxbuild << _T("-Unicode build");
#else
        wxbuild << _T("-ANSI build");
#endif // wxUSE_UNICODE
    }

    return wxbuild;
}

//(*IdInit(rs232_plotterDialog)
const long rs232_plotterDialog::ID_BUTTON1 = wxNewId();
const long rs232_plotterDialog::ID_TEXTCTRL1 = wxNewId();
const long rs232_plotterDialog::text1 = wxNewId();
//*)

BEGIN_EVENT_TABLE(rs232_plotterDialog,wxDialog)
    //(*EventTable(rs232_plotterDialog)
    //*)
END_EVENT_TABLE()

rs232_plotterDialog::rs232_plotterDialog(wxWindow* parent,wxWindowID id)
{
    //(*Initialize(rs232_plotterDialog)
    wxGridSizer* GridSizer1;

    Create(parent, wxID_ANY, _("wxWidgets app"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE, _T("wxID_ANY"));
    GridSizer1 = new wxGridSizer(0, 3, 0, 0);
    Button1 = new wxButton(this, ID_BUTTON1, _("Open Port"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON1"));
    GridSizer1->Add(Button1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    TextCtrl1 = new wxTextCtrl(this, ID_TEXTCTRL1, _("Text"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL1"));
    GridSizer1->Add(TextCtrl1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    StaticText1 = new wxStaticText(this, text1, _("Label"), wxDefaultPosition, wxDefaultSize, 0, _T("text1"));
    GridSizer1->Add(StaticText1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    SetSizer(GridSizer1);
    GridSizer1->Fit(this);
    GridSizer1->SetSizeHints(this);

    Connect(ID_BUTTON1,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&rs232_plotterDialog::OnButton1Click);
    //*)
}

rs232_plotterDialog::~rs232_plotterDialog()
{
    //(*Destroy(rs232_plotterDialog)
    //*)
}

void rs232_plotterDialog::OnQuit(wxCommandEvent& event)
{
    Close();
}

void rs232_plotterDialog::OnAbout(wxCommandEvent& event)
{
    wxString msg = wxbuildinfo(long_f);
    wxMessageBox(msg, _("Welcome to..."));
}

void rs232_plotterDialog::OnButton1Click(wxCommandEvent& event)
{
open_port();
}

und der code der den text seten soll ( ist n serieller port öffner)
#include <stdio.h>   /* Standard input/output definitions */
#include <string.h>  /* String function definitions */
#include <unistd.h>  /* UNIX standard function definitions */
#include <fcntl.h>   /* File control definitions */
#include <errno.h>   /* Error number definitions */
#include <termios.h> /* POSIX terminal control definitions */


 int open_port(void)
    {
      int fd; /* File descriptor for the port */


      fd = open("/dev/ttyS3", O_RDWR | O_NOCTTY | O_NDELAY);
      if (fd == -1)
      {
        
        
        ?????????????????????????

      }
      else
  fcntl(fd, F_SETFL, 0);

      return (fd);
    }

da wo ???????? steht weis ich nicht wie ich den text setzen kann 
(StaticText1 text1 )

Kann mir bitte jemand helfen, habe noch nicht so die Ahnung von C++

Danke schon mal..

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was sagt denn die Dokumentation zur Klasse wxStaticText? Was hat 
wxStaticText für Memberfunktionen?

Autor: Mark Brandis (markbrandis)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ohne jetzt wxWidgets tatsächlich zu kennen (muss ich mir demnächst 
definitiv mal anschauen, scheint ne interessante Alternative zu Qt zu 
sein):

StaticText1->SetLabel("Fehlermeldung");

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.