Avatar billede avon Nybegynder
23. juni 2004 - 16:11 Der er 3 kommentarer og
1 løsning

Cancel af WindowClosing

Jeg har lavet en mfc-applikation hvor jeg forsøger at bruge WindowClosing-eventen på en WebBrowser-control.

I WebBrowseren loader jeg en side med et link der kalder window.close

Når brugeren trykker på linket vises automatisk en standard-dialogboks hvor man skal konfirmere at man vil lukke vinduet da det IKKE er et child-vindue.
Jeg ville gerne fange denne event, UNDGÅ at lukke browseren, og i stedet lukke hele formen som browser-controllen ligger på. Dette skal gøres UDEN at vise "standard-lukke-dialogen".

Jeg har sat en WindowClosing-event på WebBrowseren, som kalder:
void Popup::OnWindowClosingExplorer3(BOOL IsChildWindow, BOOL FAR* Cancel)

Inde i denne funktion har jeg forsøgt forskellige måder at sætte Cancel=true så browseren ikke skal lukke og brugeren ikke får vist standard-lukke-dialogen.

Problemer er:
Når man trykker på linket på browsersiden, bliver eventen trigget, funktionen kaldt og Cancel sat til true, MEN standard-lukke-dialogen bliver stadig vist og browseren kan efterfølgende lukkes. Det virker som om at Cancel-værdien ignoreres.
(I øvrigt skal den være af typen BOOL FAR* som jeg heller ikke er helt sikker på hvad er.)
Avatar billede jpk Nybegynder
24. juni 2004 - 09:16 #1
Da det er en pointer til en BOOL, skal du gøre sådan:

*Cancel = TRUE;

ikke sådan:

Cancel = TRUE;

Gør du det?
Avatar billede avon Nybegynder
24. juni 2004 - 09:48 #2
Det var lige præcis det der skulle til. Tak for hjælpen.
Opret lige et svar så du kan få dine point.
Avatar billede jpk Nybegynder
24. juni 2004 - 09:53 #3
Takker...
Avatar billede avon Nybegynder
24. juni 2004 - 10:01 #4
Værsgo'
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester