Cosa causa ws_tabstop per influenzare l'ordine della verniciatura della finestra?
-
13-11-2019 - |
Domanda
In WTL, CBtMapButton non supporta l'immagine con strato trasparente, come PNG. Quindi personalizzo il codice per utilizzare GDI + per disegnare PNG, chiamalo come cpngbutton. Ma le cose sono strane su Win XP. Quando il pulsante è sovrapposto da un'altra finestra, il pulsante riceve prima WM_Paint, quindi il genitore, causando un risultato errato.
--->
Controllo la risorsa e rimuovi l'attributo ws_tabstop dal modello del pulsante, le cose vanno bene, la finestra genitore riceve prima wm_paint, quindi il pulsante. Cosa causa WS_Tabstop per influenzare l'ordine della verniciatura della finestra?
Soluzione
Questo è ciò che accade quando non disegni lo sfondo.Che lascia un "buco" nella finestra, vedi i pixel di qualunque finestra sia dietro il tuo.O il desktop se non c'è una talizza fine.Non altrimenti sicuro di cosa ha a che fare con WS_TABSTOP.
Utilizzare la bandiera di stile ws_ex_transparent.Ciò indica a Windows che si desidera che il genitore del pulsante si avvicini nella finestra client per fornire i pixel di sfondo.