Allgemeine Fragen zur PROFAN Programmierung

Views (Heute): 249217 (10653)

| Suchen
| Zurück zur Übersicht

Autor | Thema: mehrer Fenster (dialoge?) gleichzeitig
Sascha Willecke
| Datum:24.12.01 14:35 (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 (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 (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 (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 (sascha@willecke-net.de) |
Hallo, für mit createdialog erstellte fenster gilt das aber nicht oder? Sascha
Thorsten
| Datum:26.12.01 07:54 (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 (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 (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