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
Aufruf
- Code: Alles auswählen
Helper.Input('Microsoft Dynamics NAV', 'E-Mail Adresse fĂĽr Belegversand:', InputValue, TRUE, FALSE)
Parameter
- Code: Alles auswählen
Fenstertitel, Beschriftung des Eingabefeldes, Inhalt des Eingabefeldes, OK Button ausgewählt, Maximalbreite forcieren
RĂśCKGABEWERT: Boolean, TRUE wenn OK geklickt wurde
Beispiel
- Code: Alles auswählen
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.