Toon posts:

[VB6] Gemaakt programma restarten

Pagina: 1
Acties:

Verwijderd

Topicstarter
Mijn hoofdvraag: Wat is de code om een Visual Basic programma te restarten?

Weet iemand ook of het mogelijk is om:
1. De close-window (X) button te disablen?
2. De cursor terug te brengen naar een invoervak na op een invoerbutton te hebben gedrukt?

En zo ja.. hoe?

  • ShadowrunR
  • Registratie: Maart 2002
  • Laatst online: 17-08 20:13
je eigen programma kun je gewoon herstarten met:
code:
1
2
Shell App.Path & "\" & App.Exename, vbNormal
End

Iets zoals dit. Hiermee start je je programma opnieuw op, mits je in VB toelaat dat je programma meerdere malen uitgevoerd mag worden.

En verder, die knop moet je wel kunnen disablen met één of andere API-call

[ Voor 18% gewijzigd door ShadowrunR op 19-03-2003 14:34 ]


Verwijderd

Visual Basic:
1
app.PrevInstance


Geeft je zelfs de optie om te kijken hoevaak je applicatie reeds opgestart is, en een optie om te forceren dat je applicatie maar 1x opgestart wordt.

Verwijderd

Topicstarter
Het gaat er eigenlijk meer om dat alle tekstvelden arrays weer leeg zijn, om zo weer nieuwe gegevens in te voeren.

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Verwijderd schreef op 19 March 2003 @ 14:29:
Weet iemand ook of het mogelijk is om:
1. De close-window (X) button te disablen?
2. De cursor terug te brengen naar een invoervak na op een invoerbutton te hebben gedrukt?
1. Tricky... volgens mij verdwijnt de close button als geheel als je met SetWindowLong de flag WS_SYSMENU eruitflikkert, maar daar zou je wat mee moeten spelen.

2. SetCursorPos API call

Professionele website nodig?


  • ZaZ
  • Registratie: Oktober 2002
  • Laatst online: 07-07 01:04

ZaZ

Tweakers abonnee

curry684 schreef op 19 March 2003 @ 14:41:
[...]

1. Tricky... volgens mij verdwijnt de close button als geheel als je met SetWindowLong de flag WS_SYSMENU eruitflikkert, maar daar zou je wat mee moeten spelen.

2. SetCursorPos API call
1. Niet waar ;)
2. Setfocus zit gewoon in een textbox van basic, en is dus veel makkelijker lijkt me.
verder kan je als je alle tekstboxjes moet wissen bijv. net zo goed met een for each loop in de weer gaan lijkt me.
edit:
ZaZ zat bij vraag 1 niet helemaal op te letten en dacht dat ie zei dat het alleen maar mogelijk was om de button te laten verdwijnen

[ Voor 13% gewijzigd door ZaZ op 19-03-2003 14:45 ]

Lekker op de bank


Verwijderd

Topicstarter
Hoe werkt dat SetFocus precies?

  • ZaZ
  • Registratie: Oktober 2002
  • Laatst online: 07-07 01:04

ZaZ

Tweakers abonnee

Verwijderd schreef op 19 March 2003 @ 14:53:
Hoe werkt dat SetFocus precies?
[bijdehand mode]
textboxnaam.setfocus misschien?
[/bijdehand mode]

ps.
Er wordt op GoT verwacht dat mensen zelf eerst ECHT gaan zoeken en klooien, en als het dan nog niet lukt kan je een vraag stellen :)
Dit had je met de hints wel kunnen raden lijkt me

Lekker op de bank


  • DukeMan
  • Registratie: Mei 2000
  • Niet online
Verwijderd schreef op 19 March 2003 @ 14:40:
Het gaat er eigenlijk meer om dat alle tekstvelden arrays weer leeg zijn, om zo weer nieuwe gegevens in te voeren.
Zou het niets iets kunnen zijn van textbox.text ="" ipv je app opnieuw opstarten???? |:( :Z

Verwijderd

mijn leraar deed iets in de functie:
Visual Basic:
1
2
3
Private Sub Form_Terminate()

End Sub


maar wat presies, dt ben ik vergeten :S

[ Voor 5% gewijzigd door Verwijderd op 19-03-2003 16:24 ]


  • Sponge
  • Registratie: Januari 2002
  • Laatst online: 15-08 11:47

Sponge

Serious Game Developer

Je kan die X misschien niet makkelijk laten verdwijnen, maar je kan z'n functie wel uitschakelen.

code:
1
2
3
Private Sub Form_Unload(Cancel As Integer)
    Cancel = 1
End Sub

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

ZaZ schreef op 19 maart 2003 @ 14:43:
2. Setfocus zit gewoon in een textbox van basic, en is dus veel makkelijker lijkt me.
verder kan je als je alle tekstboxjes moet wissen bijv. net zo goed met een for each loop in de weer gaan lijkt me.
Mmm vraag was nogal ambigue, ik las 'cursor' namelijk als 'muispointer' (dat ding wordt in heel Windows de cursor genoemd namelijk). Een cursor als in dat ding dat aangeeft waar je zit te typen heet een 'caret'.

Vandaar dus dat ik het goede antwoord op de verkeerde vraag gaf :P

Professionele website nodig?


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-08 13:19

.oisyn

Moderator Devschuur®

Demotivational Speaker

jah, ik dacht ook muiscursor :Y)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

