Q&A

  • 에디트에서 문자열 오른쪽부터 쓰는 방법...
델파이를 사랑하시는 분들 안녕하세요. ^^

오늘 날씨 무척 좋은데요.. 후후

본론으로 들어가서요..

에디트에서 계산기 프로그램을 만드는데요...

계산기에서는 숫자를 입력하면 오른쪽에서부터 입력이 되잖아요....

그런데 델파이에서 BiDiMode를 써서 오른쪽부터 왼쪽으로 쓰는

방법을 선택했는데.. 실행을 시키면 안돼더라구요...

또 다른 설정을 해줘야 하나요?

저번에는 된것 같은데.. 왜 안돼죠?

아시는 분은 살짝 귀뜸해 주세요 ^_~ 후후

그럼 답변 기다리고 있겠습니다...

2  COMMENTS
  • Profile
    최용일 2000.04.25 06:07
    안녕하세요. 최용일입니다.



    아마도 그냥은 안되고 새로 컴포넌트를 하나 만드셔야 할 듯... 아래와 같이 해서



    에디트에서 파생한 새로운 에디트를 만들어서 사용하세요. 간단하니까 만드세요.



    type

    TRightEdit = class(TEdit)

    protected

    procedure CreateParams(var Params: TCreateParams ); override;

    end;



    procedure TRightEdit.CreateParams(var Params: TCreateParams);

    begin

    inherited;

    Params.Style := Params.Style or ES_RIGHT or ES_WANTRETURN;

    end;



    procedure TForm1.FormCreate(Sender: TObject);

    begin

    RightEdit := TRightEdit.Create(Self);

    InsertControl(RightEdit);

    end;



    ^^ 항상 즐코하세요.



    bhkmm wrote:

    > 델파이를 사랑하시는 분들 안녕하세요. ^^

    > 오늘 날씨 무척 좋은데요.. 후후

    > 본론으로 들어가서요..

    > 에디트에서 계산기 프로그램을 만드는데요...

    > 계산기에서는 숫자를 입력하면 오른쪽에서부터 입력이 되잖아요....

    > 그런데 델파이에서 BiDiMode를 써서 오른쪽부터 왼쪽으로 쓰는

    > 방법을 선택했는데.. 실행을 시키면 안돼더라구요...

    > 또 다른 설정을 해줘야 하나요?

    > 저번에는 된것 같은데.. 왜 안돼죠?

    > 아시는 분은 살짝 귀뜸해 주세요 ^_~ 후후

    > 그럼 답변 기다리고 있겠습니다...

  • Profile
    Mr.Q 2000.04.25 02:52
    요즘 계산기 만드는 분위기 인가요? 후후,,

    BiDiMode는 Alignment와는 틀린것 같은데요. 도움말을 보니, 바이디렉쇼널모드는

    문자열의 정렬방식을 말하는것이 아니라, 문자열을 읽어들이는 순서를 말하는것 같네요.

    Edit계열은 모두 Alignment속성을 가지고 있지 않습니다.

    어떻게, TEdit소스를 뒤짚어 갈구어 놓아서 될런지 모르겠지만요 ,, -_-;

    계산기 프로그램에 쓰실거라니, 굳이 edit를 써야할필요는 없을것 같네요.

    TMemo나, TRichEdit를 쓰시는건 어떨가 싶네요, 배경색도 바꿔줄수 있고

    좋을것 같네요~ ^^; 다음줄로 넘어가는것은 MaxLength속성으로 제한시켜버리고..

    직접쓰는 것이 아니라, 버튼으로 숫자를 입력하는방식이라면, 이미지하나 만들어서

    그 위에다 TLabel.Transparent:=true해놓고, 화면창으로 이용해도 될듯..



    bhkmm wrote:

    > 델파이를 사랑하시는 분들 안녕하세요. ^^

    > 오늘 날씨 무척 좋은데요.. 후후

    > 본론으로 들어가서요..

    > 에디트에서 계산기 프로그램을 만드는데요...

    > 계산기에서는 숫자를 입력하면 오른쪽에서부터 입력이 되잖아요....

    > 그런데 델파이에서 BiDiMode를 써서 오른쪽부터 왼쪽으로 쓰는

    > 방법을 선택했는데.. 실행을 시키면 안돼더라구요...

    > 또 다른 설정을 해줘야 하나요?

    > 저번에는 된것 같은데.. 왜 안돼죠?

    > 아시는 분은 살짝 귀뜸해 주세요 ^_~ 후후

    > 그럼 답변 기다리고 있겠습니다...