Riddle Napisano Grudzień 10, 2018 Autor Zgłoś Udostępnij Napisano Grudzień 10, 2018 1. W jaki sposób ładuje się akceleratory do dialogBox'a?? Sądze że LoadAccelerator dobrze pobiera uchwyt!! I błąd chyba jest w translateAccelerator, a dokładniej w hwnd. 2. Czy można w dialogBox'u w polu CAPTION po lewej stronie (przed tekstem) umieścic ikonkę?? 3. Dlaczego nie mój program nie może załadować ikony do tray'a-> mam tylko puste pole?? Moja ikona ma rozmiary 32*32 w 256 kolorach. tray.hIcon = Loadicon(hInst,(MAKEINTRESOURCE(113))); //gdzie 113 to numer mojej ikony!! Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Omega Napisano Grudzień 10, 2018 Zgłoś Udostępnij Napisano Grudzień 10, 2018 1. Nic nie stoi na przeszkodzie aby do dialogboxow przypisac akcelerator klawiatury. Blad pewnie lezy w zlym napisaniu algorytmu przez ciebie. 2. Mozna, ale sam musisz odrysowywac taki caption - rowniez z tekstem. Zapoznaj sie z takimi komunikatami jak WM_NCPAINT. 3. Jezeli nie twoj to co sie martwisz? Na pewno blad lezy...patrz na punkt nr. 1. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Riddle Napisano Grudzień 11, 2018 Autor Zgłoś Udostępnij Napisano Grudzień 11, 2018 Akceleratory, gdzie mam błąd?? HWND hwnd; \\globalna HACCEL hAccel; \\globalna WinMain(..) { DialogBox(..,...,hwnd,..); hAccel = LoadAccelerators(hInst,"AKCELERATOR"); while(GetMessage(&msg, NULL, 0, 0)) { if(!TranslateAccelerator (hwnd, hAccel, &msg)) { TranslateMessage(&msg); DispatchMessage(&msg); } } return ...; } W funkcji powrotnej dialogBox'u nie wykorzustuje nigdzie zmiennej hAccel; A jeśli chodzi o pytanie 3, to sorki ale pomyliłem się, chodziło tu o mój program!!! Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Omega Napisano Grudzień 12, 2018 Zgłoś Udostępnij Napisano Grudzień 12, 2018 DialogBox powoduje utworzenie okna modalnego, dlatego...ja tez zle odpowiedzialem, ale nie mozna uzyc akceleratorow bo jak wyzej. Poprostu jak wywolujesz funkcje DialogBox to dlasza czesc kodu dopiero wykonuje sie po zamknieciu DialogBoxa. Aby uzyc akceleratory w oknach dialogowych to wywolaj je poprzez CreateDialog. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Riddle Napisano Grudzień 17, 2018 Autor Zgłoś Udostępnij Napisano Grudzień 17, 2018 Zrobiłem tak jak powiedziałeś i nadal nie che działać! Dialog box'a tworze przez CreateDialog, zmodyfikowałem pętle komunikatową i podczas ładowania akceleratorów nie przypisuje mi uchwytu. ---w WinMain--zaraz po utworzeniu dialogBoxu hAccel = LoadAccelerator(hInst,"AKC"); hAccel - zmienna globalna hInst - hinstance do dialog boxu "AKC" - nazwa skrótów klawiaturowych Gdzie jest błąd??? Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Omega Napisano Grudzień 17, 2018 Zgłoś Udostępnij Napisano Grudzień 17, 2018 Musisz do petli dorzucic rowniez funkcje IsDialogMessage. Kiedys tez mialem taki problem, ale metoda prob i bledow doszedlem do tego, ze wszystko funkcjonowalo very good. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Riddle Napisano Grudzień 18, 2018 Autor Zgłoś Udostępnij Napisano Grudzień 18, 2018 Najgorsze jest to, że dopisałem pętle komunikatową uzupełniełem o funkcje IsDialogMessage i nadal nie chce działać. Z tego co ja wiem to mam kłopot z pobraniem uchwytu do akceleratorów!!! Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Omega Napisano Grudzień 18, 2018 Zgłoś Udostępnij Napisano Grudzień 18, 2018 chmm. Powiem szczerze, ze nie chce mi sie teraz sprawdzac co jest zle (nie ma sie tego czasu) tworzac samemu i sprawdzajac. Ale jezeli nie przypisuje ci uchwytu poprzez LoadAccelerator, to widocznie w zasobach nie jest zdefiniowany, albo podales zla nazwe zasobu. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Riddle Napisano Grudzień 19, 2018 Autor Zgłoś Udostępnij Napisano Grudzień 19, 2018 Dobra, już działa mi. Problem był w tym, że w złym miejscu umiejscowiłem funkcje TranslateAccelerator. Ale, dzięki za pomoc.... Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.