mikrocontroller.net

Forum: PC-Programmierung Wie funktioniert dies in Visual C++ 2008?


Autor: Klippi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich bin daran Teilweise von Delphi auf Visual C++ umzusteigen. Obwohl 
ich ein Buch dazu gekauft habe gibt es natürlich immer offene Fragen. 
Bin noch nicht sehr erfahren in C++ aber es geht mit relativ grossen 
Schritten voran.



1. Frage. In Delphi nennt sich das Objekt "Memo" in Visual C++ weiss ich 
nun nicht ob es "RichtTextBox" oder "TextBox" (Multiline) ist. Welches 
kommt Memo am nächsten? Ich vermute "Textbox"

Und mit welchem Code kann kann ich eine Zeile Text hinzufügen/löschen.


2. Wie komme ich am einfachsten mit statusStrip zu einer Statusleiste 
wie in Delphi?

Wie kann ich eine Zelle in dataGrid einzeln einfärben. Ich nehme an dass 
dataGrid das Gegenstück zum StringGrid ist?

Mit bestem Dank im Voraus

MfG

Kippi

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Soweit ich mich noch erinnere:

Klippi schrieb:
> 1. Frage. In Delphi nennt sich das Objekt "Memo" in Visual C++ weiss ich
> nun nicht ob es "RichtTextBox" oder "TextBox" (Multiline) ist. Welches
> kommt Memo am nächsten? Ich vermute "Textbox"
Textbox. In Delphi gibt es auch eine RichTextBox, das ist dann etwa 
dieselbe, wie die aus der MFC und kann auch ansatzweise formatieren.

Und verwechsle C++ nicht mit irgendwelchen Bibliotheken (MFC...)! C++ 
bietet keine 'Textboxen' oder sowas.

> Wie kann ich eine Zelle in dataGrid einzeln einfärben. Ich nehme an dass
> dataGrid das Gegenstück zum StringGrid ist?
In Delphi hätte man eine der Zeichenroutinen ausgewertet ('Draw' oder 
sowas) und dort eingefärbt.


Andre Frage: Warum möchtest du auf VC++ umsteigen?

Autor: Klippi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Andre Frage: Warum möchtest du auf VC++ umsteigen?

Also umsteigen ist vielleich das falsche Wort. Ich programmiere immer 
noch gerne Delphi und werde es vermutlich noch lange machen. Aber immer 
mehr Kunden verlangen Projekte in VC++. Ich selber will mich aber auch 
ein bisschen weiterentwickeln und nicht nur Delphi und Basic 
Programmieren.

Autor: Mark Brandis (markbrandis)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klippi schrieb:
> Aber immer mehr Kunden verlangen Projekte in VC++.

Heißt das, das es bestehenden Code gibt der weiterentwickelt werden 
soll? Dann verstehe ich diese Einschränkung ja. Bei einem neuen Projekt 
freilich sollte man das wählen, was für den Einsatzzweck am besten 
passt, und da kann die Antwort nicht immer gleich lauten.

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eben, und VC++ ist nicht gerade komfortabel.

Delphi hat gegenüber C++ keine technischen Nachteile, würde ich 
behaupten. Ist etwas mehr Tipparbeit, wenn man das so sehen will. Aber 
lieber guten Delphi-Quelltext als mühsamen und krampfhaften 
C++-Quelltext.

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde nicht von Delphi auf C++ umstigen, bei C / C++ hast du es auf 
einmal mit vielen Problemen zu tun die du noch nie kanntest. Du müsstest 
erstmal C / C++ lernen und danach dich mit der MFC beschäftigen.

Wenn überhaupt würde ich C++ für Programme ohne GUI verwenden. Wenn sie 
eine Gui brauchen würde ich auf .NET wechseln. Da ist der 
einarbeitsungsaufwand wensentlich geringer und das Ergebniss ist etwas 
das gleiche.

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, wenn schon C++, dann auch mit ordentlichem GUI. Wenn er sich 
konsequent z.B. an QT oder GTKmm hält, dann hat er auf einen Schlag 
schon Plattformunabhängigkeit ohne Mehraufwand.

Autor: Mark Brandis (markbrandis)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
C++ mit Qt rockt ziemlich hart :-)

Autor: Klippi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie gesagt die Kunden wollen immer mehr in VC++. Je länger desto mehr 
wollen sie von Delphi nichts mehr wissen. Sie lassen sich auch nicht 
umstimmen. Kunde ist König und ich muss machen was sie wollen sonst 
gehen mir die Aufträge durch die Lappen.

