|  kandesbunzler hat folgendes geschrieben  : | 
		  | ich möchte in einem SpinEdit1Change-Feld nur Zahlen zulassen. | 
Hallo!
Mein erster Gedanke war: Ein SpinEdit lässt doch ohnehin nur Zahlen zu! Aber auch das Komma-Zeichen (
FormatSettings.DecimalSeparator) kann eingefügt werden. (Seltsam, handelt es sich doch um Integer!)
Jedes Zeichen entfernen, das keine Zahl ist:
		                     
             Delphi-Quelltext
                        Delphi-Quelltext                    
           	 										| 1:2:
 3:
 4:
 5:
 6:
 7:
 8:
 9:
 10:
 11:
 12:
 13:
 14:
 15:
 16:
 
 | procedure TForm1.SpinEdit1Change(Sender: TObject);const
 aCharSet: TSysCharSet = ['0'..'9'];
 var
 i, t: Integer;
 begin
 for i := Length(SpinEdit1.Text) downto 1 do
 begin
 if not CharInSet(SpinEdit1.Text[i], aCharSet) then
 begin
 t := SpinEdit1.SelStart;
 SpinEdit1.Text := StringReplace(SpinEdit1.Text, SpinEdit1.Text[i], '', []);
 SpinEdit1.SelStart := t;
 end;
 end;
 end;
 | 
		
	  
Einfügen per Tastatur behandeln:
		                     
             Delphi-Quelltext
                        Delphi-Quelltext                    
           	 										| 1:2:
 3:
 4:
 5:
 6:
 
 | procedure TForm1.SpinEdit1KeyDown(Sender: TObject; var Key: Word;Shift: TShiftState);
 begin
 if (ssShift in Shift) and (Key = VK_INSERT) then      Key := 0;
 end;
 | 
		
	  
Für das Einfügen per PopupMenü funktioniert 
SpinEdit1Change grundsätzlich, allerdings wird das Caret da jeweils um ein Zeichen nach rechts gesetzt. Kannst das ja noch anpassen!
gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!