DialogProblem
-
Hi,
ich hab da mal ne kleine Frage. Also ich hab 2 Dialoge, aus dem 1. Dlg öffne ich den 2. Dlg mit
void CEDruckerDlg::OnHinzu() //Hinzufügen-Button öffnet Bildauswahl { Bilder dlg; dlg.DoModal(); }In dem 2. Dlg hab ich OnPaint über den Klassenassi eingefügt.
void Bilder::OnPaint() { CPaintDC dc(this); // device context for painting MessageBox("start OnPaint"); if(m_Hilfsvar==1) { UpdateData(true); CString m_strImageDir; m_strImageDir="Bilder"; if(m_strImageDir.IsEmpty()) { MessageBox("Keine Bilder vorhanden"); return; } //get the names of bitmap files if( !GetImageFileNames() ) return; //draw thumbnail images in list control DrawThumbnails(); m_Hilfsvar=0; UpdateData(false); } else { m_ListThumbnail.RedrawWindow(); } MessageBox("end OnPaint"); }So meine Frage ist ganz einfach: Wieso gibt er nur die 1. MSGBox aus und macht weder die if-Anweisung noch die 2. MSGBox? Die m_Hilfsvar setz ich im OnInitDialog des 2.Dlg auf die geforderte 1.

Hat jemand ne gute Erklärung warum, wieso und weshalb das so ist?
mfg blub

-
Was steht denn laut Debugger in m_Hilfsvar?
-
Da steht eine 1
, also ist ja eigentlich die Bedingung für if erfüllt, was mich eben wundert ist die Tatsache dass die 2. MSGBox nicht ausgeführt wird. Sie hat ja rein garnix mit if zu tunmfg blub

-
Ach, jetzt hab ichs gesehen.
Guck mal hier:
m_strImageDir="Bilder"; // tu was rein if(m_strImageDir.IsEmpty()) { // nur wenn nix drin ist (is aber immer was drin) MessageBox("Keine Bilder vorhanden"); return; }
-
Jup, das weiß ich, ich meinte die MSGBox unten
MessageBox("end OnPaint"); //nur zur Überprüfungund die müßte meines wissens nach ja gemacht werden oder verfängt sich das immer wieder in der if-Anweisung? Ich probier das mal anders zu schreiben, d.h. die If-Anweisung aus OnPaint rausnehmen und nur aufrufen, hoffe das funzt, ansonsten bin ich wirklich etwas überfragt.
mfg blub

-
So Problem gelöst, manchmal sollte man doch die Gedanken zusammennehmen

mfg blub
