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 <
010
20.02.2005, 00:31 Uhr
ManniMammut



Ich benutze halt den Borland C++ Builder. Und da sieht das dann so aus...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
20.02.2005, 02:30 Uhr
enno-tyrant
Frag nicht!


vielleicht hilft dir das weiter: http://cpp-tutor.de/mfc/mfc/kap2/_intern/destroywnd.htm

könnte ja sein du findet etwas das du in deinem programm übersehen hast.
--
...um etwas zu verstehen muß man wissen wie es funktioniert...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
20.02.2005, 09:48 Uhr
RedEagle



Geht nicht

Also mom sieht mein WM_DESTROY so aus:

C++:
case WM_DESTROY:
{
DestroyWindow (hWnd_AddItem);
}


viel kann man hier ja nicht falsch haben

ps.: Mal so am rande: Kann man ein Fenster nur schließen bei WM_DESTROY, oder auch, wenn man z.B. auf einen Button klickt?? (also bei WM_COMMAND)
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
20.02.2005, 09:58 Uhr
Oliver
S2-Pixelgeneral


Ich verstehe nicht, wieso du die Destroy..., ShowWindow(..Hide) etc. bei WM_DESTROY einträgst? WM_DESTROY wird doch nur gesendet, wenn das Fenster bereits zerstört ist bzw. gerade zerstört wird, also musst du ja vorher was anderes aufrufen, damit es erst im WM_DESTROY - Zweig landet.
--
Demokratie ist die Diktatur der Mehrheit.

www.siedler25.org/ ( Siedler2 - Remake )

Dieser Post wurde am 20.02.2005 um 09:58 Uhr von Oliver editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
20.02.2005, 10:33 Uhr
RedEagle



Wenn ich

C++:
DestroyWindow (hWnd_AddItem);
//oder
ShowWindow(hWnd_AddItem, SW_HIDE);



z.B. in WM_COMMAND schreibe passiert Nichts

Wird WM_DESTROY nicht aufgerufen, wenn das Fenster geschlossen werden soll?? (Also z.B: auf das "×" oben rechts am Fenster)
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
20.02.2005, 11:06 Uhr
Oliver
S2-Pixelgeneral


WM_DESTROY wird nur gesendet, wenn du DestroyWindow aufrufst. wenn du oben auf das x klickst, wird ein WM_COMMAND mit IDCANCEL gesendet. Das Fenster wird nur geschlossen, wen DU es zerstörst, es zerstört sich aber nicht von alleine.
--
Demokratie ist die Diktatur der Mehrheit.

www.siedler25.org/ ( Siedler2 - Remake )
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
20.02.2005, 11:14 Uhr
RedEagle




C++:
  //WM_COMMAND
            //...
           case IDCANCEL: //Programm schließen
           {
            ShowWindow(hWnd_AddItem, SW_HIDE);
            //DestroyWindow(hWnd_AddItem);
            break;
           }
         }
       break;
      }  


      case WM_DESTROY:
      {

      }


So siehts jetzt aus, aber immer ncoh das gleiche Problem...
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
20.02.2005, 12:35 Uhr
RedEagle



Hab's jetzt mal so:

C++:
//WinMain:
ShowWindow(hWnd_additem, SW_HIDE);
UpdateWindow(hWnd_additem);

//Fenster "A"
//WM_COMMAND
case ID_ADDITEM:
{
ShowWindow(hWnd_additem, SW_NORMAL);
break;
}

//Fentser "B":
//WM_COMMAND
case IDCANCEL: //Programm schließen ( [×] )
{
ShowWindow(hWnd_AddItem, SW_HIDE);
break;
}


Geht aber auch nicht
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
20.02.2005, 13:32 Uhr
RedEagle



Fehler gefunden:

C++:
hWnd_AddItem = CreateWindow(szAppNameAI, szAppName, WS_OVERLAPPEDWINDOW, 100, 120, 400, 195, NULL, NULL, hInstance, NULL);

//ABER:

LRESULT CALLBACK WndProc_AddItem(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)



hWnd ist hWnd_AddItem
--
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: