Allgemeine Fragen zur PROFAN Programmierung
Views (Heute): 249656 (11092)
  Suchen
 Zurück zur Übersicht
 AutorThema: Dialog neuzeichnen?
Sascha
Datum:04.06.01 17:16 Antwortenals Email verschicken (sascha@willecke-net.de) 


Hallo,

ich habe einen mit create("dialog"... erstellen dialog und verzweigen von diesem aus, in einen weiteren dialog! Wenn ich jetzt mit @destroywindow(dialog%) den zweiten wieder beende um zum ersten zurückzukehren ist dieser nur grau in der farbe und alle Grafiken die ich mit startpaint....endpaint daraufgezeichnet habe sind verschwunden! Wie kann ich diese neuzeichnen lassen?

MFG
Sascha

http://www.profan.willecke-net.de


Dietmar Horn
Datum:04.06.01 17:32 Antwortenals Email verschicken (ALV-Hoyerswerda@t-online.de) 


Hallo Sascha,

nach der Rückkehr zu deinem ersten Dialog musst du alle Grafiken dieses Dialoges neu zeichnen.

Dies ist immer dann erforderlich, nachdem ein anderes Objekt den Dialog verdeckt hatte, oder dieser mit der Maus teilweise über den Bildschirmrand hinaus verschoben worden ist:

SetAutoPaint 1
clear e%
whilenot e%
 WaitInput
 if %wmPaint
  'Neuzeichnen
 endif

 If ...
  ' Hier kommen alle anderen Abfragen rein
 Endif

wend

SetAutoPaint 2 


MfG

Dietmar



Rolf Koch
Datum:04.06.01 17:32 Antwortenals Email verschicken (webmaster@rokosoft.de) 


Hi Sascha,
erstelle doch eine Proc, welche alle zu zeichnenden Teile beinhaltet.
Rufe diese Proc bei erstellung des Dialogs auf.
Wenn Du nun das 2te Dialogfeld wieder schließt, rufe einfach diese Proc wiederum auf.
Nicht vergessen:
If %wmPaint
    <.. Fenster neu zeichnen ..>
EndIf




Sascha
Datum:04.06.01 22:48 Antwortenals Email verschicken (sascha@willecke-net.de) 


hallo,

einziges Problem ist das ich in diesem dialog noch buttons choiceboxen etc. habe und diese beim neuzeichnen übermahlt werden! diese müsste ichja dann auch neuzeichnen aber bevor ich diese neuzeichne muss ich sie ja mit

@destroywindow(....

löschen und dann mit

@create(....

neuaufbauen! Oder hab ich da einen denkfehler?

MFG
Sascha

http://www.profan.willecke-net.de


Rolf Koch
Datum: 04.06.01 22:55 Antwortenals Email verschicken (webmaster@rokosoft.de) 


Wenn ich jetzt keinen Denkfehler drin habe könntest Du in dieser Proc dann alle Objekte wieder in den Vordergrund holen:
SetWindowPos Objekt= x,y-x,x;-1

schau mal in der Profanhilfe nach SetWindowPos
Rolf


 Zurück zur Übersicht