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
[36044] Re:[오해]UI 스레드 만드는 법 좀 가르쳐 줘요~~~~~
박지훈.임프 [cbuilder] 1352 읽음    2004-07-04 02:31
C++빌더의 VCL에서는 디폴트 쓰레드가 아닌 쓰레드에서는 UI에 접근할 수 없도록 설계되어 있습니다.
제가 아는 한, C++빌더가 VC보다 불편한 거의 유일한 문제입니다.

그럼...


김상면 님이 쓰신 글 :
: VC에서는 윈도우를 생성 할수 있는 스레드를 만들려면 CWinThread를 상속 받아서 만들어야합니다.
: 하지만 작업자 스레드는 AfxBeginThread로 만들수 있습니다.
: 물론 GetMessage를 쓰면 메세지를 받을 수 있고 DefWindowPoc를 오버라이딩하면 메세지를 처리 할수 있지만
:
: 저의 질문은
: TThread의 Excute는 작업자 스레드를 만드것 같더군요
: 하지만 제가 원하는것은 UI스레드입니다. MFC의 CWinThread가 하는것 처럼 스레드에서 메인 스레드와 독립된 윈도우를 만드고 싶습니다.
:
: 그럼
:
:
: 빌더맨 님이 쓰신 글 :
: : while(GetMessage(&Message,0,0,0))
: : {
: :     TranslateMessage(&Message);
: :     DispatchMessage(&Message);
: : }
: : return Message.wParam;
: :
: : 위와 같이 코딩을 하면 메세지를 받을수 있습니다.
: : 그런데, 어차피 윈도우는 WndClass.lpfnWndProc=(WNDPROC)WndProc; 이렇게 정의되기때문에
: : 이벤트를 받는건 WndProc 함수에서 받게 됩니다. 따라서 님께서 원하시는 것처럼 이벤트처리를 할려면
: : WndProc를 상속받는수밖에는 없을텐데요.
: : 왜 스레드에서 이벤트를 받으려고 하는지 알수가 없네요. ?.?
: :
: :
: : 김상면 님이 쓰신 글 :
: : : 메인 스레드는 윈도우를 만들고 윈도우 이벤트를 받습니다.
: : : 근대 TThread->Excute()에 윈도우를 만들고  윈도우 이벤트를 받는 코딩을 해도 되나요?
: : :
: : : 질문을 간략히 줄이면 메인 스레드와 똑같은 스레드를 또 만들고 싶어요
: : :
: : : 그럼
: : :
: : :

+ -

관련 글 리스트
35917 UI 스레드 만드는 법 좀 가르쳐 줘요~~~~~ 김상면 925 2004/06/24
35925     Re:UI 스레드 만드는 법 좀 가르쳐 줘요~~~~~ 빌더맨 1139 2004/06/25
35926         [오해]UI 스레드 만드는 법 좀 가르쳐 줘요~~~~~ 김상면 1388 2004/06/25
36044             Re:[오해]UI 스레드 만드는 법 좀 가르쳐 줘요~~~~~ 박지훈.임프 1352 2004/07/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.