.oisyn schreef op 19 March 2003 @ 17:10:
jah, ik dacht ook muiscursor :Y)
offtopic:
Oysin is dus ook een vieze windowshippie! O-)

Professionele website nodig?


  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 14-08 12:38

Crazy D

I think we should take a look.

41.6C.6D.61.72 schreef op 19 March 2003 @ 16:30:
Je kan die X misschien niet makkelijk laten verdwijnen, maar je kan z'n functie wel uitschakelen.

code:
1
2
3
Private Sub Form_Unload(Cancel As Integer)
    Cancel = 1
End Sub
Dan kun je heel het programma niet meer afsluiten.. check het QueryUnload event en de unloadmode.
X-button is wel te disablen trouwens maar is niet zo gebruiksvriendlijk imho. Het is een standaard manier om een programma af te sluiten, als er een reden voor is om dat niet toe te staan is het imho netter om op dat moment een melding te geven waarom niet, ipv heel de button te disablen.

Exact expert nodig?


  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 26-06 10:37

OZ-Gump

terug van weggeweest

als er een reden voor is om dat niet toe te staan is het imho netter om op dat moment een melding te geven waarom niet, ipv heel de button te disablen.
true, true ... :*)

Wat is precies je doel als je zegt dat je je programma wilt herstarten? Waarom zou je dat willen? Als je daar wat meer uitleg over kunt geven zijn er hier misschien mensen die je een betere oplossing kunnen bieden...

[ Voor 2% gewijzigd door OZ-Gump op 19-03-2003 19:04 . Reden: hou nou eens op met editten! ]

My personal website


  • Sponge
  • Registratie: Januari 2002
  • Laatst online: 15-08 11:47

Sponge

Serious Game Developer

Crazy D schreef op 19 maart 2003 @ 18:19:
[...]

Dan kun je heel het programma niet meer afsluiten.. check het QueryUnload event en de unloadmode.
X-button is wel te disablen trouwens maar is niet zo gebruiksvriendlijk imho. Het is een standaard manier om een programma af te sluiten, als er een reden voor is om dat niet toe te staan is het imho netter om op dat moment een melding te geven waarom niet, ipv heel de button te disablen.
Mja, moet ook met QueryUnload eigelijk, ik wou dit ff snel demonstreren, om het te testen gebruikte ik Unload :)

Het is idd niet een nette manier, de beste manier blijft nog of het kruisje te disablen (grijs dus) of te laten verwijderen

Overigens om die button weg te halen:

http://www.experts-exchan...ual_Basic/Q_10126359.html

En nog meer:
http://www.google.nl/sear...=UTF-8&oe=UTF-8&hl=nl&lr=

[ Voor 16% gewijzigd door Sponge op 19-03-2003 19:12 ]


Verwijderd

Zo kijk je of de gebrukker op het kruisje heeft gedrukt, wanneer dit het geval is dan is UnloadMode = 0 en wordt Cancel = 1, de form wordt niet ge-unload.

Visual Basic:
1
2
3
4
5
6
7
8
9
10
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
        Dim result As VbMsgBoxResult
        Select Case UnloadMode
            Case 0
                Cancel = 1
            Case Else
                result = MsgBox("Weet u zeker dat u wilt afsluiten", vbOKCancel)
                If result = vbCancel Then Cancel = 1
        End Select
End Sub


Zo haal je je controlbox(kruisje, minimaliseren, maximaliseren etc.) weg:

Visual Basic:
1
2
3
Private Sub Form_Load()
        Me.Controlbox = False
End Sub

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 14-08 12:38

Crazy D

I think we should take a look.

41.6C.6D.61.72 schreef op 19 March 2003 @ 19:09:
Het is idd niet een nette manier, de beste manier blijft nog of het kruisje te disablen (grijs dus) of te laten verwijderen
Ik bedoelde juist dat ik het X-je disablen niet zo netjes vind. Het is standaard windows, en een normale manier om een programma af te sluiten. Als je programma bezig is met iets waardoor op dat moment het programma niet kan worden afgesloten, is een melding geven (of een vraag of de aktie afgebroken moet worden oid) imho netter dan disablen. En weghalen vind ik voor een normale applicatie (popup venster is een ander verhaal) not done eigenlijk. Mjah das way offtopic.

Exact expert nodig?

Pagina: 1