DCMESSAGEBOX [ERLEDIGT]

Moderator: Moderatoren

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

DCMESSAGEBOX [ERLEDIGT]

Beitrag von Manfred »

Ich habe gerade etwas über die Messagebox gelesen, was mir gefallen könnte, was ich aber nicht genau verstehe. In einem anderen Thread hatte ich ja die Sache mit der Routenverfolgung angesprochen. Ich würde ganz gerne mit der Maus über ein JPG wandern und gleichzeitig die Pixelangaben sehen können. Zuerst hatte ich vorgehabt, es über ein kleines Fenster (ähnlich Tooltip) direkt unter dem Mauscursor anzuzeigen, dann bin ich aber auf DCSTATUSBAR gestoßen auf der eine Messagebox liegt. Wie bekomme ich aber jetzt hin, das über die Messagebox in der Statusbar, die Pixelangaben angezeigt werden? Kann man das überhaupt kombinieren? Oder muß eine andere Lösung gefunden werden?
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: 9358
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: DCMESSAGEBOX

Beitrag von Tom »

Hallo, Manfred.

Auch eine Messagebox ist letztlich nur ein (Text)Static, dessen Caption ständig (in DC_ReadGuiEvent) aktualisiert wird. Bei DCMESSAGEBOX können das Buttons, Menüeinträge (hierfür ist es gedacht - als dynamischer Hilfstext) oder alle anderen Objekte sein - sie müssen nur die "MESSAGE <cMessage> INTO <oMessageBox>"-Klausel enthalten. Leider haben DCSTATIC und DCBITMAP keine MESSAGE-Klauseln. Aber es gibt Abhilfe, nämlich den "Motion"-Callback.

Wenn Du also ein Bitmap-/Bild-Objekt auf dem Dialog hast, kann das mit dem "Motion"-Callback etwas anzeigen, z.B. auch die Mauskoordinaten. Dafür müsstest Du im Bild so vorgehen:

Code: Alles auswählen

@ n,n DCSAY '' OBJECT oMeinInfoText SIZE 20,1

@ n,n DCSTATIC TYPE XBPSTATIC_TYPE_BITMAP CAPTION cMeinBild OBJECT oBild ;
         EVAL {||oBild:motion := {| aPos, uNIL, self | oMeinInfoText:SetCaption(Str(aPos[1])+', '+Str(aPos[2])) }
Ganz elegant wird es, wenn Du über den Callback "Leave" auch noch die Caption auf leer setzt.
Herzlich,
Tom
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: DCMESSAGEBOX

Beitrag von Manfred »

:thumbleft:

so hatte ich mir das schon mal für den Anfang vorgestellt.
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