|
You last visited: Today at 12:18
Advertisement
Eigenes Fenster außerhalb von BOOL InitInstance()
Discussion on Eigenes Fenster außerhalb von BOOL InitInstance() within the C/C++ forum part of the Coders Den category.
04/21/2012, 21:40
|
#1
|
elite*gold: 0
Join Date: Sep 2010
Posts: 454
Received Thanks: 212
|
Eigenes Fenster außerhalb von BOOL InitInstance()
Mein Problem liegt darin, dass ich 2 Fenster haben möchte, das eine sich jedoch nur öffnen soll wenn ich beispielsweise einen Button gedrückt habe.
Also habe ich eine zweite Klasse gemacht etc. So, wenn ich nun das Fenster
erstellen lasse, wo das erste auch erstellt wird( in BOOL InitInstance() ), funktioniert alles wunderbar d.h. sie öffnen sich beide gleichzeitig, aber das möchte ich ja nicht.
Trage ich dann die Funktion CreateWindow() dahinein (außerhalb von BOOL InitInstance() ), dass wenn der bestimmte button gedrückt wird, wird die Funktion nicht richtig ausgeführt.
Mit anderen Fensterklasse also z.B wie "edit" wird das Fenster erstellt, nur nicht mit diesen eigenständigen Fensterklassen.
Was habe ich übersehen? Habe schon so viel ausprobiert. Ich hoffe ihr versteht mein Problem und könnt mir helfen.
|
|
|
04/21/2012, 21:57
|
#2
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
|
Du sprichst wahrscheinlich von einem MFC Projekt oder?
Würde es auch ein modaler Dialog tun? Die sind etwas einfacher zur handeln.
|
|
|
04/21/2012, 22:03
|
#3
|
elite*gold: 0
Join Date: Sep 2010
Posts: 454
Received Thanks: 212
|
Ich rede von einem normalen win32 Projekt. Jedoch kann ich nirgends ein eigenständiges Fenster außer in 1 Funktion nämlich der BOOL InitInstance() Funktion erstellen lassen. Versuche ich es Woanders bzw. so wie ich es gerade Versuche kommt der Fehler :
Code:
Eine Ausnahme (erste Chance) bei 0x7c9202f6 in *.exe: 0xC0000005: Zugriffsverletzung beim Lesen an Position 0xcccccccc.
|
|
|
04/21/2012, 22:29
|
#4
|
elite*gold: 5
Join Date: Sep 2006
Posts: 385
Received Thanks: 218
|
Dann zeig' uns doch mal was du gemacht hast. Probleme ohne Quellcode finden ist fast nicht möglich.
|
|
|
04/21/2012, 22:40
|
#5
|
elite*gold: 0
Join Date: Sep 2010
Posts: 454
Received Thanks: 212
|
Die Code stücke sind rausgeschnitten:
Die Fenster Klasse ansich :
Code:
ATOM MyRegisterClass2(HINSTANCE hInstance)
{
WNDCLASSEX wcexx;
wcexx.cbSize = sizeof(WNDCLASSEX);
wcexx.style = CS_HREDRAW | CS_VREDRAW;
wcexx.lpfnWndProc = WndProc2;
wcexx.cbClsExtra = 0;
wcexx.cbWndExtra = 0;
wcexx.hInstance = hInstance;
wcexx.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_projekt));
wcexx.hCursor = LoadCursor(NULL, IDC_ARROW);
wcexx.hbrBackground = CreateSolidBrush( RGB( 50, 100, 250 ) );
wcexx.lpszMenuName = MAKEINTRESOURCE(IDC_projekt);
wcexx.lpszClassName = szWindowClass2;
wcexx.hIconSm = LoadIcon(wcexx.hInstance, MAKEINTRESOURCE(IDI_SMALL));
return RegisterClassEx(&wcexx);
}
Der eine Button:
Code:
hwndan = CreateWindow(L"button", L" an", BS_PUSHBUTTON | WS_VISIBLE | WS_CHILD,
20, 20, 100, 30, hWnd, (HMENU)5, hInstance, 0);
Der switch:
Code:
switch (wmId)
{
case 5:
hwndneu = CreateWindow(szWindowClass2, L"", WS_OVERLAPPEDWINDOW | WS_VISIBLE,
200, 200, 200, 200, NULL, NULL, hInstance, NULL);
break;
}
Oder :
Code:
switch (wmId)
{
case 5:
InitInstance2(hInstance, nCmdShow);
break;
}
//////////////////
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
{
HWND hwndneu;
hwndneu = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
200, 200, 200, 200, NULL, NULL, hInstance, NULL);
if (!hwndneu)
{
return FALSE;
}
ShowWindow(hwndneu, nCmdShow);
UpdateWindow(hwndneu);
return TRUE;
}
Wie gesagt, in einer einzigen Funktion wird Das fenster geöffnet nämlich in:
Code:
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
{
HWND hWnd;
HWND hwndneu;
hInst = hInstance; // Instanzenhandle in der globalen Variablen speichern
hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
200, 200, 200, 200, NULL, NULL, hInstance, NULL);
/////
hwndneu = CreateWindow(szWindowClass2, szTitle, WS_OVERLAPPEDWINDOW,
300, 200, 200, 200, NULL, NULL, hInstance, NULL);
/////
if (!hWnd)
{
return FALSE;
}
ShowWindow(hWnd, nCmdShow);
UpdateWindow(hWnd);
return TRUE;
}
|
|
|
 |
Similar Threads
|
[Dumme Frage xD] Petfilter eigenes Fenster
07/01/2011 - Flyff Private Server - 6 Replies
Hey,
Also da ich mich noch nie damit beschäftigt habe & es mich interessiert würd ich gerne wissen wie man für den Petfilter ein Fenster erstellt, z.B Aldi's Petfilter der nur Buffpets ist in ein eigenes Fenster setzen...
Sorry für die frage aber sowas mach ich zum 1. mal xD
|
Außerhalb der Map..
06/02/2010 - S4 League - 10 Replies
Ich hab mit Walljump und Ghost etwas rumgespielt und habe herausgefunden, dass diese "Tribüne" außerhalb von jeder Map ist und würde gerne wissen was sie darstellen soll xD
Man kann(fast) überall laufen.., wenn es nur Kulisse wäre warum kann man sich denn drauf bewegen? :awesome:
|
CW von außerhalb angreifen???
06/26/2008 - Flyff - 4 Replies
kann man wenn man auf 70ist und man lvlrange 10eingestellt hat cw angreifen wenn man vor dem cw-käfig steht?man macht stag dann grewift er doch cw an oder nicht ging auch bei den vice veduces
|
Außerhalb von AV
01/06/2007 - WoW Exploits, Hacks, Tools & Macros - 13 Replies
mir war langweilig im av und ich suchte nach ner möglichkeit da raus zu kommen...
also ihr geht zuerst dahin http://img442.imageshack.us/img442/8803/bild1jj7.j pg
( da wo der pfeil is .. isn bissel unübersichtlich is weiß^^ )
danach http://img406.imageshack.us/img406/7046/bild3hf3.j pg
und dort hochlaufen
bis ihr
|
All times are GMT +1. The time now is 12:19.
|
|