pawellek1995 Temat założony przez niniejszego użytkownika |
» 2013-11-30 17:29:09 Tyle to ja wiem, też patrzałem wcześniej na tych stronkach. Tylko jak by ktoś wytłumaczył... okienka[ 0 ] = CreateWindowEx( WS_EX_CLIENTEDGE, NazwaKlasy, "Opcje", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 400, 200, NULL, NULL, * hInst, NULL );
Tylko nie mam żadnego identyfikatora w moim okienku :(. Wszystko mam takie same jak w pierwszym okienku. *hInst musi być inne dla każdego okna? Bo to tak jak by identyfikator... |
|
pekfos |
» 2013-11-30 17:32:11 Masz uchwyt okna. |
|
pawellek1995 Temat założony przez niniejszego użytkownika |
» 2013-11-30 17:37:47 To okno główne: hwnd = CreateWindowEx( WS_EX_CLIENTEDGE, NazwaKlasy, "Oto okienko", WS_OVERLAPPEDWINDOW | WS_VSCROLL | WS_HSCROLL, CW_USEDEFAULT, CW_USEDEFAULT, 1300, 700, NULL, NULL, * hInst, NULL );
Uchwyt do okna głównego wynosi NULL i do tego poprzedniego także ? (czwarty argument od końca ?) |
|
pekfos |
» 2013-11-30 17:39:56 Nie. Jak dostajesz zerowy uchwyt, to znaczy, że wystąpił błąd i okna nie ma. (czwarty argument od końca ?) |
Nie.. |
|
pawellek1995 Temat założony przez niniejszego użytkownika |
» 2013-11-30 17:48:17 Nie mam pojęcia jak to zrobić ;/ |
|
pekfos |
» 2013-11-30 17:50:23 Uchwyt okna zwraca CreateWindowEx().. Uchwyt okna, którego dotyczy komunikat, dostajesz w pierwszym argumencie procedury okna, więc po tym możesz określić, co zrobić w WM_DESTROY. |
|
pawellek1995 Temat założony przez niniejszego użytkownika |
» 2013-11-30 18:01:10 Napisałem coś takiego: case WM_DESTROY: if(( HWND ) lParam == SetFocus( okienka[ 0 ] ) ) PostQuitMessage( 0 );
break;
Teoretycznie działa, lecz trzeba kliknąć dwa razy na główne okienko aby się zamknęło. Coś czuje, że to prawidłowo nie działa? |
|
pekfos |
» 2013-11-30 18:10:54 if( hwnd == okienka[ 0 ] )
..? |
|
1 « 2 » 3 4 |