Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Fenster lässt sich nur einmal öffnen

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
03.09.2004, 14:33 Uhr
RedEagle



Tach
ich habe auf einem fenster einen Button platziert. wenn man den Button drückt, soll ein fenster geöffnet werden:

C++:
ShowWindow(hwndWndOpt, SW_NORMAL);
UpdateWindow(hwndWndOpt);


wenn ich beim 1. mal draufdrücke, öffnet sich das Fenster.

das Fenster (das sich geöffnet hat) wird dann über

C++:
DestroyWindow(hwndWndOpt);
return 0;


wieder geschlossen.
wenn ich es ein 2. mal öffnen möchte, passiert nichts.
ich kann er erst öffen, wenn ich das Programm neu start.

wie kann ich das machen, das sich das Fenster mehrmals öffen lässt.
--
MFG RedEagle

Dieser Post wurde am 03.09.2004 um 14:33 Uhr von RedEagle editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
03.09.2004, 15:03 Uhr
Oliver
S2-Pixelgeneral


Versuche es mal nicht mit DestroyWindow sondern mit ShowWindow(..., SW_HIDE)
--
Demokratie ist die Diktatur der Mehrheit.

www.siedler25.org/ ( Siedler2 - Remake )
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
03.09.2004, 16:15 Uhr
RedEagle



hat funktioniert
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
19.02.2005, 15:48 Uhr
RedEagle



Irgendwie Funktioniert es doch nicht.
Ich hab das Früher in 2 Programmen verwendet. und in beien geht es nicht (ka, warum mir das nie Aufgefallen ist)
Jedenfalls wollte ich es jetzt wieder so machen, und es geht halt nicht. Hab ich was hab ich denn hier falsch??

C++:
LRESULT CALLBACK WndProc_AddItem(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
      case WM_DESTROY:
      {
         ShowWindow(hWnd_AddItem, SW_HIDE);
         break;
      }
}
return DefWindowProc(hWnd, message, wParam, lParam);
}


--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
19.02.2005, 17:38 Uhr
Oliver
S2-Pixelgeneral


Ist hWnd_AddItem das Window von der WndProc_AddItem? Und was geht genau nicht?
--
Demokratie ist die Diktatur der Mehrheit.

www.siedler25.org/ ( Siedler2 - Remake )
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
19.02.2005, 19:31 Uhr
RedEagle



1. Ja
2. nachdem ich das Fenster geschlossen habe (also mit ShowWindow()) kann ich es nicht mehr öffnen; Erst wieder, wenn ich das gesammte Programm neu starte.

Also kann ich das Fenster quasi ein mal anzeigen, und schließen, und dann nicht mehr.
Ich möchte es aber öffters anzeigen und schließen können.
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
19.02.2005, 20:15 Uhr
enno-tyrant
Frag nicht!


vielleicht ist es ja noch da, nur 'showWindow()=0' aber 'destroyWindow()=1' dann wäre es quasi nicht sichtbar aber nicht zerstört und somit noch vorhanden, ergo kannst du das fenster nicht noch einmal öffnen (ist ja noch offen)
--
...um etwas zu verstehen muß man wissen wie es funktioniert...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
19.02.2005, 21:18 Uhr
RedEagle



Und wie schließe ich es?? (Aber nur das eine Fenster, und nicht das ganze Prog)??
Diese 3 Möglichkeiten gehen jedenfalls nicht:

C++:
ShowWindow(hWnd_AddItem, SW_HIDE);
DestroyWindow(hWnd_AddItem);
PostQuitMessage(0);


--
MFG RedEagle

Dieser Post wurde am 19.02.2005 um 21:20 Uhr von RedEagle editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
19.02.2005, 22:49 Uhr
ManniMammut



Bei einer extra Form kannst du es mit


C++:
Form2->Close(); //In diesem Fall wird Form2 geschlossen


schließen
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
19.02.2005, 23:02 Uhr
RedEagle




C++:
hWnd_AddItem->Close();



Fehler:

no matching function for call to `HWND__::Close()'




Was ist "->" denn für'n ding??
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (WinAPI, Konsole) ]  


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: