09-27-2013 07:00 AM
Hallo,
ich habe ein SUD-Dialog in dem ich über eine EditBox die Skalierung eines Diagramms im Report ändere und über den Befehl PicUpdate aktualisiere. Das ganze realisiere ich im EventChange der EditBox.
Das ganze hat bis zur Version 12 von Diadem, auch duch direktes eingeben der Zahlen, wunderbar geklappt. Seit Diadem 2012 jedoch wird nach dem Befehl PicUpdate der komplette Inhalt der EditBox markiert, was dazu führt, dass ich mehrstellige Zahlen nicht mit direkt eingeben kann. Nur durch verschieben des Cursor an das Ende des Inhalts klapps, was aber sehr umständlich ist. Ein Lösung über einen speraten Button ist nicht gewünscht.
Was kann ich jetzt tun? Bis jetzt habe ich noch keine Lösung gefunden, per Befehl die Markierung aufzuheben oder den Cursor zu verschieben.
Vielleicht kann mir hier jemand helfen?
Zum besser Verständnis habe ich das EventChange angehängt:
Sub D2_Y_Ende_EventChange(ByRef This) 'Erzeugter Event-Handler
If IsNumeric(This.Text) Then 'Abfrage, ob der eingegebene Wert eine Zahl ist
This.ForeColor = RGB(0,0,0) 'Schriftfarbe setzen
Call GraphObjOpen("2DAxis2") 'Diagramm 2 (klein) öffnen
Call GraphObjOpen("2DYAxis62_1") 'Y-Achse öffnen
D2AxisYEnd = D2_Y_Ende.Text 'Y- Achsenende ändern
Call GraphObjClose("2DYAxis62_1") 'Y-Achse schließen
Call GraphObjClose("2DAxis2") 'Diagramm 2 (klein) schließen
Call PicUpdate 'Report aktualisieren
Else
This.ForeColor = RGB(255,0,0) 'Schriftfarbe setzen
End If
End Sub
10-01-2013 03:58 AM
Hallo chribau0,
Ich entnehme dem Ausschnitts, dass Sie noch die alte Programmierschnittstelle von DIAdem benutzen. Diese wurde zur 2012er Version komplett überarbeitet.
Allerdings kann ich dem Ausschnitt nicht nichts zu dem beschriebenen Problem entnehmen.
Ist das ein modaler oder nicht modaler Dialog? Sie könnten beispielsweise den Befehl PicUpdate() auch beim Dialog Terminate Event aufrufen.
Können Sie mir Ihre Report und Dialog-Datei anhängen, damit ich mir das Verhalten anschauen kann?
Mit freundlichen Grüßen
Philipp K.
AE | NI-Germany
10-04-2013 08:53 AM
Hi chribau,
I always recommend using the "EventLostFocus" for an EditBox. My experience in all DIAdem versions was that "EventChange" would fire as soon as I started typing the new number.
Brad Turpin
DIAdem Product Support Engineer
National Instruments