Vereinfacht auf einem Fenster zeichnen?
-
Hallo,
ich habe erst vor Kurzem angefangen, mit C++ zu arbeiten...
Ich möchte ein Fenster öffnen, wo ich z.b. ein Bild oder Pixel drauf zeichnen kann. Ist das überhaupt so einfach möglich, oder muss ich mir da alles selber schreiben?
Gibt es "Klassen" dafür, die mir das vereinfachen?
Ich hoffe ich bin hier richtig, so dass ihr mir helfen könnt, oder mir eventuell einen Link schreibt, der mich zu einem Tutorial oder Sonstigem führt.Vielen Dank
-
Muss es unbedingt MFC sein ?
Sonst würde ich dir mal SFML empfehlen, hier etwas Beispielcode zum 2D Rendern.
-
Danke, ich werde es mal ausprobieren
-
CPP-Anfänger schrieb:
Hallo,
ich habe erst vor Kurzem angefangen, mit C++ zu arbeiten...
Ich möchte ein Fenster öffnen, wo ich z.b.
ein Bild oder Pixel drauf zeichnen kann. Ist das überhaupt so einfach möglich, oder muss ich mir da alles selber schreiben?Beim Lesen der Einleitung sowie der Fragen bin ich nicht sicher ob hier wirklich MFC verwendet werden soll.
Der klassenbasierte Ansatz spricht zwar dafür, die eher garnicht vorhandenen Windows Kenntnisse eher dagegen.Die erste Frage: Wie sieht der Code aus mit dem Du ein Fenster erzeugen würdest ?
Um ein MFC-Fenster zu erstellen leitet man eine Klasse z.B. von CWnd (oder CFrameWnd bei Document/View) ab.
http://msdn.microsoft.com/de-de/library/za93adby.aspx
http://msdn.microsoft.com/de-de/library/0yhc9kx4.aspxGezeichnet wird grundsätzlich als Reaktion auf WM_PAINT.
Man besorgt sich einen Geräte-Kontext und zeichnet zwischen BeginPaint und EndPaint. Alternativ auch mit CClientDC dc(this).
Gerätekontextobjekte haben dann Methoden zum Zeichnen.
http://msdn.microsoft.com/de-de/library/fxhhde73.aspx
Zeig mal wie der Code bisher aussieht ...
Anregungen gibts genug:
http://archive.msdn.microsoft.com/vcsamplesmfc
-
Wenn Du schon hier im MFC Forum anfragst, dann schau Dir einfach mal das Scribble Tutorial an.
Selbst das kleinste mit den Wizards erzeugte Windows Programm (egal ob MFC oder Win32 Anwednung) kann das, wenn Du den entsprechednen WM_PAINT Handler überschreibst oder CView::OnDraw.