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
[52374] 구현에서는 어떻게 해야 하나요 죄송합니다. 초보입니다.
암흑사제 [qudgh20] 1551 읽음    2008-02-22 10:24
2번째 방법으로
상속은 받았는데 어떻게 쓰는지 모르겠습니다.

장성호 님이 쓰신 글 :
: 저도 전에 잠깐 해보다가 잘 안되어서 덮어두고 있었는데...
: 질문 올라오는것 보고 다시 해봤습니다.
:
: QuickRep 버젼은 정확히 잘 모르겠고  Builder6.0 pro 깔면 기본적으로 설치되는 버젼으로
: Builder6.0에서 테스트 해 봤습니다.
:
:
: [Spy로 정보 획득]
: 먼저 Preview하면 보여지는 폼을 spy로 확인해 보니 ..
:
: 메인프레임     =  TQRStandardPreview 였습니다.
: 툴바               =  TToolBar
: 보여지는 부분 =  TQRPreview
:
: 이었습니다.
:
: 저 ToolBar의 포인터만 찾으면 되는데...
: QuickReport 소소는 없도 hpp밖에 없으니...
: FindWindow로 찾는것은 HWND핸들뿐이구...
:
: [예전에..]
:  예전에 preview폼이  맨처음에 보일때
:  Zoom to Width 가 아닌 Zoom to Fit로 보이게 하기 위해서
:
:  1. FindWindow 로   TQRStandardPreview 의  HWND 핸들을 찾고
:  2. 다시 FindWindowEx로 TQRStandardPreview 에서 TToolBar 핸들을 찾은다음
:  3. SendMessage로 WM_LBUTTONDOWN , WM_LBUTTONUP 메세지를 보내 toolbar에서 첫번째 버튼이 클릭되도록 하여서
:     구현한적이 있습니다.
:
:
: [해결 방법]

: 방법1.
:    ; 아이디어 입니다.
:    FindWindow , FindWindowEx  로  ToolBar 핸들을 찾은다음 WindowProc를 바꿔서 서브클래싱으로
:    WM_LBUTTONDOWN , WM_LBUTTONUP 메세지를 보고.. LPARAM으로 들어오는 마우스 좌표를 보고 print부분이면
:    return해버리는 방식으로 구현 가능할것 같습니다.
:
:
: 방법2.
:    ; 퀵리포트 해더파일( *.hpp)을 보다보니까..
:      QRPrntr.hpp 의 TQRPrinter 클래스에 보니까
:      PreviewControl라는게  private 멤버로  있더군요
:
:      그래서 FindWindow로 찾은  TQRStandardPreview 의 핸들과
:      PreviewControl의 Handle을 비교해 봤습니다.

:      결론은 같았습니다.  ===> 앗싸
:
:      자  이제 TQRStandardPreview 를 찾았으니
:      TQRStandardPreview 에서 TToolBar * 를 찾는것은 금방이겠죠
:
:      TToolBar를 찾았으면 ToolBar의 12번째 TToolButton을 Visible=false 시키면 깔끔하더군요
:      Enabled=false 해도 되구
:      ToolBar->Buttons[11]->Visible=false;
:   
:      저도 이기능이 필요했는데...
:      질문덕택에 해결했네요
:
: [참고사항]
:
: 1. PreviewControl 은  TQRPrinter 클래스의 private 멤버인데
:    class의 private멤버 access하는 방법은 팁&트릭 게시판에 있습니다. 참고하시구요
:
:
: 2. Preview 또는 PreviewModal등이 호출되기 전에는 
:    TQuickPre 의 Printer 가 없다는것이 중요합니다.
:  
:    Preview 가 호출된 직후에
:    위 방법1,방법2의 작업을 해줘야 합니다.
:   
:    요건  쓰레드 , 타이머, 포스트메세지 등의 방법이 있겠네요
:
: 그럼..
:   
:
: 암흑사제 님이 쓰신 글 :
: : QReport의 미리보기에서 프린트하는 것을 막을 려고 합니다.
: : 어떻게 해야 하나요?

+ -

관련 글 리스트
52361 QReport의 미리보기 기능중에 프린트 하는 것을 막는 기능이 있나요? 암흑사제 1331 2008/02/20
52367     Re:QReport의 미리보기 기능중에 프린트 하는 것을 막는 기능이 있나요? 장성호 1902 2008/02/21
52374         구현에서는 어떻게 해야 하나요 죄송합니다. 초보입니다. 암흑사제 1551 2008/02/22
52379             Re:구현에서는 어떻게 해야 하나요 죄송합니다. 초보입니다. 장성호 2217 2008/02/22
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.