Ĺadny brzuch
UWAGA!
Nie chciałem zakładać nowego tematu, poza tym stary problem jest wciąż aktualny;
Witam ponownie; mam problem z timerami w Windows Api. Używam Dev C++, na standardowych bibliotekach. Oto kod Timerów:
SetTimer(g_hwndOkno, IDT_TIMER1, 10000, (TIMERPROC) NULL); SetTimer(g_hwndOkno, IDT_TIMER2, 20000, (TIMERPROC) NULL);
g_hwndOkno - główne okno aplikacji, które znajduje się w trayu od początku programu.
Fragment procedury zdarzeniowej:
case IDT_TIMER1: ShowWindow (g_hwndOkno, SW_MAXIMIZE);// Okno "się" pokazuje MessageBox(NULL, "SW_MAXIMIZE", "Wiadomość", MB_ICONINFORMATION | MB_OKCANCEL);//pojawia się komunikat return 0; case IDT_TIMER2: ShowWindow (g_hwndOkno, SW_HIDE);// Okno się nie "chowa" MessageBox(NULL, "SW_HIDE", "Wiadomość", MB_ICONINFORMATION | MB_OKCANCEL); // Komunikat jest pokazywany, ale - i tu nie wiem czemu - znajduje się za pierwszym MessageBox'em return 0;
Komunikaty się wyświetlają, ale okno się nie chowa, jakieś pomysły?
Zamieściłbym cały kod, ale jakimś cudem ma prawie 500 linijek.
****************************************** Poprzednia treść postu
Witam!
Jestem w trakcie pisania aplikacji (kiedy zostanie skończona, może trafi na forum do oceny). W jednym z założeń - tło ma być transparentne (czytaj - widać przez nie co znajduje się "pod" oknem plikacji). Z wielkim trudem, ale uporałem się z tym. Pojawił się jednak problem, z którym nie mogę sobie poradzić: pod kontrolkami znajdują się brzydkie białe obwódki (tło?) Próbowałem się ich pozbyć w ten sposób:
LRESULT CALLBACK WindowEventProc(HWND hWindow, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_CTLCOLORSTATIC: if ((HWND)lParam == hPrzycisk) { SetBkColor((HDC)wParam,(COLORREF)0x00ff00); } break;
ale jest bez zmian:
http://farm4.static.flickr.com/3367/3560174321_8838b593f3.jpg
Czy można temu zaradzić?
Pozdrawiam
Użytkownik marcin32 edytował ten post 28 maj 2009, 21:33
spróbuj dodać "styl XP" (manifest)
Na obrazku widać, że jest już dodany. Przycisk ma "obły" kształt.
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Nie chciałem zakładać nowego tematu, poza tym stary problem jest wciąż aktualny;
Witam ponownie; mam problem z timerami w Windows Api. Używam Dev C++, na standardowych bibliotekach. Oto kod Timerów:
SetTimer(g_hwndOkno, IDT_TIMER1, 10000, (TIMERPROC) NULL); SetTimer(g_hwndOkno, IDT_TIMER2, 20000, (TIMERPROC) NULL);
g_hwndOkno - główne okno aplikacji, które znajduje się w trayu od początku programu.
Fragment procedury zdarzeniowej:
case IDT_TIMER1: ShowWindow (g_hwndOkno, SW_MAXIMIZE);// Okno "się" pokazuje MessageBox(NULL, "SW_MAXIMIZE", "Wiadomość", MB_ICONINFORMATION | MB_OKCANCEL);//pojawia się komunikat return 0; case IDT_TIMER2: ShowWindow (g_hwndOkno, SW_HIDE);// Okno się nie "chowa" MessageBox(NULL, "SW_HIDE", "Wiadomość", MB_ICONINFORMATION | MB_OKCANCEL); // Komunikat jest pokazywany, ale - i tu nie wiem czemu - znajduje się za pierwszym MessageBox'em return 0;
Komunikaty się wyświetlają, ale okno się nie chowa, jakieś pomysły?
Zamieściłbym cały kod, ale jakimś cudem ma prawie 500 linijek.
****************************************** Poprzednia treść postu
Witam!
Jestem w trakcie pisania aplikacji (kiedy zostanie skończona, może trafi na forum do oceny). W jednym z założeń - tło ma być transparentne (czytaj - widać przez nie co znajduje się "pod" oknem plikacji). Z wielkim trudem, ale uporałem się z tym. Pojawił się jednak problem, z którym nie mogę sobie poradzić: pod kontrolkami znajdują się brzydkie białe obwódki (tło?) Próbowałem się ich pozbyć w ten sposób:
LRESULT CALLBACK WindowEventProc(HWND hWindow, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_CTLCOLORSTATIC: if ((HWND)lParam == hPrzycisk) { SetBkColor((HDC)wParam,(COLORREF)0x00ff00); } break;
ale jest bez zmian:
http://farm4.static.flickr.com/3367/3560174321_8838b593f3.jpg
Czy można temu zaradzić?
Pozdrawiam
Użytkownik marcin32 edytował ten post 28 maj 2009, 21:33
spróbuj dodać "styl XP" (manifest)
Na obrazku widać, że jest już dodany. Przycisk ma "obły" kształt.