|
| Autor |
Nachricht |
Elrohir_ Tutorial Leser

Anmeldedatum: 10.09.2007 Beiträge: 59
|
Form mehrmals aufrufen?
Verfasst am: 20.09.2007, 22:19 |
|
|
Hallo.
Meine Frage lautet, ob man Formulare auch mehrmals aufrufen kann...
Ich bin im Moment dabei, ein etwas erweitertes Chatprogramm zu schreiben, und da nervt es mich, dass man zwar mit mehreren Leuten gleichzeitig schreiben kann, dann aber jeder der dort verbundenen User alles lesen kann.
Deswegen wollte ich, dass das "Chat-Formular" bei einer Verbindunganfrage ein weiteres mal göffnet wird, und dann in diesem neuen Fenster die Anfrage annimmt... also, dass mand as eine Formular mehrmals offen, nur halt mit immer anderen Verbindungen hat.
Ist so etwas möglich? und wenn ja, wie ungefähr? |
|
| |
|
 |
The-God-of-all_ Poster

Anmeldedatum: 20.05.2007 Beiträge: 170 Wohnort: App.Path
|
Verfasst am: 21.09.2007, 12:49 |
|
|
Ja das ist möglich, Formulare sind eigentlich Objekte und Objekte kann man mehrfach öffnen. Um die Forms mehrfach zu öffnen muss man das Form wie ein Objekt behandeln. Hier mal ein Beispiel:
[vb:1:e743e4132a]'benötigt wird 1 Form, frmMain und ein Button (cmdOpenNew)
Option Explicit
Private Sub cmdOpenNew_Click()
Dim newForm As New frmMain
newForm.Show
End Sub
[/vb:1:e743e4132a] |
|
| |
|
 |
Elrohir_ Tutorial Leser

Anmeldedatum: 10.09.2007 Beiträge: 59
|
Verfasst am: 21.09.2007, 15:58 |
|
|
danke.. und ist es auch möglich, diesen Code in Winsock einzubauen, also wenn da eine Verbindungsanfrage ankommt, dann wird das Chat Formular neu geöffnet, und in dem neuen Formular wird die Anfrage angenommen.
EDIT: und was bedeutet eigentlcih dieses "Option Explicit"
UNd wie ginge das mti der Funktion, dass man diese Funktion mehrmals benutzen könnte?
über
| Code: |
Private sub cmd_opennew_click()
Dim newForm & Zahl As New frmMain
newForm.Show
Zahl = Zahl +1
End Sub
|
Und Zahl halt am Anfang als Integer deklarieren
EDIT2:
Und wenn ich shcon dabie bin zu fragen, wie kann man ein Autoscrolling aktivieren? |
|
| |
|
 |
The-God-of-all_ Poster

Anmeldedatum: 20.05.2007 Beiträge: 170 Wohnort: App.Path
|
Verfasst am: 21.09.2007, 18:55 |
|
|
| Elrohir hat Folgendes geschrieben: | | danke.. und ist es auch möglich, diesen Code in Winsock einzubauen, also wenn da eine Verbindungsanfrage ankommt, dann wird das Chat Formular neu geöffnet, und in dem neuen Formular wird die Anfrage angenommen. |
Ja, ist möglich, ich würde dazu das Winsock Control was auf Verbindungen wartet auf eine andere Form tun und bei Connection Request ein neues Fenster öffnen.
| Elrohir hat Folgendes geschrieben: | | EDIT: und was bedeutet eigentlcih dieses "Option Explicit" |
Option Explicit bedeutet das alle Variablen vorher deklariert werden müssen (bevor du eine Variable benutzen kannst musst du in einer sub dim varaiable [as ...] schreiben und ausserhalb von subs Private oder Public).
| Elrohir hat Folgendes geschrieben: | UNd wie ginge das mti der Funktion, dass man diese Funktion mehrmals benutzen könnte?
über
| Code: |
Private sub cmd_opennew_click()
Dim newForm & Zahl As New frmMain
newForm.Show
Zahl = Zahl +1
End Sub
|
Und Zahl halt am Anfang als Integer deklarieren |
Nein, du brauchst die Zahl nicht, jedesmal wenn die Sub gestartet wird wird die Variable newForm neu deklariert, du brauchst nicht jedesmal einen neuen Variablennamen verwenden.
| Elrohir hat Folgendes geschrieben: | EDIT2:
Und wenn ich shcon dabie bin zu fragen, wie kann man ein Autoscrolling aktivieren? |
Das würde mich auch mal interessieren, ich habe das mal gemacht indem ich den letzten Buchstaben Markiere, also mit:
[vb:1:87935513f2] txtChat.SelLength = 0
txtChat.SelStart = Len(txtResult.Text)
[/vb:1:87935513f2]
Das ist aber eigentlich keine schöne Lösung. |
|
| |
|
 |
Elrohir_ Tutorial Leser

Anmeldedatum: 10.09.2007 Beiträge: 59
|
Verfasst am: 21.09.2007, 19:51 |
|
|
hm, alos ich habe jetzt im Code von dem ersten Fenster stehen:
| Code: | Private Sub Winsock1_ConnectionRequest(Index As Integer, ByVal requestID As Long)
Dim newForm As New frm_Window
newForm.Show
End Sub |
und in der zweiten form:
| Code: |
Private Sub Form_Load()
Winsock1(FindFreeIndex).Accept requestID
End sub
|
aber irgentwie bekommt der dann an der stelle in form_load, wo er die Verbindung ja annehmen solle einen Fehler... |
|
| |
|
 |
|
|