tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
184
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    cyberds19 cyberds19 ist offline Rookie
    Registriert seit
    Sep 2005
    Beiträge
    8
    ich lege 2 fenster an:
    hwndMain=CreateWindow("hauptfenster","hauptfenster",WS_OVERLAPPEDWINDOW,
    CW_USEDEFAULT,CW_USEDEFAULT,300,200,NULL,NULL,hInstance,NULL);

    hwndChild=CreateWindow("Childtest",
    "Childtest",WS_OVERLAPPEDWINDOW,
    CW_USEDEFAULT,CW_USEDEFAULT,300,600,NULL,NULL,hInstance,NULL);

    ShowWindow(hwndMain,nCmdShow);
    UpdateWindow(hwndMain);

    ShowWindow(hwndChild,SW_HIDE);
    UpdateWindow(hwndChild);

    wähle ich jetzt meinen menupunkt geht das hwndchild mit
    ShowWindow(hwndChild,SW_SHOW);
    UpdateWindow(hwndChild);

    auf. wenn ich es mit dem x schließe und dann per menü wieder öffnen will, wird es nicht mehr angezeigt warum ?
     

  2. #2
    Avatar von jokey2
    jokey2 jokey2 ist offline Mitglied Smaragd
    Registriert seit
    Nov 2004
    Beiträge
    1.235
    Da das Fenster auf diesem Weg geschlossen wird und nicht nur versteckt. Wenn Du das verhindern willst, solltest Du die OnClose-Methode überschreiben. Dort rufst Du dann nicht die OnClose-Methode der Basisklasse auf, sondern ShowWindoe(SW_HIDE). Du solltest aber beim Schließen des Hauptfensters nicht vergessen, das Kindfenster ebenfalls zu schließen (mit DestroyWindow()).
    Geändert von jokey2 (28.07.08 um 14:55 Uhr)
     

  3. #3
    cyberds19 cyberds19 ist offline Rookie
    Registriert seit
    Sep 2005
    Beiträge
    8
    momentan schließe ich das fenster so:

    LRESULT CALLBACK ChildProc(HWND hwnd,UINT iMsg,WPARAM wParam,LPARAM lParam){
    HDC hdc;
    PAINTSTRUCT ps;
    RECT rect;

    string a;
    char *b;
    int i=0;

    switch(iMsg){
    case WM_CREATE:

    break;
    case WM_PAINT:
    hdc=BeginPaint(hwnd,&ps);
    GetClientRect(hwnd,&rect);

    EndPaint(hwnd,&ps);
    break;
    case WM_DESTROY:
    DestroyWindow(hwnd);
    break;
    }
    return DefWindowProc(hwnd,iMsg,wParam,lParam);
    }

    nachdem das fenster aber zerstört ist, kann mans mit showwindow nicht mehr öffnen.
    wie mache ich das in meinem fall, dass das fenster nur versteckt wird ?
    folgendes geht nicht:

    case WM_DESTROY:
    ShowWindow(hwnd,SW_HIDE);
    break;
     

Ähnliche Themen

  1. Warum geht das nicht!?
    Von curtiss im Forum Relationale Datenbanksysteme
    Antworten: 3
    Letzter Beitrag: 13.01.09, 18:46
  2. Warum geht das nicht?
    Von Deadmeat im Forum Javascript & Ajax
    Antworten: 6
    Letzter Beitrag: 06.02.06, 12:41
  3. warum geht das nicht?
    Von Golz im Forum PHP
    Antworten: 11
    Letzter Beitrag: 09.02.05, 15:43
  4. Mein Internet geht nicht mehr. Keine Websiten mehr aufrufbar
    Von convo im Forum Internet, DSL & Flatrate
    Antworten: 5
    Letzter Beitrag: 06.01.05, 10:26
  5. Warum geht das in PS 6.0 nich mehr ?
    Von TTek im Forum Photoshop
    Antworten: 3
    Letzter Beitrag: 01.02.02, 15:07