Problem Text in Dialog auszugeben
-
nein, darauf möchte ich nicht zugreifen.
wenn ich das programm starte, öffnet sich ein fenster mit menüleise usw. dieses wird von dem dialog INPUT_FORM ausgefüllt. über das menü öffne ich dann den SETTINGS Dialog, stelle in diesem etwas an den comboboxen ein. diese daen, werden in variablen gespeichert, wenn ich diesen dialog schließe. mit
m_baud= settingsDlg.m_baudr;lese ich ja die daten aus (hier als beispiel an einer variablen) und schreibe das in die variable m_baud. abhängig davon, was in der variablen drin steht, will ich dann in dem hauptfensterdialog einen text ausgeben.
CString cbaud; cbaud= "test"; SetDlgItemText(IDC_BAUDRATE, cbaud);nur ich kann auf den dialog, der das hauptfenster ausfüllt nicht zugreifen, da hakt es ja......
hoffe man kann das so einigermaßen verstehen
-
Ach, du meinst den Formview?

http://www.c-plusplus.net/forum/viewtopic-var-t-is-125623.html
Abschnitt 5
-
im prinzip so, ich hab auch die
# C...App
# CMainFrame
# C...Doc
# C...Viewund der hauptfensterdialog stekct nunmal in der C(PicToLight)View
-
ekomme auch immer die fehlermeldung getActivevie keine element von cwnd ist
und
error C2664: 'SetDlgItemTextA': Konvertierung des Parameters 1 von 'CPicToLightView *' in 'HWND' nicht möglich
-
Sama was ist das hier für nen Zusammen geschußter =!
CString strBaud; strBaud = "Test"; SetDlgItemText(IDC_BAUDRATE, strBaud);Das gehört in diesem Fall in die OnInitDialog des Dialoges in dem sich das Ctrl befindet.!
Es kommt auch immer die Fehlermeldung GetActiveView: Keine element von CWnd
Das liegt daran das GetActiveView auch wenig mit einem CWnd zu tun hat. ... Hast du evt. Versucht mit AfxGetMainWnd()->GetActiveView an einen Pointer auf dein View zu kommen?! Das ist ja auch nicht so falsch... muss aber korrekt heißen:
((CMainFrame*)AfxGetMainWnd())->GetAcviteView()->...[edit]
Jo noch was vergessen:error C2664: 'SetDlgItemTextA': Konvertierung des Parameters 1 von 'CPicToLightView *' in 'HWND' nicht möglich
Also. Jetzt weiß ich glaube ich was du willst... willst du von außerhalb einen Pointer von der View Klasse bekommen und da dann acces auf ein Item ?!
CPicToLightView* pView = (CPicToLightView*)(((CMainFrame*)AfxGetMainWnd())->GetActiveView()); pView->SetDlgItemText(IDC_..., ...);
-
die fehlermeldung kommt trotzdem noch

-
Benutze doch die Funtion GetSafeHwnd() an der Stelle wo der HWND gefordert wird.
-
uih, vielen dank, das ist es jetzt funktioniert es voelen dank, das war genau das ding!!!

danke, aber jetzt erst einmal ranmachen, schauen was da passiert
-
Welche Version hast de denn nu genommen

Aja... mit GetSafeHwnd einen handle zu bekommen.. jo das geht natürlich... meiner Meinung nach aber nicht sooo eine schöne Lösung

-
habe das genommen
CPicToLightView* pView = (CPicToLightView*)(((CMainFrame*)AfxGetMainWnd())->GetActiveView());
pView->SetDlgItemText(IDC_..., ...);
-
(D)Evil schrieb:
Aja... mit GetSafeHwnd einen handle zu bekommen.. jo das geht natürlich... meiner Meinung nach aber nicht sooo eine schöne Lösung

Da muss ich Dir unbedingt zustimmen, aber hier ist ja eh schon..hm gabs da nicht mal so einen Spruch um verloren Bierzutaten

@ABeginner: Sollte man wirklich nicht so machen aber Dir ist doch sicher erstmal wichtiger, dass überhaupt was funktioniert o.?Edit: sorry wegen obigem post

-
stimmt, ich habe mit programmierennix am hut, aber das gehört zu einem projekt und anstatt, dass das jemand mcht, der das gelernt hat, sollenwir das machen
-

-
ABeginner schrieb:
stimmt, ich habe mit programmierennix am hut, aber das gehört zu einem projekt und anstatt, dass das jemand mcht, der das gelernt hat, sollenwir das machen
Sagt das beim nächsten Mal gleich, dann reg ich mich selber nicht so auf.

Zudem hätte man dann gleich nicht probiert Teillösungen zu posten, damit du selber auf den Lösungsweg kommst, sondern dir das fertige Produkt vor die Nase geschmissen (naja solange es nicht zuviel Arbeit ist) ^^Grüssli
-
ABeginner schrieb:
ekomme auch immer die fehlermeldung getActivevie keine element von cwnd ist
Sorry, mein Fehler.

Im Kapitel zum Doc hatte ich den Patzer korrigiert, aber nicht in dem zum View, wo der Code fast identisch ist.