Hoe zorg je ervoor dat de gebruiker je programma niet met het kruisje kan afsluiten. Dit omdat er een verbinding via winsock wordt gemaakt en als je via kruisje doet, wordt die niet afgesloten
Dus het moet gewoon via het menu afgesloten worden, er wordt eerst tekst gezonden, en daarna wordt normaal de verbinding van winsock afgesloten nadat je op afsluiten hebt geklikt.
je kan bij form-properties iets van contol box op false zetten, maar er zijn ook speciale modules voor die het kruisje weg halen
Verwijderd
Optie 1: Set in de properties van je formulier ControlBox, MinButton en Maxbutton op False.
Optie 2:
Optie 2:
code:
1
2
3
| Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) Cancel = -1 End Sub |
De grote kracht van Windows is nu juist dat vergelijkbare applicaties en onderdelen van applicaties op vergelijkbare manieren werken. Typisch iets voor een Visual Basic programmeur om de bekende werking van een applicatie te saboteren en gebruikers te dwingen 'standaard' zaken als het afsluiten van applicaties op een afwijkende manier te doen. Dat kruisje zit er niet voor niets - als gebruiker verwacht ik dat 'ie in jou applicatie hetzelfde doet als in ALLE andere Windows applicaties!
En om vervolgens wat constructiefs aan dit bericht toe te voegen: ik neem aan dat je ook in Visual Basic een functie kan koppelen aan het WM_CLOSE bericht, dat verzonden wordt als een gebruiker een venster sluit (hetzij via de taakbalk, hetzij via het kruisje, hetzij via een menu of op een andere manier). In deze functie kun je dan je opruimwerk doen.
En om vervolgens wat constructiefs aan dit bericht toe te voegen: ik neem aan dat je ook in Visual Basic een functie kan koppelen aan het WM_CLOSE bericht, dat verzonden wordt als een gebruiker een venster sluit (hetzij via de taakbalk, hetzij via het kruisje, hetzij via een menu of op een andere manier). In deze functie kun je dan je opruimwerk doen.
Ik zou er dan wel dit van maken:Op zondag 24 februari 2002 21:07 schreef Sepans het volgende:
code:
1 2 3 4Private Sub Form_QueryUnload(Cancel As Integer, _ UnloadMode As Integer) Cancel = -1 End Sub
code:
1
2
3
4
5
6
| Private Sub Form_QueryUnload(Cancel As Integer, _
UnloadMode As Integer)
If UnloadMode = 0 Then ' System Menu or Close button
Cancel = -1
End If
End Sub |
Anders wil je form helemaal niet meer ontladen (ook niet meer met Unload frm) en zal in het geheugen blijven tot de app beeindigd wordt.
Het netst is natuurlijk om het kruisje gewoon niet te laten zien als je niet wilt dat erop geklikt kan worden
4200Wp ZO + 840Wp ZW + 1680Wp NW | 14xIQ7+ + 1xDS3-L | MTVenusE | HWP1
Gebruik de Unload-event van een form.Op zondag 24 februari 2002 22:17 schreef Soultaker het volgende:
ik neem aan dat je ook in Visual Basic een functie kan koppelen aan het WM_CLOSE bericht.
Idd, controleer in de form_unload of de verbinding nog open is, en zo ja, sluiten. Eventueel in de query unload een vraag (afhankelijk van het soort programma is dat 'wel handig' of 'reuze irritant') maar laat ajb gewoon lekker het kruisje doen wat ie altijd doet...
(doet me opeens denken aan een niet nader te noemen software pakket waarbij wijzigingen alleen werden opgeslagen via de Sluiten commandbutton, niet via het kruisje... en aangezien die Sluiten button bij wijze van spreken net zo groot was als het kruisje, en op een heel onlogische plek zit, klikte bijna niemand op Sluiten. Leg jij die logica maar eens uit aan een klant, zeker als die klant 2 tellen eerder Word afsloot via het kruisje, en fijn de vraag kreeg of de wijzigingen bewaard moesten blijven. Maar da's wel offtopic
)
(doet me opeens denken aan een niet nader te noemen software pakket waarbij wijzigingen alleen werden opgeslagen via de Sluiten commandbutton, niet via het kruisje... en aangezien die Sluiten button bij wijze van spreken net zo groot was als het kruisje, en op een heel onlogische plek zit, klikte bijna niemand op Sluiten. Leg jij die logica maar eens uit aan een klant, zeker als die klant 2 tellen eerder Word afsloot via het kruisje, en fijn de vraag kreeg of de wijzigingen bewaard moesten blijven. Maar da's wel offtopic
Exact expert nodig?
Pagina: 1