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
[43409] 이해되지 않는 현상이 있어서.. 질문을 올립니다.
이건 왜 그럴까요 [] 758 읽음    2006-01-23 14:55
안녕하세요 ?
이곳에서 항상 많은 정보를 얻을 수 있어서 답변해 주시는 여러 님들에게 우선 감사하다는 말씀을 드립니다.

또 질문이 있어서... 궁금증을 해소 하고자 올려봅니다. 많은 답변 부탁드립니다.

일단 실행폼 하나와 Dll하나를 만들었습니다.
실행폼에서 Dll에 있는 함수에 자신의 핸들(this->Handle)을 넘겨주고 Dll에서 폼을 동적으로 만들게 했습니다.
Dll내에서는 핸들만으로 TForm을 만들줄 몰라서(음냐... ㅠ.ㅠ)... 일단 Owner자리에는 NULL을 집어넣고, 받아온
핸들은 추가적으로 전달하여 API함수인
::SetParent(생성폼->Handle, 받아온 Handle);
을 사용하여 Parent를 지정했습니다. 이러면 실행폼의 클라이언트 영역에서 생성폼이 만들어 집니다.

이상한 현상은 이렇게 생성된 폼의 사이즈를 마음대로 조절하고 싶어서 크기값을 전달하고
Dll내에서 받아온 사이즈의 크기값을
SetSize(int left, int top, int width, int height) 라는 멤버함수로
{
     Left = left;
     Top = top;
     Width = widht;
     Height = height;
} 로 바꾸는데 값이 이상해 진다는 겁니다. 예를 들어 (0, 0) 위치에 폼을 놓고 싶어서, (0, 0)으로 값을 주면
실행폼이 어디에 떠 있느냐에 따라 실행폼의 Left, Top값이 크면 클수록 생성폼도
Left, Top값이 커지는 겁니다. 여러가지 방면으로 이해해 보려구 하는데 잘 알 수가 없습니다.
좋은 의견 많이 부탁드립니다.

그럼 즐거운 프로그래밍 하십시오~

+ -

관련 글 리스트
43409 이해되지 않는 현상이 있어서.. 질문을 올립니다. 이건 왜 그럴까요 758 2006/01/23
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.