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
[54417] Re:Re:Re:Re:editbox에 마우스클릭이 안됩니다...
linuxman [] 1189 읽음    2008-08-26 19:11
원래 form1의 패널위에... 아주 큰 해상도의 이미지와  화면을 벗어나는 컨트롤 생성한후에(이때 스크롤이 안되는것도 문제였슴) ....또 그것을 bmp로 저장하는것이 목적이였는데..패널위의 내용을 bmp저장을 못하단 보니...
패널위에 동적인 폼을 얹고..그 동적인 폼의 DC를  얻어서  저장하려고 햇던것이 목적이여습니다..

너무 돌아왔나요?

장성호 님이 쓰신 글 :
: 무엇을 만들려는지 잘 이해가 안가네요...
:
: [Scrollbar가 필요하면]
:
: Scrollbar가 필요하면 Additional 파렛트에 있는 TScrollBox를 쓰는것이 좋을것 같은데요..
:
:
: [Form에서 Caption을 없애는  방법]
:
: Form의 BorderStyle을 bsNone으로 해도 Form의 Caption이 없어지지만
:
: 다음 코드로도 Caption을 없앨수 있습니다.
:
:
:   int style=GetWindowLongA(Handle,GWL_STYLE);
:   style=style & (~ WS_CAPTION);
:   SetWindowLongA(Handle,GWL_STYLE,style);
: 

:
:
: 그럼..
:
:
: linuxman 님이 쓰신 글 :
: : form2의 캡션을 넣은것은 form2의 scrollbar가 생기게 하려고 했던것인데...
: : 즉 패널의 크기를 조정해서... form2에...스크롤바가 생성되게 하려고 한것인데..
: : bsNone 으로 하면... 패널의 크기를 조정해도...스크롤바가 생성이 안되는것 같습니다...
: :
: : 혹 캡션이 없으면서... form2에 스크롤 바가 생성되게 할수 있는 방법 있나요?
: : (해상도가 아주큰 1920*1320 그런 화면을 표현하려보니...)
: :
: : (말씀하신대로  bnNone에서 focus 잘 갑니다 )
: :
: :
: : 수고하세요.
: :
: :
: : 장성호 님이 쓰신 글 :
: : : 답변1.
: : : Form2위에 있는 모든 컨트롤에 Focus가 잘 안가질것입니다.
: : : 원인은 Form2가 Form1위에 올라가 있는데 Caption이 있네요
: : : 이런경우는 MDI로 보통하죠
: : :
: : : Form2를 Form1의 Panel에 올리면서 Form2의 Control에 Focus가 가게 하려면
: : :
: : : Form2의 BorderStyle을 bsNone으로 해보세요
: : :
: : :           Form2 = new TForm2(this);
: : :           Form2->BorderStyle=bsNone; //이렇게...
: : :           Form2->Parent= Panel2;
: : :           Form2->Show();
: : :  

: : :
: : : 더 자세히는 잘 모르겟네요(지식이 짧아서...)
: : :
: : :
: : : 답변2. 생성자 오버라이딩 관련된 문제네요
: : :    저는 잘 되던데...
: : :    아래 코드를 참조하세요
: : :
: : :
: : : 
: : : //Unit2.h
: : : typedef struct _MyDATA
: : : {
: : :   int x;
: : :   int y;
: : : 
: : : }MYDATA;
: : : 
: : : class TForm2 : public TForm
: : : {
: : :     ....
: : : 
: : :    public:
: : :      __fastcall TForm2(TComponent* Owner,MYDATA &md);
: : : 
: : : }
: : :  
: : : //Unit2.cpp
: : : __fastcall TForm2::TForm2(TComponent* Owner,MYDATA &md)
: : :         : TForm(Owner)
: : : {
: : :   ShowMessage(md.x);
: : : }
: : : 
: : : 
: : : //Unit1.cpp
: : : void __fastcall TForm1::FormShow(TObject *Sender)
: : : {
: : :   MYDATA md;
: : :   md.x=10;
: : : 
: : :   Form2 = new TForm2(this,md);
: : :   Form2->BorderStyle=bsNone;
: : :   Form2->Left=50;
: : :   Form2->Top=50;
: : :   Form2->Parent= Panel2;
: : :   Form2->Show();
: : : }
: : : 
: : : 

: : :
: : :
: : : 추신. 생성자 오버라이딩시 주의할점 한가지
: : :    VCL에서 TCustomForm(또는 TForm)을 상속받은 Form의 생성자를 오버라이딩할때
: : :    파라메터가   다음과 같은식으로 하면 안됩니다.
: : :
: : : 
: : :    __fastcall TForm2(TComponent* Owner,int k); //파라메터가 component * , int  로 하면 안됨
: : : 
: : : 

: : : 왜 그런지는 직접...
: : :
: : :
: : : 그럼..
: : :
: : :
: : : linuxman 님이 쓰신 글 :
: : : : 안녕하세요.
: : : :  폼위의 패널위에 동적으로 생성한 폼을  올려놓았습니다.
: : : :  그리고 그 동적이 폼위에 다시 패널을 올려놓고,,,,패널위에 editbox를 올려놓았습니다.
: : : : 그런데..editbox에 왼쪽 마우스가 클릭 안됩니다..(첨부 화일 참조 )
: : : :
: : : : void __fastcall TForm1::FormShow(TObject *Sender)
: : : : {
: : : :         Form2 = new TForm2(this);
: : : :         Form2->Parent= Panel2;
: : : :         Form2->Show();
: : : :
: : : :
: : : :
: : : :         TEdit *edit = new TEdit (this);
: : : :         edit->Parent = Form2->Panel1;
: : : :         edit->Text = "test";
: : : :         edit->Left = 100;
: : : :         edit->Top = 100;
: : : :         edit->Visible=true;
: : : : }
: : : : editbox가 왼쪽 마우스 전혀 안먹습니다.  왜 이런 현상이..
: : : :
: : : :
: : : : 그리고 혹시... 폼을 동적으로 생성할때... 폼에  사용자가정의한 스트럭처 를 넘겨 주고 가능한가요?
: : : : 예를 들어..
: : : : typedef strct _MyDATA
: : : : {
: : : :   int x;
: : : :   int y;
: : : :
: : : : }MYDATA;
: : : :
: : : : MYDATA data;
: : : : data.x = 100; data.y =200; 등 ..
: : : :
: : : :    Form2 = new TForm2 ( this ) 할때... 폼의 생성시에  data도 같이 넘겨주고 싶은데..
: : : :     Form2 = new TForm2 ( this , &data) 등처럼... 생성시에 넘겨주고 싶은데... 잘안되는것 같습니다..
: : : :
: : : : 다른 방법이 있나요?
: : : :
: : : : 수고하세요.

+ -

관련 글 리스트
54399 editbox에 마우스클릭이 안됩니다... linuxman 1428 2008/08/25
54401     Re:editbox에 마우스클릭이 안됩니다... 장성호 1023 2008/08/26
54406         Re:Re:editbox에 마우스클릭이 안됩니다... linuxman 1166 2008/08/26
54409             Re:Re:Re:editbox에 마우스클릭이 안됩니다... 장성호 999 2008/08/26
54417                 Re:Re:Re:Re:editbox에 마우스클릭이 안됩니다... linuxman 1189 2008/08/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.