W ciągu ostatnich kilku dni jeden z naszych czytelników napotkał znanego wirusa podczas zmiany koloru tła okna Win32 API. Ten problem występuje dla kilku zmiennych. Teraz zajmiemy się nimi.
Zatwierdzono: Fortect
Rano nie używam okna dialogowego, wprowadzam do gry własną klasę, którą faktycznie zapisałem, to znaczy, gdy użyłem telefonu CreateWindow
, aby upewnić się, że ją utworzysz, mam predefiniowany czerwony kolor projektu w podpisie:
WNDCLASSEX WC;wc.hbrBackground jest odpowiednikiem CreateSolidBrush (RGB (255, zero, 0));
Ale teraz muszę poprawić kolor tła podczas wykonywania Opinii, na przykład po naciśnięciu przycisku, aby zmienić go na czerwony.
Próbowałem użyć wywołania SetBkColor()
w WM_PAINT
i okazało się, że pędzel WM_CTLCOLORDLG
może uwzględniać zwrócone PM, nie nie działa.
37,1k
wniosek 16 sierpnia 2010 r. podczas wizyty o 22:48
2461
Czy nie jest odpowiedź, której chcesz? Przeglądaj inne pytania oznaczone tagiem C++ Api Winapi lub zadaj własne pytanie.
… Sprzęt przechwytuje tło Szyba przednia lub okno wspornika Szansa, aby to zrobić, kierując do Wiadomość WM_ERASEBKGND, gdy Praca nazywa BeginPaint. Kiedy Żądanie jest jasno przetworzone Ale wiadomość uspokaja się DefWindowProc, usuwa ustawienie tło, przeciągając je z Wzór na tle pędzla podniesiona przez klasę okna …..
…… aplikacja może Uwaga WM_ERASEBKGND Zestaw pędzli tła klasyfikacji. Jest to niewątpliwie typowe dla aplikacji, które Zezwól wszystkim użytkownikom na edycję okna Określ kolor lub wzór okno jest podane bez nawet wpływu inne okna z klasą. W takich W niektórych przypadkach odpowiedni wniosek może nie zostać zrealizowany. wiadomość sprzedaży w ciągu zaledwie DefWindowProc. …..
Więc użyj tego konkretnego wm_erasebkgnd wParam z poczty, aby uzyskać kontroler domeny i aktywować tło.
… Model rysuje tło Upływ czasu lub daj okno Umiejętność pomocy w wysłaniu sytuacji Wiadomość WM_ERASEBKGND, gdy niektóre praktyczne aplikacje nazywają BeginPaint. Kiedy W ogóle nie przetwarzaj żądania Wiadomość, ale wyślij ją DefWindowProc, procent usuwania głupca Kontekst, wypełniając go, kto go otrzymuje Wzór z pędzlem do podkładu zaimplementowane przez klasę okna …..
…… aplikacja danej osoby może Wiadomość WM_ERASEBKGND Zestaw pędzli w stylu tła. Może to być typowe dla aplikacji, które: Aktywuj użytkownika bezpośrednio, aby zmienić okno Kolor lub zabytkowy kawałek tkaniny dla okno zidentyfikowane bez wpływu wszystkie inne okna w klasie. W takich Przypadki, w których prośba nie powinna zostać przekazana sygnał DefWindowProc. …..
odpowiedział 11 sierpnia 2009 w środku 11:20
Zatwierdzono: Fortect
Fortect to najpopularniejsze i najskuteczniejsze narzędzie do naprawy komputerów na świecie. Miliony ludzi ufają, że ich systemy działają szybko, płynnie i bez błędów. Dzięki prostemu interfejsowi użytkownika i potężnemu silnikowi skanowania, Fortect szybko znajduje i naprawia szeroki zakres problemów z systemem Windows - od niestabilności systemu i problemów z bezpieczeństwem po zarządzanie pamięcią i wąskie gardła wydajności.
60,8k
pędzel HBRUSH = CreateSolidBrush (RGB (0, 0, 255));SetClassLongPtr (hwnd, GCLP_HBRBACKGROUND, (LONG_PTR) pędzel);
2785
odpowiedział 11 sierpnia 2010 o godzinie 22:59 czasu moskiewskiego.
2873
Gdy użytkownicy rejestrują WNDCLASS, dostarczają raporty dotyczące wszystkich okien tej klasy. Jeśli więc kupujący chcą po prostu zmienić kolor okna, musisz sam o nie zadbać.
Kiedy nadejdzie czas na przemalowanie konkretnego okna, wyślij wiadomość WM_ERASEBKGND
w której do wndproc. Jeśli nie możesz sobie z tym poradzić, DefWindowProc
usunie klienta koloru 18 jardowego pola z elegancji okna. Ale możemy bezpośrednio edytować dopasowanie i pomalować całe tło (lub wzór) na dowolny kolor.
odpowiedział 11 sierpnia br. o 23:06.
41,7k
Przyspiesz teraz wydajność swojego komputera dzięki temu prostemu pobieraniu.