MFC Tabelle Visual C++ 6.0

Dieses Thema MFC Tabelle Visual C++ 6.0 im Forum "Webentwicklung, Hosting & Programmierung" wurde erstellt von Paulchen29, 4. März 2006.

Thema: MFC Tabelle Visual C++ 6.0 Hallo, versuche mich gerade in Visual C++ einzuarbeiten. Komme von Java und habe ein wenig Probleme die Komponenten...

  1. Hallo,

    versuche mich gerade in Visual C++ einzuarbeiten. Komme von Java und habe ein wenig Probleme die Komponenten zu finden die ich brauche! Meine Frage ist gibt es irgendwo ein Steuerelement, mit dem ich eine schöne Tabelle darstellen kann (und nicht wie mit CListCtrl!!!) also so im Stile eines MS DataGrid (vielleicht ist es ja schon das richtige, bloß ich finde nichts, wie man hier Einträge ändern kann)! Es sollte möglich sein aus einer Datei Einträge zu lesen, diese in der Tabelle darzustellen, und jeden Eintrag vom Nutzer ändern lassen können. Vielleicht weiss jemand von Euch auch noch ein gutes Buch für Visual C++ 6.0, welches schön anschaulich genau solche Probleme erklärt, bzw. die Dinge, die man so für das tägliche Handwerk brauchen könnte. Es gibt für Java 5 ein wunderbares Buch, nämlich das Java 5 Kompendium von Markt+Technik! So was wäre das was ich mir für Visual C++ wünschen würde. Die Bücher die ich bis jetzt gefunden habe schreiben mir irgendwie viel zu allgemein.

    Würde mich über eine Antwort sehr freuen und vielen Dank für Eure Hilfe
     
  2. Nicht wirklich ... Deswegen gibt es auch relativ viele kommerzielle Grid-Controls. Eines der besten Grids in der Gruppe für lau ist das von Chris Maunder:
    http://www.codeproject.com/miscctrl/gridctrl.asp

    Natürlich gibt es auch andere Versuche, wie z.B.
    http://www.codeguru.com/cpp/controls/controls/gridcontrol/article.php/c5221/

    Man kann auch Microsoft FlexGrid einbinden, aber das würde ich nicht empfehlen (Fummelei; ist auch nicht sehr ergiebig).
    http://www.codeguru.com/cpp/controls/controls/gridcontrol/article.php/c5225/
    http://www.codeguru.com/cpp/controls/controls/gridcontrol/article.php/c5291/

    Hmm ... mein einziges richtiges Buch über Visual C++ < NET ist Inside Visual C++ Version 4 :D. Vorher (Visual C++ 1 z.B.) wurden neben einem Meter Disketten noch ungefähr drei Meter Bücher geliefert, danach habe ich eigentlich nur noch MSDN, Usenet & Co. genutzt. Darum kann ich Dir da nicht gut weiterhelfen.

    Nach der Vorwarnung nun einige Hinweise:
    - Es gibt ziemlich viele schlechte (bzw. oberflächliche Klick her, Klick da-) Bücher über VC++/MFC
    - Zwei der besseren Bücher scheinen diese zu sein:
      Programming Windows With MFC von Jeff Prosise (1999)
      MFC Internals: Inside the Microsoft Foundation Class Architecture (1996 ..., MFC 4.0)
    Ob es die noch neu zu kaufen gibt: Keine Ahnung.
     
  3. Hallo,

    erstmal vielen, vielen Dank, daß Du so schnell geantwortet hast. Habe aber noch ein kleines Problem:

    Ich habe mir jetzt bei CodeGuru die SourceFiles von Chris Maunder runtergeladen. Habe Sie alle in mein Projekt eingebunden. Nun schreibt der Autor des Grids, daß man ein Custom Control erstellen soll und als Klasse MFCGridCtrl eintragen soll. Dafür bin ich auf das von mir in mein Dialogfeld gezogenes Custom Control Element gegangen, dann rechte Maus und unter Properties diesen Klassennamen eingetragen. Glaube, daß dies so stimmt. Jetzt schreibt er, irgendwas davon, daß ich anstelle von DDX_Control DDX_GridControl verwenden soll und dies im Class Wizard einstellen soll. Bloß leider finde ich das nicht.

    Wäre nett, wenn Du nochmal schnell schauen könntest! Danke!
     
  4. Das kannst Du bei den aktuellen Versionen imho ignorieren:

    2.20       30 Jul 2000 - Chris Maunder
    ...
    // - Stupid DDX_GridControl workaround removed.

    In gridctrl.h befindet es sich noch aus Kompabilitätsgründen (es wird dort lediglich wieder in DDX_Control umdefiniert ...). Keine Ahnung, warum es noch in der Beschreibung steht.

    Ist richtig. Anderer Punkt: Wenn Du das Control per Dialog-Resource erzeugst (Custom Control), solltest Du gleich eine Control-Variable erzeugen: Rechtsklick auf das Control, Variable hinzufügen, Variablenname m_Grid (oder was Du willst), als Variablentyp von Hand CGridCtrl eintragen.
     
  5. Hi,

    danke für die Antwort! Leider kann ich per Hand keine Variable hinzüfgen! Ich gehe mit der rechten Maus auf mein Control und da stehen nur die Möglichkeiten: ClassWizard, Events, Properties! Habe versucht im ClassWizard eine anzulegen, aber das geht leider nicht! Hast Du vielleicht eine Ahnung an was das liegen könnte?
     
  6. Ja, VC6 ... da ist wohl etwas Handarbeit angesagt.
    Binde mal in stdafx.h die nötigen Header ein (#include GridCtrl.h) [Falls Du die GridCtrl-Dateien in einem
    Unterverzeichnis hast, natürlich #include DeinUnterverzeichnis/GridCtrl.h].
    Da Du die Dateien wohl nicht ändern wirst, sind die Header dort gut aufgehoben.

    Dann füge in die Dialogklasse
    CGridCtrl m_Grid;
    ein.

    Außerdem in die Methode DoDataExchange des Dialogs (nicht in die About-Box ...) am Ende
    DDX_Control(pDX, IDC_GRID, m_Grid);
    (ID entsprechend der ID in den Eigenschaften des benutzerdefinierten Steuerelementes).

    Wenn Du das Programm nun startest, solltest Du was sehen - natürlich ohne Zellen.

    Zum Testen kann Du gleich noch in OnInitDialog ein paar Zellen erzeugen:

    m_Grid.SetFixedRowCount(1);
    m_Grid.SetRowCount(10);
    m_Grid.SetColumnCount(3);

    m_Grid.SetItemText(0,0,A);
    m_Grid.SetItemText(0,1,B);
    m_Grid.SetItemText(0,2,C);

    m_Grid.ExpandColumnsToFit();

    etc.
     
Die Seite wird geladen...

MFC Tabelle Visual C++ 6.0 - Ähnliche Themen

Forum Datum
Excel: Visualisierung von riesiger Tabelle, brauche hilfe! Microsoft Office Suite 17. Aug. 2004
Excel Tabelle Werte zu ordnen Microsoft Office Suite 23. Sep. 2016
Einzelne Zeilen aus Tabelle Drucken. StarOffice, OpenOffice und LibreOffice 15. März 2016
Excel 2013 SVERWEIS ergibt bei Tabellenübergreifender Nutzung 0 Microsoft Office Suite 16. Sep. 2015
Excel Tabellen erstellen mit mehreren Prüfungen Microsoft Office Suite 28. Juli 2015