유영인.Chris 님이 쓰신 글 :
: 어렵게 한다면 많은 방법이 있습니다.. 공백을 채워준다던가.. 아니면 WM_PAINT를 가로채서 그린다던가 하는 방법들입니다..
:
: 대부분의 입력을 받는 컨트롤은 Handle 을 가지고 있는데, 오른쪽 정렬을 하기 위해서는 이 핸들이 가지고 있는 객체의 Style 을 ES_RIGHT 로 설정하는 방법이 있습니다.
:
: 하지만, ES_RIGHT는 ES_MULTILINE 과 병행하여 사용하지 않으면 동작이 되지 않는다는 단점이 있습니다. 그래서, 보통 오른쪽 정렬을 하기 위해서는 Memo 컴포넌트를 사용합니다. Memo 컴포넌트는 기본적으로도 오른쪽 정렬을 프로퍼티에서 Alignment 항목을 taRightJustify 로 설정해 줌으로써 간단히 변경하실 수 있습니다.
:
: Memo 컴포넌트를 사용하신다음, 크기를 알맞게 변경하신 뒤, MaxLength 항목을 원하는 글자 크기만큼 받게끔 해주시면 될것 같습니다. 물론 KeyPress 에서 엔터 처리는 해주셔야 하구요..
:
: 이건 작은 팁인데요.. 숫자만 입력받게 하시려면, Style에서 ES_NUMBER 을 추가해 주시면, 숫자만 입력받게끔 바뀝니다. 아래처럼요..
:
: __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)
: {
:
: int itStyle;
:
: itStyle = GetWindowLong(Edit1->Handle, GWL_STYLE);
: SetWindowLong(Edit1->Handle, GWL_STYLE, itStyle | ES_NUMBER);
:
: }
: //---------------------------------------------------------------------------
:
:
:
: 이용주 님이 쓰신 글 :
: : 김백일 님이 쓰신 글 :
: : : 이용주 님이 쓰신 글 :
: : : : 안녕하세요.. 또 다시 이렇게 허덥한 질문을 하는군요.. (__)
: : : : Edit에서 오른쪽 정렬을 하는 방법에 대해서 알고 싶습니다.
: : :
: : : 임프님의 FAQ에 올리신 글이 있습니다. 무지 간단한 방법입니다.
: : :
http://www.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_faq&no=24
: : :
: : : : 염치불구하고 한가지만더 질문하겠습니다. 빌더 함수중에 HexToBin이라는 함수가 있더군요.
: : : : 그 함수의 사용법에 대해서 알고 싶습니다. 제가 바꿀려고 하는것은요
: : : : char nv_string = 6A라는 것인데 이것을
: : : : binary인 0110 1010으로 바꾸고싶습니다. 이 함수를 사용하면 가능할것 같은데 해봐도 잘 모르겠군요. 답변부탁드릴께요. 그럼 수고하십시요..~~
: : :
: : : 세가지 방법이 있겠네요.
: : :
: : : 1) VCL/CLX 를 쓰시려면
: : : IntToHex()와 HexToBin()을 같이 쓰면 되겠네요.
: : : 주의할 것은 IntToHex()는 AnsiString을 리턴하지만,
: : : HexToBin()은 C 식의 char 배열을 인자로 사용합니다.
: : :
: : : 2) C 식으로 하려면,
: : : itoa() 함수를 쓰세요. 2진수에서 36진수까지 원하는 대로 변환하실 수 있습니다.
: : :
: : : 3) C++ 식으로 하려면
: : : bitset 클래스를 쓰세요. 2진수 전용이기 때문에 itoa()보다는 빠를 겁니다.
: : :
: : : //---------------------------------------------------------------------------
: : : #include <iostream>
: : : #pragma hdrstop
: : : #include <bitset>
: : :
: : : //---------------------------------------------------------------------------
: : : using namespace std;
: : : #pragma argsused
: : : int main()
: : : {
: : : bitset<8> x(0x6A);
: : : cout << x << endl // 01101010
: : : << x.to_ulong() << endl // 106
: : : << x.to_string<char, char_traits<char>, allocator<char> >() << endl; // 01101010
: : : // string 으로 변환 할 때는 이렇게 써야 합니다. 타이핑이 좀 귀찮죠.
: : : return 0;
: : : }
: :
: : 감사합니다. 2진수로 바꾸는건 해결했습니다.
: : 근데 위에서 적어주신 주소로 가서 그 방법으로 하였더니 잘 안되네요..
: : 좀더 안정적인 방법이 있나요??
: : 참.. 전 이번에 새로 나온 6.0버전으로 작업을 하고 있고요 거기에 labeled edit 박스를 이용해서 edit창을 만들었습니다.
: : 정렬하는 다른 방법이 있다면 좀 알려주십시요..
: : :
: : :
답변 감사드립니다.^^
아직 초보라서 말씀해주신 방법이 잘안되네요 ㅠㅠ
그래서 그냥 언급하셨던 메모장을 크기를 맞추서 썼습니다. 그러니까
보기에는 그렇게 구현이 되는군요^^
답변 감사드리고요 앞으로도 많이 부탁드릴께요.. 그럼 이만..