Q&A

  • TEdit에서 좌,우,중앙 정렬
학교에서 이제 막 델파이를 배우고 있는 학생입니다.
VB와는 다르게 TEdit에서 오른쪽 정렬을 하는 속성이 없더라구요..
그래서 인터넷을 뒤져뒤져 이곳을 찾았는데,
정렬에 관한 안치성님의 글을 찬찬~히 읽어봐도 잘 모르겠더라구요..
마치 컴포넌트를 새로 만드는 것 같아 보이기도 하고..
컴포넌트 팔레트에 생성되나요? 여튼 잘 이해가 되질 않네요..

제가 지금 델파이 5.0으로 계산기를 만들고 있는데,
Edit에서 오른쪽 정렬을 하려면 여기 설명되어 있는, 정렬하는 소스를
제 소스에 넣으면 되는 것인지..

제 Form에 만들어 놓은 Edit에 각 숫자버튼들을 누르면
Edit에서 오른쪽 정렬이 되면서 화면에 나오게 하는 방법을 알고 싶어요..

부탁드립니다 (_ _a)
5  COMMENTS
  • Profile
    원종진 2004.09.18 20:07


    저도 언젠가 델마당 게시판에서 검색을 해보았는데

    Rudora 님께서 올려주신 글에 저런 내용이 있더라고요

    ====================================================================
    TEdit의 CharCase 라는 프로퍼티에 해당값을 주면 정렬을 구현할 수 있긴합니다.
    8: 왼쪽
    9: 오른쪽
    10: 가운데

    ps. TEditCharCase로 형변환해서 대입~ ^^;;
    ====================================================================

    CharCase는 아마 오브젝트인스팩터에는 나타나지 않았던거롤 기억됩니다.
  • Profile
    박성준 2004.09.18 22:03
    종진님, 해보니깐 안되던데요... =.=

    Edit1.CharCase := TCharCase(9);

    이런식으로하라는것 말씀하신것아닙니까?
  • Profile
    원종진 2004.09.20 18:39


    대신에 TEdit1 상속받아서 간단히 만들수이는 컴포넌트 소스를 찾아왔어요.

    ====================================================================
    unit AlignEdit;

    interface

    uses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls;

    type

      TAlign = (eaLeft, eaCenter, eaRight);

      TAlignEdit = class(TEdit)
      private
        { Private-Deklarationen }
        FAlign: TAlign;
        procedure SetAlign(const Value: TAlign);
      protected
        { Protected-Deklarationen }
        procedure CreateParams(var Params: TCreateParams); override;
      public
        { Public-Deklarationen }
        constructor Create(AOwner: TComponent); override;
      published
        { Published-Deklarationen }
        property Alignment: TAlign read FAlign write SetAlign default eaLeft;
      end;

    procedure Register;

    implementation

    constructor TAlignEdit.Create(Aowner: TComponent);
    begin
      inherited Create(AOwner);
      FAlign := eaLeft;
    end;

    procedure TAlignEdit.SetAlign(const Value: TAlign);
    begin
      if FAlign <> Value then
      begin
        FAlign := Value;
        RecreateWnd;
      end;
    end;

    procedure TAlignEdit.CreateParams(var Params: TCreateParams);
    begin
      inherited;
      case FAlign of
        eaLeft: Params.Style   := Params.Style or ES_LEFT;
        eaCenter: Params.Style := Params.Style or ES_CENTER;
        eaRight: Params.Style  := Params.Style or ES_RIGHT;
      end;
    end;

    procedure Register;
    begin
      RegisterComponents('SwissDelphiCenter', [TAlignEdit]);
    end;

    end.

    이렇게 쓰시면 됩니다만.. 어차피 별도 컴포넌트를 사용해야 한다면 좀더 기능이 편리한걸 찾아쓰시겠죠 ^^?


    담부턴 꼭 확인해보고 답글달겠습니다.

    P.S : TCharCase 가 아니고 TEditCharCase 네요 ^^;
  • Profile
    박성준 2004.09.18 19:37
    집에 델파이리소스북(Delphi Resource Book)이라는 책이있는데요?
    책을 막 뒤져보니깐, TFnpNumericEdit 1.01.00 이라는 컴포넌트를 발견했
    습죠. 후훗. ^^;;

    TFnpNumericEdit 1.01.00
    - 최대/최소값이나 위치 정렬을 지원하는 숫자 입력 컴포넌트로 오론쪽이나 가운 위치인 경우는 최대길이(Maxlength)속성을 설정해야합니다. 값(Value 속성)은 AsCurrency, AsInteger 속성으로 읽거나 수정할 수 있습니다.

    컴포넌트없이 일반폼에서 구현하는방법을 해보려고 용쓰다가 그냥 컴포넌트로 올려드립니다.

    그럼 즐프~
  • Profile
    ㉳㉥ㅗ㉣ㅐ㉧ㅛ 2004.09.18 18:50



    힘들면 자료실을 뒤져보세요....

    그럼 오른쪽 정렬이 가능한 Edit 가 있을 겁니다.
    • 구창민
      2004.09.21 19:37
      안녕하세요.. 아래 문장을 사용하시면 해결 되실거 같아요.. A1+ #10#13 + B1 + #10#13 + C1+ #10#13...
    • 제리스
    • 2004.09.21 10:00
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 하얀까마귀
      2004.09.21 17:13
      좀더 설명을 해주심 좋을텐데.. 일단 왜안되는지는 모르는거구요. 게시판에 콤포넌트 소스가 있다면 원...
    • 제리스
      2004.09.24 04:21
      고맙습니다! 덕분에 무사히 설치 했습니다 뉴_누
    • 최수림
    • 2004.09.21 05:50
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 박상윤
      2004.09.21 23:00
      direct show란 윈도우 기반하에서. 멀티미디어를 다루기위한 SDK를 말하는 것입니다. 음 MS에서 기본적으...
    • 구창민
      2004.09.21 20:48
      안녕하세요.. www.delphiKorea.com 에 가셔서 "directShow" 로 검색해보시면 좋은 결과를 얻으실 수 ...
    • 파멸의슬픔
      2004.09.21 04:47
      procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin   Form2.sho...
    • 하얀까마귀
      2004.09.21 17:09
      OnClose 전에 OnCloseQuery라는게 있습니다. procedure TForm1.FormCloseQuery(Sender: TObject; var C...
    • 전연식
      2004.09.22 04:15
      말씀하신데로 해보니 잘 되는군요.. 워낙 초보라 계속 의문이 생기고 진도가 안 나가네요..ㅠ.ㅠ F...
    • 일그니
      2004.09.22 05:19
      MessageDlg함수를 도움말에서 찾아보세요... 함수의 도움말에 예제까지 아주 자세히 되있습니다. For...
    • 델팡
    • 2004.09.21 01:39
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 최영환
    • 2004.09.21 00:33
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2004.09.21 19:34
      아래 내용 참고하셔서 즐거운 프로그래밍 하세요~ // Image1의 BtiMap에 체크가 되었있는 그림을 넣음...
    • 구창민
      2004.09.21 19:31
      안녕하세요.. 관련내용을 보면 델파이6 두번째 팻치를 해야 한다고 하네요.. 아래 참고하시고 즐거운...
    • 김광민
      2004.09.21 19:39
      앗.. 감사합니다. 이것때문에 전혀 진전이 안되고 있었는데.. 희망이 조금씩 보이는군요. 근데 패...
    • 허권호
    • 2004.09.20 22:20
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2004.09.21 19:25
      안녕하세요... 아래 사이트 참고하시면 원하시는 결과를 얻으실 수 있을 거예요.. http://www.djpate...
    • 김만석
    • 2004.09.20 01:39
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 박준철
      2004.09.20 18:53
      인스톨 패키지에 보면 라이브러리 디렉토리 설정이 안되어 있으신거 아닌가요?
    • 석주현
      2004.09.20 07:11
      Rs232 쪽 통신 컴포넌트 이름이 맞습니다. 설치하신 디렉토리를 델파이에서 Path를 등록시켜 보세요. ...
    • 김만석
      2004.09.22 00:17
      이 통신컴포언트 좀 구할 수 없나요... 저는 인터넷을 아무리 뒤져도 찾지 못하겠습니다. 부탁 좀 드릴께...
    • 구자균
    • 2004.09.19 10:04
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 석주현
      2004.09.20 07:32
      procedure TForm1.Button1Click(Sender: TObject); begin   if Form1.Width <> tmpWidth...
    • 허강우
      2004.09.18 21:24
      아래 명령을 사용하면 되네요. imgText.Canvas.FillRect(TheRect);
    • 석주현
      2004.09.20 07:39
      전체를 지우는 거라면 아래처럼 ClientRect 를 쓰는게 조금더 편하겠죠..^   Image.Canvas.Fi...
    • 김강수
    • 2004.09.18 20:16
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 조규춘
      2004.09.19 01:16
      안녕하셔요.. ^^ 님이 올린 그림을 보면서 만들어 봤습니다. 저두 그림을 올립니다. 보시면 ...
    • 일그니
      2004.09.18 20:11
    • 유응철
    • 2004.09.18 19:03
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 착한천사
      2004.09.19 02:09
      이기종간의 join에 대해서 조회를 해보시는게 어떨지.. 저도 이기종간에 join에 대해서 몇번 글을 썼던적...
    • ㉳㉥ㅗ㉣ㅐ㉧ㅛ
      2004.09.18 19:14
      서로 다른 DB간의 조인은 안되는 걸루 알고 있습니다. MDB에 있는 두개의 테이블을 조인해서 결과...
    • 김유신
    • 2004.09.18 18:16
    • 1 COMMENTS
    • /
    • 0 LIKES
    • ㉳㉥ㅗ㉣ㅐ㉧ㅛ
      2004.09.18 18:49
      Try 커리... 파란색 execpt 실패할경우 빨간색 end; 를 이용해서 하면 될것 같네요...
    • 이두형
    • 2004.09.18 10:20
    • 5 COMMENTS
    • /
    • 1 LIKES
    • 원종진
      2004.09.18 20:07
      저도 언젠가 델마당 게시판에서 검색을 해보았는데 Rudora 님께서 올려주신 글에 저런 내용이 있더...
    • 박성준
      2004.09.18 22:03
      종진님, 해보니깐 안되던데요... =.= Edit1.CharCase := TCharCase(9); 이런식으로하라는것 말씀하...
    • 원종진
      2004.09.20 18:39
      대신에 TEdit1 상속받아서 간단히 만들수이는 컴포넌트 소스를 찾아왔어요. ======================...
    • 박성준
      2004.09.18 19:37
      집에 델파이리소스북(Delphi Resource Book)이라는 책이있는데요? 책을 막 뒤져보니깐, TFnpNumericEdit 1...
    • ㉳㉥ㅗ㉣ㅐ㉧ㅛ
      2004.09.18 18:50
      힘들면 자료실을 뒤져보세요.... 그럼 오른쪽 정렬이 가능한 Edit 가 있을 겁니다.
    • 석주현
      2004.09.18 05:51
      var   CmdStr : String; begin   for i := 0 to Count - 1 do    ...
    • 김춘경
      2004.09.18 18:16
      개발 시점에 정품을 구입하셨다면, 최종 컴파일된 프로그램(상용 제품)은 판매에 아무런 문제가 없는걸로 ...