IE WebBrowser nu trimite unele mesaje de redesenare

Intrebari legate de programarea cu biblioteci precum MFC, ATL, WTL si GDI+.
Post Reply
User avatar
Silviu Ardelean
Senior
Senior
Posts: 1175
Joined: 12 Jul 2007, 09:22
Judet: Timiş
Location: Timisoara
Contact:

IE WebBrowser nu trimite unele mesaje de redesenare

Post by Silviu Ardelean » 22 Aug 2013, 18:48

Am un property sheet view cu cateva property pages-uri. Una dintre aceste property page-uri contine o reprezentare HTML folosind o clasa derivata din CHtmlView.
Initial fisierul .html e randat corect. Problema apare uneori la schimbarea intre property page-uri si .html-ul nu e redesenat, fiind un comportament aleator. Conform Spy++, in astfel de situatii unele mesaje Windows nu sunt trimise de catre WebControl (Internet Explorer_Server layer): WM_ERASEBKGRD, WM_PAINT sau WM_NCPAINT.

Tentative de genul Q179421 sau Q183161 nu ajuta rezolvarea. Am IE 10 iar ierarhia ferestrelor este: Shell Embedding -> Shell DocObject View -> Internet Explorer_Server.
Chiar daca fac ceva procesare inainte de randarea html-ului, am reprodus bug-ul si cu un cod .html dummy.

Idei de "workaround" pentru a determina layerul Internet Explorer_Server sa trimita aceste mesaje intotdeauna?



Viorel
Microsoft MVP
Microsoft MVP
Posts: 289
Joined: 13 Jul 2007, 12:26

Re: IE WebBrowser nu trimite unele mesaje de redesenare

Post by Viorel » 22 Aug 2013, 20:59

E posibil ca clasa CHtmlView să nu fi fost proiectată pentru o astfel de utilizare. Există un proiect simplu care să demonstreze problema?

User avatar
Silviu Ardelean
Senior
Senior
Posts: 1175
Joined: 12 Jul 2007, 09:22
Judet: Timiş
Location: Timisoara
Contact:

Re: IE WebBrowser nu trimite unele mesaje de redesenare

Post by Silviu Ardelean » 22 Aug 2013, 21:08

Daca functioneaza de 10 ori si sa zicem a 11-a esueaza, tind sa cred ca problema nu e neaparat in CHtmlView (clasa cu destule bug-uri pentru care exista fix-uri, de altfel ) . :) CHtmlView foloseste Internet Explorer_Server.
Inca n-am un proiect demo dar nu e exclus sa fac unul.

Sello
Junior
Junior
Posts: 1
Joined: 22 Jan 2015, 09:00
Judet: Bistriţa-Năsăud

Re: IE WebBrowser nu trimite unele mesaje de redesenare

Post by Sello » 22 Jan 2015, 09:04

Notificarile gen CBN_SELCHANGE se trimit de catre sistem printelui atunci cand userul ii face ceva copilului.
Deci, logic nu are sens sa le trimiti tu prin program.
Our excellent online http://www.braindumps.co/ training programs will lead you to success in the comptia a+ We also offer latest passguide and security+ with 100% success guarantee. Our www.principiacollege.edu is rare in IT world.

Post Reply