Alleine schon deshalb will ich VC++ programmieren lernen.

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann frag doch die kunden erstmal ob sie auch mit .net leben können. 
VC++ ist nun mal nicht das ideale für eine Gui.

Ich bin sonst eignetlich auch für C/C++ aber wenn es im Anwendungen mit 
GUI geht ist .net wesentlich besser.

Was heist ausserdem Kunden wollen VC++, welchen Framework wollen sie 
denn für ein GUI?

Autor: Jean Player (fubu1000)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...
Oder gleich den Borland Builder mit seinen Delphi Bibliotheken nehmen.
Gruß

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klippi schrieb:

> Alleine schon deshalb will ich VC++ programmieren lernen.

Was verstehst du unter VC++?

VC++ ist erst mal nur der C++ Compiler. Wenns um GUI geht kannst du 
damit noch nicht viel anfangen. Als C++ Compiler hingegen gehört er 
mittlerweile auf einen der vorderen Plätze.

Jetzt kommt es drauf an, wie du den GUI Teil realisierst.
MFC   ist alt, persönlich mag ich sie gerne, weil ich damit seit mehr
      als 10 Jahren vertraut bin. Vorteil: wird von MS (wenn auch mehr
      schlecht als recht) gewartet. Dinge die die MFC nicht mitbringt
      muss man selber bauen, was auch mal heißen kann, in die MFC
      einzugreifen. Das vorgegebene Document/View System führt bei
      Selbstdisziplin zu Programmen, die sich gut warten und erweitern
      lassen.
      Für die MFC gibt es auch Zusatzlibraries von Fremdfirmen, die
      den Funktionsumfang nochmal boosten.

.Net  schönes Framework.
      mit C++ geht das Ganze aber nur im "managed C++", das ich
      persönlich als Perversion empfinde. Wenn schon Garbage Collector
      dann gleich C# (bei C# mag ich den Garbage Collector nicht.
      Ich hasse Programme, die nach 3 Sekunden 2GB Speicher verbrutzeln
      ohne das man erkennen kann wofür sie den Speicher brauchen)

Fremdlibrary, wie Qt oder fltk oder wxWidgets oder ....
fltk ist eine relativ kleine Lib. Viel habe ich nicht damit gemacht, hab 
als kaum Erfahrung damit.
Qt ist schön aufgebaut. Den "Designer" hab ich zu hassen gelernt. Aber 
ansonsten funktioniert es gut. Vor allem die Tatsache, dass man in 
Dialogen die Resize-Strategie quasi umsonst bekommt, ist schon nett 
(Resizeable Dialoge sind in MFC, na ja nicht unbedingt ein Nightmare, 
aber Aufwand)
Mit wxWidgets hab ich selbst noch nie gearbeitet.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klippi schrieb:

> 1. Frage. In Delphi nennt sich das Objekt "Memo" in Visual C++ weiss ich
> nun nicht ob es "RichtTextBox" oder "TextBox" (Multiline) ist. Welches
> kommt Memo am nächsten? Ich vermute "Textbox"

Was macht denn ein "Memo"

> Und mit welchem Code kann kann ich eine Zeile Text hinzufügen/löschen.

In der MFC läst du dir zur Textbox (wir reden doch von einem Dialog, 
oder?) eine zugehörige CString Variable generieren. Textmanipulation 
machst du ganz einfach in diesem CString-Objekt. Wenn du fertig bist: 
UpdateData( FALSE ) und die Textbox zeigt den neuen Inhalt an.
Bei Views funktioniert das ähnlich.
Das Prinzip in der MFC ist eigentlich fast immer (ausser bei Listboxen 
und derartigem Gesocks): Hinter dem GUI Element steht eine 
Datenvariable. Datenänderungen werden in dieser Variablen gemacht. Bei 
Dialogen: UpdateData( TRUE ) transferiert von der GUI zu den 
Datenvariablen UpdateData( FALSE ) transferiert von den Datenvariablen 
zur GUI.

> 2. Wie komme ich am einfachsten mit statusStrip zu einer Statusleiste
> wie in Delphi?

Die sollte der Projekt Wizard eigentlich schon eingebaut haben. 
Normalerweise steht da links unten "Bereit" drinnen und rechts sind 
Statusfenster die den Zustand von ein paar Tasten zeigt (Numlock, 
Cpaslock und noch eine)

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.