Allgemeine Fragen zur PROFAN Programmierung
Views (Heute): 249217 (10653)
  Suchen
 Zurück zur Übersicht
 AutorThema: mehrer Fenster (dialoge?) gleichzeitig
Sascha Willecke
Datum:24.12.01 14:35 Antwortenals Email verschicken (sascha@willecke-net.de) 


Hallo,

wie kann ich es erreichen das z.B. ein Hauptfenster existiert und in diesem mehrere buttons sind die jeweils ein neues fenster öffnen! Soweit ja kein problem! Allerdings müssten alle fenster gleichzeitig existieren also offen bleiben und auch abfragbar sein! Sogar messages empfangen können! wie kann ich das machen! Ich meine ungefähr sowas wie der chat in der aol software wenn man private mit anderen chattet! Kennt das wer? Wie könnte man das machen?

Gruß
Sascha


Jörg Sellmeyer
Datum:24.12.01 14:48 Antwortenals Email verschicken (joerse@gmx.de) 


Du machst aber auch immer Sachen...
Schluß jetzt, gleich ist Bescherung. ;-)
Schöne Weihnachten
Jörg


Sascha Willecke
Datum:24.12.01 15:12 Antwortenals Email verschicken (sascha@willecke-net.de) 


Ja das stimmt! Aber ne lösung müsste es trotzdem geben!? Lasst euch nur zeit!

!!!!!!!!!!!!!!Frohe Weihnachten!!!!!!!!!!!!!!

Gruß
Sascha


Thorsten
Datum:24.12.01 17:39 Antwortenals Email verschicken (mrk@mrk-soft.de) 


... und das am Heiligen Abend ...

Jedes Fenster, was du zusätzlich mit CREATEWINDOW bzw.
Create("window", ...) erzeugt, ist ein Fenster, was
Programabhängig von Profan ist, jedoch ein eigenes Handel
hat. Da ich gerne Bereichsvariablen benutze, würde ich
jedes Fenster als Long dort sichern.

z.b.


 dim handles#,400   'für 400 Fenster
 long handles#,0=CreateWindow(%hwnd,"Fenster1",10,10,100,100)
 long handles#,4=CreateWindow(%hwnd,"Fenster2",30,30,100,100)
 long handles#,8=CreateWindow(%hwnd,"Fenster3",50,50,100,100)



Nun läst sich im Profan Hauptprogramm die Messages
empfangen, und wenn dort jeweils die Referrenz angegeben
ist, zu welchem Fenster die Message gehört, kannste
das ja dann auf dem Fenster dort anzeigen.


 '... code Auszug ...

 lparam& = &Lparam
 wparam& = &Wparam

 If %Message = $2003

  If Lparam& = long[handles#,0)
   'aktion bezieht sich auf Fenster 1
   aktion_win1 Wparam&
  Endif

  If Lparam& = long[handles#,4)
   'aktion bezieht sich auf Fenster 2
   aktion_win2 Wparam&
  Endif

  ' .... ´usw.

 Endif


vor ca. 1 Jahr hatte ich mal ein eigenes Chat-System
entwicket, auf meinem Rechner lief dazu ein Server,
wo man sich angemeldet hat, es gab bis zu 5 Chat-
Räume und dazu konnte noch jeder Teilnehmer mit jedenm
Privat Chatten. Hab das Project allerdings eingestlelt,
da es probleme mit der Net.Dll (wegen TCP/IP) gab, im
Bezug auf die Ports 2003 / 2004 ,da diese sich nicht ändern
lassen.

Thorsten



Sascha Willecke
Datum:25.12.01 11:30 Antwortenals Email verschicken (sascha@willecke-net.de) 


Hallo,

für mit createdialog erstellte fenster gilt das aber nicht oder?

Sascha


Thorsten
Datum:26.12.01 07:54 Antwortenals Email verschicken (mrk@mrk-soft.de) 


Ob nun eine Dialog oder Fenster, was mit Create
erstellt wird, unter Profan ist die Handhabung
die gleiche. Beim Dialog ist halt die Fensterform
vorgegeben, bei CreateWindow läst sich diese noch
selber bestimmen.

Thorsten:

ps: Frank, Stimmt, sind natürlich nur 100 Fenster.
In meiner "Retorten" Sammlung ist aber auch noch
ein Code, wo ein Arrays benutzt wurde.

win&[zl%] = CreateWindow(%hwnd,"Fenster1",10,10,100,100)

Das Array wurde für jedes erstelle Fenster einfach um 1
erhäht.



Sascha Willecke
Datum: 28.01.02 11:13 Antwortenals Email verschicken (sascha@willecke-net.de) 


Hi Thorsten,

kannst du mir vielleicht diesen quellcode mal zusenden! ich hab nämlich noch nicht so ganz verstanden wie du das ganze gemeint hast sorry!?!?!?

Gruß
Sascha


Frank Abbing
Datum:25.12.01 14:32 Antwortenals Email verschicken (frankabbing@12move.de) 


Hallo,

...
dim handles#,400 'für 400 Fenster
long handles#,0=CreateWindow(%hwnd,"Fenster1",10,10,100,100)
long handles#,4=CreateWindow(%hwnd,"Fenster2",30,30,100,100)
long handles#,8=CreateWindow(%hwnd,"Fenster3",50,50,100,100)
...

Hier ist dir wohl ein kleiner Rechenfehler unterlaufen:

400/4 = 100 Fenster.

Gruß, Frank


 Zurück zur Übersicht