INPUT Dialog

14. Dezember 2016 17:25

Hallo,

ich habe mir eine recht simple Inputbox gebaut, die ich euch nicht vorenthalten möchte. Der Code basiert auf einem kleinem Beispiel aus dem Netz. Leider finde ich diesen nicht mehr. (War was mit 2 Eingabefeldern)

Das Ziel war:
- Der Input Dialog soll zum NAV Design passen (Schriftart, Farben, Größe)
- Der Input Dialog soll sich dynamisch in der Breite und Höhe ändern können (je nach Länge der Textfeldbeschriftung)
- Die Textfeldbeschriftung soll bei zuwenig Platz umbrechen
- Parameter für Auswahl des "OK" oder "Abbrechen" Buttons
- Multilanguage fähig (Buttons müssen "mitwachsen" können)

Bilder

Microsoft.Dynamics.Nav.Client_2016-12-14_15-21-52.png

Microsoft.Dynamics.Nav.Client_2016-12-14_15-12-48.png

Microsoft.Dynamics.Nav.Client_2016-12-14_15-23-44.png




Aufruf
Code:
Helper.Input('Microsoft Dynamics NAV', 'E-Mail Adresse für Belegversand:', InputValue, TRUE, FALSE)


Parameter
Code:
Fenstertitel, Beschriftung des Eingabefeldes, Inhalt des Eingabefeldes, OK Button ausgewählt, Maximalbreite forcieren
RÜCKGABEWERT: Boolean, TRUE wenn OK geklickt wurde


Beispiel
Code:
Cust.GET('CUSTNO');
InputValue := Cust."E-Mail";
IF Helper.Input('Microsoft Dynamics NAV', 'E-Mail Adresse für Belegversand:', InputValue, TRUE, TRUE) THEN
  IF InputValue <> '' THEN
    Message('Die Eingegebene E-Mail Adresse lautet: %1',InputValue);



Wer sich über die irre Programmierung der TextBox wundert:
Wer schon mal mit Windows Forms gearbeitet hat, weiß wie trickreich sich manche Elemente verhalten. Ursprünglich habe ich für den Beschriftungstext eine Textbox mit Umbruchfunktion genutzt; Da in dieser aber der Text auswählbar ist (und ich das nicht wollte), nutze ich die TextBox nur noch zur Berechnung der nötigen Umbruchszeilen und packe dann den Text mit hinzugefügten Umbruchzeichen in ein Label, welches per Autosize seine Größe annimmt.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.