Mailto auf der Oberfläche [ERLEDIGT]

Vom Front-End bis SOAP.

Moderator: Moderatoren

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

Mailto auf der Oberfläche [ERLEDIGT]

Beitrag von Manfred »

wie kann man einen mailto Link auf den Bildschirm bringen im Programm? Ich habe im Moment keine Ahnung, wie das klappen könnte. So wie auf Webseiten. Man klickt den Text an und es wird der Standardmailclient geöffnet mit einer Mailadresse im Empfänger eingetragen.
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: 16501
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Mailto auf der Oberfläche

Beitrag von Martin Altmann »

Hmm,
mach doch ein Static mit der Mailadresse und setze den lbclick-Slot entsprechend: Dort rufst Du einfach mittels API (ShellExecuteA) und als Parameter entsprechend mailto: mit der selben Mailadresse auf.

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
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Mailto auf der Oberfläche

Beitrag von Tom »

Mit eXpress++ sogar noch einfacher

Code: Alles auswählen

@ 1,1 DCSAY 'Mail senden an '+cMailAdd SIZE 30,1 HYPERLINK {||MailSenden(cMailAdd)}  COLOR GRA_CLR_BLUE,XBPSYSCLR_TRANSPARENT
Plus: Es wird unterstrichen, also als Link erkennbar!
Herzlich,
Tom
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21164
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Mailto auf der Oberfläche

Beitrag von Manfred »

ja Tom, Danke. Ich Schnarchnase. Express++ war das Zauberwort.
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: 16501
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Mailto auf der Oberfläche

Beitrag von Martin Altmann »

Um es optisch perfekt zu machen, nimmst du für den Text Blau als Farbe und unterstrichen als Attribut.
Außerdem belegst Du noch die Slots für :enter() und :leave() und änderst in erstem den Mauszeiger auf eine Hand (kannst Du als Ressource vom Type ico einlinken in Deiner .arc-Datei und dann mittels :setPointer( , <NUMBER_OF_RESSOURCE>, XBPWINDOW_POINTERTYPE_ICON ) aktivieren). In dem zweiten Slot änderst Du den Mauszeiger einfach wieder zurück auf Standard (mittels :setPointer( , XBPSTATIC_SYSICON_DEFAULT, XBPWINDOW_POINTERTYPE_SYSPOINTER ) )

Yup - eXpress++ macht das sicherlich auch nicht viel anders.

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
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Mailto auf der Oberfläche [ERLEDIGT]

Beitrag von Tom »

Yup - eXpress++ macht das sicherlich auch nicht viel anders.
Nee. Exakt genauso. 8)
Herzlich,
Tom
DelUser01

Re: Mailto auf der Oberfläche [ERLEDIGT]

Beitrag von DelUser01 »

geht das auch so auf einem normalen XbpDialog?
Ohne Button, nur Text, unterstrichen, blau und anklickbar?
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Mailto auf der Oberfläche [ERLEDIGT]

Beitrag von Jan »

Ich mach das so wie oben beschrieben: Enfach einen Text als :caption eines XbpStatic ausgeben in blau und unterstrichen. Zusätzlich baue ich den Cursor um auf Pfeil, damit das auch darüber sofort erkennbar ist. Und beim Anklicken starte ich per RunShell das Mailprogramm und übergeben dort direkt die Empfängeradresse und den Betreff.

Das sieht dann z. B. so aus:

Code: Alles auswählen

oXbp := XbpStatic():new(oDlg:drawingArea, , {10, 210}, {250, 20}, {{XBP_PP_FGCLR, GRA_CLR_ BLUE}})
oXbp:caption := "mail@ichbins.de"
oXbp:options := XBPSTATIC_TEXT_WORDBREAK+XBPSTATIC_TEXT_TOP+XBPSTATIC_TEXT_CENTER
oXbp:SetPointer( , 200, XBPWINDOW_POINTERTYPE_POINTER)
oXbp:lbClick := {|| RunShell("/C start MAILTO:mail@ichbins.de?subject=Anfrage" , ;
                             , ;
                             .T., ;
                             .T.)}
oXbp:create()
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
DelUser01

Re: Mailto auf der Oberfläche [ERLEDIGT]

Beitrag von DelUser01 »

OK - hab's jetzt auch begriffen. Das Text-Static wird ja beim anklicken auch erkannt.

Pointer/Cursor-Zeichen umschalten:
Das mit dem Umschalten des Cursors hatte ich früher schon bei CR, später bei Hybrid eingebaut. Irgendwann ging es nur noch manchmal, inzwischen gar nicht mehr. Nur noch die Ballon-Info. Vermutlich habe ich die Implementierung unter Hybrid falsch eingebaut, da muss ich nochmal dran, sonst erkennt man das mit dem anklickbaren Text nicht richtig...
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21164
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Mailto auf der Oberfläche [ERLEDIGT]

Beitrag von Manfred »

hm,
habe das hier nochmal ausgegraben. Ist irgendwie in Vergessenheit geraten. Das hier:

Code: Alles auswählen

@ nX,nY DCSAY "mailto:" + cMailAdresse;
               COLOR GRA_CLR_BLUE,XBPSYSCLR_TRANSPARENT;
           HYPERLINK {|| RunShell("/C mailto:" + cMailadresse,"Rundll32.exe",.T.,,.T.)};
           SAYCENTER;
                SIZE 0
wird zwar so angezeigt wie gewünscht, aber durch Anklicken erreiche ich gar nichts. Wo denke ich falsch?
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: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Mailto auf der Oberfläche [ERLEDIGT]

Beitrag von Tom »

Code: Alles auswählen

@ 0,0 DCSAY "meine@hotline.de" COLOR GRA_CLR_BLUE SAYSIZE 0 HYPERLINK {||RunShell("url.dll,FileProtocolHandler mailto:meine@hotline.de","RunDLL32.EXE",.T.,.T.)}
Herzlich,
Tom
Antworten