WARSHIP 님이 쓰신 글 :
: 박지훈.임프 님이 쓰신 글 :
: : 아쉽게도 WARSHIP님께서 말씀하신 코드는 동작하지 않는군요.
: : Win32 SDK의 CreateWindow() 함수 설명에도 ES_RIGHT와 ES_CENTER는 멀티라인 에디트에서만 동작한다고
: : 되어있습니다.
: :
: : 앞이나 뒤에 칸을 띄우려면.. 다시 말해 앞이나 뒤에 에디팅 영역이 아닌 부분을 공백으로 놔두려면 EM_SETRECT
: : 메시지를 에디트의 핸들에 보내주면 됩니다. 제 기억으로 인자는 에디팅 영역으로 설정될 Rect 영역의 주소이고요.
: : 에디트의 ClientRect를 받은 다음 거기서 Left를 증가시키거나(왼쪽에 공백을 둘 때) Right를 감소시키면 됩니다.
: : (오른쪽에 공백을 둘 때)
: :
: : 자료실에 올려둔.. 저번에 델파이 커뮤니티 세미나때 컴포넌트 개발 세션 자료를 보시면 위의 메시지를 써서 에디트의
: : 내부 왼쪽이나 오른쪽 공백을 비워두고 거기다가 다른 컨트롤을 올리게 해주는 컴포넌트 소스가 있습니다.
: :
: : 그럼...
: :
: :
: : WARSHIP 님이 쓰신 글 :
: : : 박지훈.임프 님이 쓰신 글 :
: : : : 다음 글을 참고하세요.
: : : :
http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_faq&no=24
: : : :
: : : :
: : : : 왕초보 님이 쓰신 글 :
: : : : : 왼쪽, 가운데, 오른쪽 정렬하는 방법은 알겠는데요..
: : : : : 왼쪽에서부터 2칸 또는 5칸정도 띄우거나 오른쪽에서부터 띄우거나 하는 식의 정렬 방법은 없는건가요?
: : : : : 머 그냥 스페이스바로 띄워쓰기는 말구요;;;
: : : : : 어떤 정렬형식을 해주는 함수가 있을법 한데요...
: : : : :
: : : : : 답변하시는분님께 먼저 감사드립니다.
: : :
: : : 음 제가 알기론 싱글라인에서도 정렬은 됩니다만. ^^;
: : : 2칸걸러 정렬같은기능은 없구요. 직접 만드셔야 할겁니다.
: : :
: : :
: : : 컨트롤이 배치된 폼의 생성자에서 아래와 같이 윈도우 스타일을 추가해 주시면 됩니다.
: : : ES_LEFT or ES_RIGHT or ES_CENTER 던가 세가지가 있구요.
: : : //
: : : LONG style = GetWindowLong(ed_rwidth->Handle,GWL_STYLE) | ES_RIGHT;
: : : SetWindowLong(ed_rwidth->Handle,GWL_STYLE,style);
: : : //
: : :
: : : 2,3칸 정렬 기능은 TEdit 를 상속하거나 아니면
: : : OnKeyDown 이벤트에서
: : : 정렬모드에따라 Edit1->Text 의 앞뒤에 공백을 유지시켜주는
: : : 코딩이 필요하겠네요 ^^;
: : : 왠지 쉽게 될거 같은 느낌이 드네요. 꼭 성공하시길 바랍니다!
:
: 제가 잘 쓰고 있는데 안된다고 하셔서 저도 궁금해서
: 검색을 해봤습니다.
: 결론은 윈도우 버젼에 따라 될수도 안될수도 있다네요. ^^;
:
: msdn 검색 결과
:
: ES_LEFT
: Left aligns text.
: ES_CENTER
: Windows 98/Me, Windows 2000/XP: Centers text in a single-line or multiline edit control.
: Windows 95, Windows NT 4.0 and earlier: Centers text in a multiline edit control.
: ES_RIGHT
: Windows 98/Me, Windows 2000/XP: Right aligns text in a single-line or multiline edit control.
: Windows 95, Windows NT 4.0 and earlier: Right aligns text in a multiline edit control.
:
: 윈95이하나 NT4.0 이하에서는 오른쪽 정렬이나 센터 정렬이 멀티라인에서만 되는것이 맞네요.
: 98이상에서는 싱글도 되는거 같구요.