Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Zeichnen bei der Initialisierung

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
19.09.2003, 14:13 Uhr
~Christian
Gast


Wie kann ich denn erreichen, dass sobald sich ein neues Dialogfenster öffnet, dort sofort ein Koordinatensystem zu sehen ist? In OnInitDialog() klappt das nämlich nicht.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
19.09.2003, 21:47 Uhr
~Christian
Gast


Weiß da niemand was? Warum geht MoveTo() und LineTo() in OnInit denn nicht?!

Noch eine andere Frage: Ich habe Punkte von sehr vielen Kurven (~200) in einzelnen Arrays (je 21 * 2 (x,y)) abgelegt. Wie kann ich denn alle Arrays durchsuchen und mit den Punkten darin Berechnungen durchführen ohne jedes einzelne Array seperat zu behandeln? Also so zu sagen "eine Schleife" über die ganzen Arrays?!
wär echt beides super wichtig für eine Studienarbeit!!
Vielen Dank im Vorraus!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
19.09.2003, 22:04 Uhr
Pablo
Supertux
(Operator)


Alsom ich werde versuche zu erklären, obwohl ich nicht weiß, wann OnInitDialog() aufgerufen wird.

Wenn du etwas zeichnest, ohne dass es ein gültiges Formular gibt, dann erscheint das nicht. Ich vermute, dass OnInitDialog() aufgerufen wird, wenn das Formular bzw. wenn ein neues Objekt der Klasse initialisiert wird. Winodws hat dann noch nicht das Formular gezeichnet, also werden alle Zeichnungen verloren.

Wenn du willst, dass das Koordinatensystem immer erscheint, dann musst du in OnPaint() (ich glaube, so heißt es, oder?) die Zeichfunktionen schreiben.

Wenn ein neues Dialogfenster geladen wird oder wenn das Fenster verdeckt war und Focus bekommt, dann muss das OS wieder das Fenster zeichnen. Dann wird dieses Event ausgelöst, damit der Programmier auch seine Sachen zeichnen kann, ohne dass sie verschwinden. Das OS weißt nur, wie das Dialog zu zeichnen ist, wegen der Klasse aber das OS kann nciht wissen, was und wie du zeichnen wirst. Deshlab gibt es diese Methode.

Ich bin kein Windows Programmier und ich arbeite mit VC++ auch nicht, aber das tun alle Systeme und das muss man immer tun. Vielleicht hat mich mit dem Namen geiirt und es ist OnPaint() sondern etwas ähnliches.

Zu der zweiten Frage: Du könntest alle Array als ein 2 dim. Array speichern und so übergeben, oder in einen Vektor alle Arrays speichern und so der anderen Funktion übergeben.


Bearbeitung:
@Flo: Obwohl ich so lange geschrieben hab, dann warst du Minuten langsamer

So wie ich es mir gedacht hab, hat @Flo bestätigt, dass OnPaint() sein muss.


--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 19.09.2003 um 22:08 Uhr von Pablo Yanez Trujillo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
19.09.2003, 22:04 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


das musst du in OnPaint machen, sonst ist die Zeichnung nach minimieren und wieder anzeigen weg


Bearbeitung:

mist ich war ein paar sekunden zu langsam


--
class God : public ChuckNorris { };

Dieser Post wurde am 19.09.2003 um 22:05 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
19.09.2003, 22:13 Uhr
~Christian
Gast


@Pablo Yanez Trujillo: Danke, das mit alle in nem Array speichern ist mir noch gar net gekommen, big thx!!

das mit OnPaint hab ich noch nicht ganz kapiert, ist mein erstes VC++ Projekt, wie funktioniert das genau??! Ein kleines Bsp. wär super, einfach eine Linie von a nach b, die kommt sobald der Dialog erscheint.
Dank euch!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
19.09.2003, 22:17 Uhr
~Christian
Gast


Vergesst das obige Post, habs gefunden, gibt ja ne extra OnPaint() Funktion!!
Grüße!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
19.09.2003, 22:28 Uhr
Pablo
Supertux
(Operator)


Du musst nur die Events der Ableitung der Klasse CForm oder so was ähnliches hinzufügen. Es gibt ein Wizard dafür, ich weiß nicht mehr, wie man das aufruft, aber es ist gut, dass du es schon gefunden hast.

Und wie hast du das Problem mit dem Array gelöst?
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
19.09.2003, 22:36 Uhr
~Christian
Gast


Das mit dem Array werd ich est Montag probieren können, weil ich erst dort wieder bei meiner Praxissemesterstelle bin. Ich probier es auf jeden fall so wie du gesagt hast, die Array "Namen" in ein einziges Array schreiben.
Jetzt hab ich aber noch ein kleines Problem: Ich hab mal eine Klasse zu meinem Projekt hinzugefügt, die ich jetzt nicht mehr brauche. Wie kann ich die KOMPLETT löschen, also incl. Datei?! Bei Methoden geht ja Rechtsklick/Löschen, aber wie geht das bei Klassen?! Ist nur ein Schönheitsfehler, aber trotzdem.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
19.09.2003, 22:43 Uhr
Pablo
Supertux
(Operator)


Vielleicht vom Projekt die Dateien löschen.

Du kannst im diesem VC++ Explorer die Klassen + Funktionen, nur Funktionen, nur Dateien anzeigen, usw. Vielleicht hilft, wenn du die Dateien mit der Klasse löscht (mit VC++, ich meine Datei entfernen,)


Du könntest auch den ganzen Quellcode der Klassen (in der .h Date reicht schon die Definition der Klasse zu löschen) und dann die Dateien.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
19.09.2003, 22:48 Uhr
~Christian
Gast


Den Quellcode+Datei löschen hab ich schon probiert, aber danach haut er mir leider min. 6 Fehler um die Ohren, da in irgend ner Datei immer noch Verweise auf die Datei stehen. Das bekomm ich einfach nicht weg.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: