Q&A

  • UpDown 버튼은 소숫점 은 안되나요?
증가값을 0부터 100까지 올리는데 증가값을 0.1루 하구 싶은데.. integer값에선 허용안된다고 나와서 도움말을 봤더니.. integer값만 되는것처럼 나와있네요. ㅜ_ㅜ

UpDown 버튼으로는 소숫점 표시할 수 없나요?
3  COMMENTS
  • Profile
    동키호테 2002.01.09 15:47
    원칙상으로는 안 됩니다.
    저도 예전에 되지 않아서 그냥 TEdit와 TUpDown으로 흉내내었습니다.
    간단하니깐 한번 해보시길..
    외부컴포넌트로 있을 것 같은데 귀찮아서 찾아보진 못했습니다. ^^;
  • Profile
    김강수 2002.01.09 02:53
    앗... 전 그런경우에여... 좀 얍실하지만... 이렇게...했는뎅...
    소숫점 때문에 컴포넌트 만들 수 없어서 걍 그 앞에 TMaskEdit로 대신
    써서 ^^; 했어요... 이벤트 발생시 원하는값 그안에 넣게 ^^; 음... 뭐랄까
    살짝 덮는거죠... 버튼은 다 덮지 않고... 앗... 그건 스핀버튼인가 ?
    여하튼 제기억으로는... 그렇게 얍삽하게 처리한걸로 ^^;
    다른분들 좋은 답변 부탁해영

  • Profile
    송영석 2008.02.26 07:33


    약간의 코딩이 필요할 듯합니다.

    OnChangingEx 이벤트 메소드에 코딩을...


    procedure TNewMeasureFrm.UpDown1ChangingEx(Sender: TObject;
      var AllowChange: Boolean; NewValue: Smallint;
      Direction: TUpDownDirection);
    begin

      // 자동 변경을 끈다
      AllowChange := false;

      // 위로 버튼 클릭시 원하는 소수점 값을 입력 ( 0.01 부분을 수정하시면 되요 )
      if Direction = updUp then
        TEdit(TUpDown(Sender).Associate).Text := FloatToStr(StrToFloat( TEdit(TUpDown(Sender).Associate).Text ) + 0.01)
      // 아래 버튼 클릭시 변경
      else if Direction = updDown then
        TEdit(TUpDown(Sender).Associate).Text := FloatToStr(StrToFloat( TEdit(TUpDown(Sender).Associate).Text ) - 0.01);

    end;