DIAdem

cancel
Showing results for 
Search instead for 
Did you mean: 

PicUpdate markiert komplette EditBox

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

0 Kudos
Message 1 of 3
(5,582 Views)

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

0 Kudos
Message 2 of 3
(5,557 Views)

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

0 Kudos
Message 3 of 3
(5,526 Views)