C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[41618] Re:Re:Re:Re:Re:님들모두 답변감사합니다.(냉무)
왕초보 [] 1127 읽음    2005-08-23 18:06
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이상에서는 싱글도 되는거 같구요.

+ -

관련 글 리스트
41600 에디트박스에서 정렬 왕초보 906 2005/08/22
41602     Re:에디트박스에서 정렬 박지훈.임프 1040 2005/08/23
41603         Re:Re:에디트박스에서 정렬 WARSHIP 1103 2005/08/23
41604             Re:Re:Re:에디트박스에서 정렬 박지훈.임프 1267 2005/08/23
41611                 Re:Re:Re:Re:에디트박스에서 정렬 WARSHIP 1367 2005/08/23
41618                     Re:Re:Re:Re:Re:님들모두 답변감사합니다.(냉무) 왕초보 1127 2005/08/23
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.