Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Visual C++ 2008, Jak zblokowac zamykanie programu po enterze

11 Kwi 2010 21:42 1979 6
  • Poziom 10  
    Witam mam problem jak w temacie, program jest napisany w MFC i mam duzy problem ze po kazdym wcisnieciu klawisza enter sie zamyka, z gory dzieki za pomoc
  • Poziom 19  
    Program nie ma własnej woli i sam się nie potrafi zamknąć. Najprawdopodobniej program wykonuje to co powinien. Bez kodu źródłowego lub chociaż "wyjścia aplikacji/debugera" nikt Ci nie będzie w stanie pomóc.
  • Poziom 10  
    Witam
    Moge tu zamiescic kod, choc jest on juz troche rozbudowany, zanim zalozylem ten temat przeszukalem troche google, i wydawalo mi sie ze to dosyc czesty problem wystepujacy przy pisaniu aplikacji MFC. W spisie tresci jednej z ksiazek ("Visual C++. Gotowe rozwiązania dla programistów Windows") widze ze jest temat:
    •Blokowanie zamykania okna dialogowego po naciśnięciu klawisza Enter (25)
    czyli wlasnie moj problem
    czy przegladalem tematy na stronach anglojezycznych gdzie czesto jest to poruszane np: http://www.codeguru.com/forum/showthread.php?t=231075
    ale jeszcze nie udalo mi sie z tego wyciagnac wiadomosci jak ten problem rozwiazac
  • Pomocny post
    Poziom 27  
    Wciśnięcie klawisza Enter powoduje wysłanie komunikatu WM_COMMAND z identyfikatorem IDOK, lub z identyfikatorem przycisku domyślnego (ze stylem BS_DEFPUSHBUTTON). Komunikat nie jest wysyłany gdy aktywna kontrolka zwraca ustawiony bit DLGC_WANTALLKEYS dla komunikatu WM_GETDLGCODE (np. edit ze stylem ES_WANTRETURN).
    Jeżeli dla IDOK lub tego domyślnego zamykasz okno, to już wiesz gdzie szukać. Jeżeli nic takiego nie robisz, to w dokumentacji klasy CDialog przeczytasz, że metoda OnOK (wywoływana dla buttona IDOK) domyślnie zamyka okno, więc musisz utworzyć pustą metodę by temu zapobiec:
    Code:
    void CMyDialog::OnOK() {}
  • Poziom 42  
    Jeśli to faktycznie o to chodzi, to każde okno modalne zamknięte będzie poprzez przyciski z ustawionym zwracaniem stanu modalnego. Generalnie każde przypisanie wartości stanu modalnego w klasie okna powoduje jego zamknięcie.
  • Poziom 10  
    Dzięki Akane, proste rozwiązanie a jak cieszy ze ten problem za mną