Das OFFIZIELLE PROFAN SUPPORT FORUM
Einsteigerfragen
PROFAN-Programmierung
Helfer & Tools
Anregungen & Vorschläge
PROFAN-NEWS
Die Regeln!
2 - PROFAN-Programmierung

 Neues Thema  |  Zur Übersicht  |  Suchen  |  Einloggen   Vorherige Nachricht  |  Nächste Nachricht 
 Re: Startpaint in X4
Autor: Jörg Sellmeyer (---.dip0.t-ipconnect.de)
Datum:   14.07.18 02:20

Hallo Karl-Jürgen,

es gib keinen Grund, sich angegriffen zu fühlen. Dein Punkt ist noch nicht rübergekommen und es geht jetzt um die Präzisierung deines Anliegens.

Wenn man einmal X13 als Interpreter benutzt, sieht man sofort, dass sich X14 anders verhält.

Allerdings sieht man mit diesem Code auch schnell, dass die Beschriftung auch bei profaneigenen Controls verschwindet, sobald die Dialoge von einem anderen Fenster verdeckt werden.
Einfach mal ein anderes Fenster aufrufen, nachdem das Programm gestartet ist...
 CLS $505050
 print $profver
 Declare Mem tafel1, tafel2
 
 /*------------------------------------------------------------
       Ein simples Dialogfenster.
       Zwei Methoden: Handle retournieren und eine Beschriftung (Neuzeichnen)
 --------------------------------------------------------------*/
 Class PANEL = hWnd%%, GetWnd@, Neuzeichnen@, PANEL@
 
 Proc PANEL.PANEL
   Parameters Long x, y, breit, hoch, id
   '.hWnd%% = Control("Dialog","", $50400000, x, y, breit, hoch, &hwnd, id, %hinstance, $0)
   .hWnd%% = Create("ChildWindow",&hwnd,"", x, y, breit, hoch)
   .Neuzeichnen()
 EndProc
 
 Proc PANEL.GetWnd
   Return .hWnd%%
 EndProc
 
 Proc PANEL.Neuzeichnen
   StartPaint .GetWnd()
     DrawText 10,10, "Beschriftung"
   EndPaint
 EndProc
  /*------------------------------------------------------------
             Jetzt Objekte erstellen, aber ...
 --------------------------------------------------------------*/
 tafel1 = New(PANEL,010,010,200,200,3000)
 tafel2 = New(PANEL,220,010,200,200,3001)
  /*------------------------------------------------------------
         ... wenn tafel2 erstellt wird,
             verschwindet die Beschriftung von tafel 1 
 --------------------------------------------------------------*/
 
 Waitkey
 Dispose tafel1, tafel2
  
 

Es wäre sicher interessant (vielleicht sogar wichtig), zu wissen, was da anders ist aber letztlich ändert es nichts daran, dass das Zeichnen auf Controls <> hwnd eher witzlos ist.
Als sicheren Umweg würde ich ein Bitmap empfehlen, welches auf die Dialogfläche gepappt wird. Damit ist dann die Beschriftung wieder persistent.

Und so würde es dann wieder dauerhaft funktionieren:

 CLS $505050
 print $profver
 Declare Mem tafel1, tafel2
 
 /*------------------------------------------------------------
       Ein simples Dialogfenster.
       Zwei Methoden: Handle retournieren und eine Beschriftung (Neuzeichnen)
 --------------------------------------------------------------*/
 Class PANEL = hWnd%%, GetWnd@, Neuzeichnen@, PANEL@
 
 Proc PANEL.PANEL
   Parameters Long x, y, breit, hoch, id
   .hWnd%% = Control("Dialog","", $50400000, x, y, breit, hoch, &hwnd, id, %hinstance, $0)
   '.hWnd%% = Create("ChildWindow",&hwnd,"", x, y, breit, hoch)
   .Neuzeichnen()
 EndProc
 
 Proc PANEL.GetWnd
   Return .hWnd%%
 EndProc
 
 Proc PANEL.Neuzeichnen
   StartPaint .GetWnd()
     DrawText 10,10, "Beschriftung"
   EndPaint
 EndProc
  /*------------------------------------------------------------
             Jetzt Objekte erstellen, aber ...
 --------------------------------------------------------------*/
 tafel1 = New(PANEL,010,010,200,200,3000)
 tafel2 = New(PANEL,220,010,200,200,3001)
   tafel1.neuzeichnen()
  /*------------------------------------------------------------
         ... wenn tafel2 erstellt wird,
             verschwindet die Beschriftung von tafel 1 
 --------------------------------------------------------------*/
 Set("AutoPaint",0)
 While 1
 WaitInput
 if %wmpaint
   CLS $505050
   tafel1.neuzeichnen()
   tafel2.neuzeichnen()
 EndIf
 Wend
 Dispose tafel1, tafel2
 


Das war aber auch in X13 schon so.

_____________________________________
Man sollte seiner Zeit nicht zu weit voraus sein

Nachricht bearbeitet (14.07.18 02:30)

 Beitrag beantworten  |  Foren-Liste  |  Alle Antworten   Neuerer Beitrag  |  Älteres Thema 

 Beiträge Autor  Datum
 Startpaint in X4  Neu
Karl-Jürgen Hilger 09.07.18 16:32 
 Re: Startpaint in X4  Neu
Heinz Brill 10.07.18 17:17 
 Re: Startpaint in X4  Neu
Heinz Brill 10.07.18 17:36 
 Re: Startpaint in X4  Neu
Karl-Jürgen Hilger 10.07.18 19:12 
 Re: Startpaint in X4  Neu
Heinz Brill 10.07.18 19:47 
 Re: Startpaint in X4  Neu
RGH 11.07.18 09:08 
 Re: Startpaint in X4  Neu
Karl-Jürgen Hilger 11.07.18 11:49 
 Re: Startpaint in X4  Neu
David Strutz 13.07.18 20:12 
 Re: Startpaint in X4  Neu
Karl-Jürgen Hilger 14.07.18 00:53 
 Re: Startpaint in X4  Neu
Jörg Sellmeyer 14.07.18 02:20 
 Re: Startpaint in X4  Neu
Karl-Jürgen Hilger 14.07.18 15:07 
 Re: Startpaint in X4  Neu
Heinz Brill 14.07.18 19:03 
 Re: Startpaint in X4  Neu
Karl-Jürgen Hilger 14.07.18 21:44 
 Re: Startpaint in X4  Neu
Heinz Brill 15.07.18 08:02 
 Re: Startpaint in X4  Neu
RGH 15.07.18 21:58 
 Re: Startpaint in X4  Neu
Karl-Jürgen Hilger 16.07.18 01:06 
 Re: Startpaint in X4  Neu
Heinz Brill 16.07.18 04:18 


 Foren-Liste  |  Zur Registrierung 
 Benutzerlogin
 Benutzername:
 Passwort:
 Login-Daten speichern:
   
 Passwort vergessen?
E-Mail-Adresse oder Username unten eingeben. Dann wird Dir per e-Mail ein neues Passwort zugeschickt.

phorum.org