Premendo Alt cancella il TWebBrowser incorporato
-
02-10-2019 - |
Domanda
Ho TWebBrowser incorporato in un TForm. Ogni volta che si preme il tasto Alt della finestra del browser diventa bianco. Se mi trascina la forma intorno ad esso ridisegna correttamente.
Quello che sto facendo male?
Ho DevExpress Bar e Griglia Quantum se quello che conta?
Io uso Delphi 2010 e Windows 7 e XP SP2. versione di IE è 7 e 8. riproducibile su tutti.
Prima di premere Alt:
Dopo aver premuto Alt:
ho risolto facendo usnig quanto segue:
procedure TMainForm.WndProc(var Message: TMessage);
begin
inherited WndProc(Message);
if Message.Msg = WM_UPDATEUISTATE then
begin
if Assigned(ProblematicWebBrowser) then
ProblematicWebBrowser.Repaint;
end;
end;
Soluzione
non dire quale versione di Delphi che si sta utilizzando, quale versione di Windows che si sta utilizzando, o quale versione di IE è stato installato, che è ciò TWebBrowser avvolge . (Come nota generale, perché sei un nuovo utente qui, si ha realmente bisogno per fornire maggiori informazioni quando si chiede una domanda come questa finta che fosse un utente del software segnalato il bug -. Che ci si butta le mani e dire " Bah, non riprodotto. Perché non possono dirmi che cosa stanno facendo?" Lo stesso vale per noi quando leggendo la tua domanda.)
Ma, detto questo, il fatto che svanisce quando si preme il tasto Alt è un suggerimento. Windows ha un opzione per nascondere i tasti di scelta rapida (il marchio di sottolineatura, come il sottolineato F su un menu File) fino a quando l'utente preme il tasto Alt. Quando lo fa, i comandi vengono inviati a WM_DRAWITEM messaggio che indica qualcosa è cambiato. Vedi anche WM_CHANGEUISTATE .
Ci sono stati errori nelle versioni precedenti di Delphi movimentazione questo (vedi questo esempio bug ) tra cui un bug per cui controlli completamente svanirono quando l'Alt tasto è stato premuto . TWebBrowser non è elencato in tale voce di controllo di qualità, ma è molto probabile questa è influenzata.
Quindi la mia ipotesi è:
- Stai utilizzando Delphi 7 o versioni precedenti
- Si sta utilizzando XP o superiore, e in esecuzione tema
- Si sta incontrando questo bug , che sta interessando sia il Controllo TWebBrowser o un genitore di esso
Soluzione: aggiornamento Delphi o applicare la correzione elencati la voce di controllo di qualità .
Altri suggerimenti
FWIW, con un modulo plain vanilla con una TWebBrowser in D2010, premendo Alt non ha effetto sul display del browser web.