DCGRALINE und Fensterüberlagerung

Moderator: Moderatoren

Antworten
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21200
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

DCGRALINE und Fensterüberlagerung

Beitrag von Manfred »

Hi,

ich stehe mal wieder auf meinem berühmten Schlauch. Ich habe eine Maske gezeichnet mit DCGRALINE und jedesmal, wenn ein anderes Programmfenster darüber liegt und wieder verschwindet, sind die Linien wech. Der Rest bleibt stehen. Welchen Schalter muß ich denn setzen um das zu verhindern?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16517
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: DCGRALINE und Fensterüberlagerung

Beitrag von Martin Altmann »

Manfred,
da gibt es keinen Schalter! Du musst die Linien immer wieder neu zeichnen! Am besten in einer Methode, die Du im paint-Slot der :drawingArea Deines Parents aufrufst - z.B.:

Code: Alles auswählen

::dsTabPage:drawingArea:paint := { | a, b, c | a := c:lockPS(), ;
				::Satzanzeige( a ), ;
				c:unlockPS( a ) }
Und in der Methode :Satzanzeige( a ) malst Du dann Deine Linien auf dem PresentationSpace a.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21200
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: DCGRALINE und Fensterüberlagerung

Beitrag von Manfred »

Hi Martin,

muß ich dann jedesmal abfragen, wenn ein anderes Programm drüberliegt, ob es das gemacht hat? Ich rede von fremden Programmen, nicht von der gleichen Anwendung, die ein Fenster drüberlegt.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9367
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 102 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: DCGRALINE und Fensterüberlagerung

Beitrag von Tom »

Hallo, Manfred.

So isses. Das ist "in of itself" bei der GRA-Engine. Es entstehen keine Objekte, sondern grafische Primitive, und die werden eben nicht automatisch neugezeichnet, wenn eine Überdeckung stattgefunden hat. Deshalb sollte man die entsprechenden Zeichnungsfunktionen in eine Prozedur oder Funktion auslagern und diese immer wieder aufrufen, wenn das Paint-Event des Parents feuert.
Herzlich,
Tom
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16517
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: DCGRALINE und Fensterüberlagerung

Beitrag von Martin Altmann »

Hallo Manfred,
nein - das ist ja Sinn der Sache! Der paint-Slot wird immer aufgerufen, wenn das Fenster (teilweise) neu gezeichnet werden muß.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21200
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: DCGRALINE und Fensterüberlagerung

Beitrag von Manfred »

Leute,

ich glaube ich fall um. Jetzt klappt es. Obwohl ich gar nichts gemacht habe. Hm, verstehe ich nicht.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Antworten