Fenster erstellen
-
Hi@all.
Ich habe ein kleines Problem. Ich habe hier eine Dialogfeld-Basierende Anwendung und möchte jetzt noch ein zweites Fenster erstellen. Ich meine damit kein zweiten Dialog, sondern ein normales Fenster. Habe versucht das einfach über das Erstellen einer neuen Klasse zu machen, aber das scheint wohl nicht so zu gehen. Gibt es vielleicht irgendwo ausführlichere Infos darüber? der weiß hier jemand rat?
vielen Dank
Bunti
-
Mach ne Klasse, die du von CWnd ableitest... da wo du dieses Wnd aufrufen willst, rufst du einfach die Create Methode von der CWnd Klasse auf...
näheres:
CWnd
CWnd - Create(...,...,...,...,...,...,...) :xmas2:
-
hi. danke für die antwort.
ich habe jetzt eine mfc-klasse erstellt die von CWnd abgeleitet ist.
darauf wollte ich per button ein fenster erstellen, jedoch machter mir da als probleme (fehlermeldung).
die funktion:
CFensta* pWnd = new CFensta;
pWnd->Create(_T("STATIC"), "Hi", WS_CHILD | WS_VISIBLE | WS_CAPTION,
CRect(0, 0, 20, 20), NULL, 1234);kann es sein das es am vorletzten parameter liegt? (parentwindow).
bei dem examples (auch für createEx) wird immer eins mit m_hWnd erstellt (also innerhalb des dialogs), ich will aber eins das aussen ist und nix mit dem dialog zu tun hat... was ist eigentlich ein Popup-Window?danke!!!
gruß
bunti
-
also...
Ressourcenansicht -> Rechtsklick -> Einfügen -> Dialog -> Neu...
Strg+W (Klassenassistent)...
"Neue Klasse erstellen" markieren -> Name: "CFenster2" -> OK -> OKin den dialogquellcode, in dem das Fenster aufgerufen werden soll ganz oben:
#include "Fenster2.h"und da wo das Fenster aufgerufen werden soll:
***::OnClickOeffnen()
{
CFenster2 fenster;
fenster.DoModal();
}mfg (c)h
-
nee. hast meinen ersten beitrag net gelesen?
danke für aw, aber ich möchte ja eben keinen dialog haben und auf gar keinen fall modal. es soll ein normales window sein, das unabhängig vom haupt-dialog ist...gruß
bunti
-
Hmm ok... jetzt helf ich dir nicht mehr denn:
1. DU bist noch zu faul dir mal genau durch zu lesen wie man CWnd::Create richtig aufruft.
2. Ich hab noch nie ein "normales Fenster" gesehen, das von der Klasse STATIC ist -.-
3. Nen Fenster das "HI" heißt... einfalls reich, da es genau aus dem SMDN Lib Beispiel kopiert ist -.-
4. Window Styles
5.lpszClassName
Points to a null-terminated character string that names the Windows class (a WNDCLASS structure). The class name can be any name registered with the global AfxRegisterWndClass function or any of the predefined control-class names. If NULL, uses the default CWnd attributes.So.. daraus kannst de deine schlüsse ziehen -.- depp!
-
1. Ich habe es mir richtig durchgelesen. Nach etlichem rumprobieren bekomme ich auch ein Fenster, nur nicht so wie ich es mir vorgestellt hatte.
2. Das ist doch völlig unwichtig. es ging mir um das worauf ich angesprochen hatte. ich habe selbst dort NULL reingeschrieben und es ging nicht (default-werte). nur wie gesagt, darum ging es nicht.
3. hi. naund? kommt es darauf an. ich hab es so gelassen, weil es ebenfalls ein unwichtiges detail ist. ichglaube nicht das es jetzt darauf ankommt, ob da hi, hallo oder sonst ein name vom fenster steht. solche sachen erledigt man üblicherweise zum schluss.
4. ja?
5. wie gesagt, hatte null bereits verwendet