wxWidgets: Suche ein Beispiel für die wxListCtrl Komponente.



  • Ich möchte gerne eine Liste erstellen, die aus zwei Spalten und mehreren Zeilen besteht. Dies brauche ich, weil ich ein Vokabelprogramm für mich schreiben möchte mit dem ich lernen kann. Ich habe schon versucht eine zu erstellen, aber irgendwie werden meine Einträge nur in der ersten Spalte jeder Zeile angezeigt. Was habe ich vergessen oder sollte ich beachten?

    [...]
    srList = new wxListCtrl( mPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_HRULES|wxLC_REPORT|wxLC_VRULES );
    srList->InsertColumn(0, wxT("Deutsch"), wxLIST_FORMAT_LEFT, -1);
    srList->InsertColumn(1, wxT("Englisch"), wxLIST_FORMAT_LEFT, -1);
    srList->InsertItem(0, wxT("Seitenschneider"));
    srList->InsertItem(0, wxT("Schlitzschraubenzieher"));
    srList->InsertItem(0, wxT("Zange"));
    srList->InsertItem(1, wxT("side cutter"));
    srList->InsertItem(1, wxT("slotted screwdriver"));
    srList->InsertItem(1, wxT("forceps"));
    [...]
    

    Danke für eure Hilfe!

    Gruß,
    Stefan



  • Hallo Stefan,

    bei den WxWidgest-Samples gibt es ein Beispiel "ListCtrl", dass sich
    ausführlich mit wxListCtrl befasst.

    Gruß
    D.E.



  • Ich habe mir das Beispiel angeschaut. Bin aber daraus nicht schlau geworden. Ich möchte gerne wissen, wie ich auf eine beliebige Zelle zugreifen und den Eintrag ändern kann. Ich kann bis jetzt nur Zeilenweise, aber nicht Spaltenweise auf ein Eintrag zugreifen. Kann man mir keiner ein kleines Beispiel posten?


  • Mod



  • @phlox81
    Danke für den Hinweis; Es hat geklappt! 😉

    [...]
    long line;
    srList->InsertColumn(0, wxT("Deutsch"));
    srList->InsertColumn(1, wxT("Englisch"));
    line = srList->InsertItem(0, wxT("Hund"));
    srList->SetItem(line, 1, wxT("dog"));
    line = srList->InsertItem(1, wxT("Katze"));
    srList->SetItem(line, 1, wxT("cat"));
    line = srList->InsertItem(2, wxT("Maus"));
    srList->SetItem(line, 1, wxT("mouse"));
    [...]
    

    Gruß,
    Stefan



  • Die Einträge in der Report-Leiste sehen unter Linux wie Buttons aus. Wie kann ich den von der Report-Leiste ändern?


  • Mod

    Müsstest du mal in die Doku schauen, ob es entsprechende Styles gibt.

    Ansonsten, ich verwende in der Regel ein wxScrolledWindow statt einem wxListCtrl, ist ein wenig mehr arbeit in der Implementation, aber dafür kann man recht einfach neue Controls rein bringen.


Anmelden zum Antworten