Einzelnen Beitrag anzeigen
  #5 (permalink)  
Alt 23.02.16
Lena Lena ist offline
Mitglied
 
Registriert seit: Feb 2016
Beiträge: 103
Lena befindet sich auf einem aufstrebenden Ast
Standard

Im Moment sieht es so aus. Ich habe eine Funktion zum erstellen eines Eingabefeldes.

Code:
void CreateEdit(string name, int xdist, int ydist, int xsize, int ysize, string text, string font, int font_size, color font_color, color background_color, color border_color)   { 
   ObjectCreate      (0, name, OBJ_EDIT,           0 ,0, 0); 
   ObjectSetInteger  (0, name, OBJPROP_XDISTANCE,     xdist); 
   ObjectSetInteger  (0, name, OBJPROP_YDISTANCE,     ydist); 
   ObjectSetInteger  (0, name, OBJPROP_XSIZE,         xsize); 
   ObjectSetInteger  (0, name, OBJPROP_YSIZE,         ysize); 
   ObjectSetString   (0, name, OBJPROP_TEXT,          text);
   ObjectSetString   (0, name, OBJPROP_FONT,          font); 
   ObjectSetInteger  (0, name, OBJPROP_FONTSIZE,      font_size);
   ObjectSetInteger  (0, name, OBJPROP_COLOR,         font_color); 
   ObjectSetInteger  (0, name, OBJPROP_READONLY,      false); 
   ObjectSetInteger  (0, name, OBJPROP_BGCOLOR,       background_color); 
   ObjectSetInteger  (0, name, OBJPROP_BORDER_COLOR,  border_color);
   ObjectSetInteger  (0 ,name, OBJPROP_ALIGN,         ALIGN_CENTER); 
}
Dann habe ich im Hauptprogramm die Stelle, wo das Eingabefeld erstellt werden soll und natürlich auch der neue Werte abgefragt. Und die Abfrage funktioniert leider nicht.

Code:
            CreateEdit("InpLot", XButton14, YButton14, XSize14, YSize14, "Eingabe *klicken*", TextFont, FontSize, FontColor, SelectedColor, SelectedColor); 
            if(id == CHARTEVENT_OBJECT_ENDEDIT)  {
               string Input = ObjectGetString(0, "InpLot", OBJPROP_TEXT,0);
               Volumen = StrToDouble(Input);
               ObjectSetString(0, "Volumen", OBJPROP_TEXT, "Handelsvolumen: " +DoubleToString (Volumen,2));
               ChartRedraw(); 
               MenueReset();
            }
Im Moment passiert folgendes. Es wird ein Eingabefeld erstellt, mit dem Text "Eingabe *klicken*". So, wenn ich darauf klicke kann ich auch einen Wert oder was auch immer eingaben und mit Enter bestätigen. Aber dann passiert nichts.
Ich dachte mit der Zeile "string Input....." würde ich den neu eingegebenen Wert abrufen. Im Anschluss zu einer double Variablen umwandeln und diese Variable dann noch ausgeben.
Habe ich die Abfrage if(id == CHARTEVENT_OBJECT_ENDEDIT) an der falschen Stelle platziert? Oder brauche ich noch eine weitere Abfrage?