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
[54586] Re:스크롤 박스 안에 원하는 콤포넌트가 있는지 체크할수 있는 방법을 알수 있나요?
장성호 [nasilso] 1290 읽음    2008-09-17 19:13
음...

[Panel위에 있는 컨트롤 찾기]
먼저 Panel위에 있는 Control을 찾는 방법은?
FindChildControl을 이용하시면 됩니다.

TForm에만 있는 함수가 아니라 모든 TWinControl에 있는 함수입니다.

    //다음과 같이 찾습니다.
    TButton *btn=(TButton *)Panel3->FindChildControl("Button1");

    //또는 아래과 같이 TEdit로 입력을 받아서..
    TButton *btn=(TButton *)Panel3->FindChildControl(Edit1->Text);




[ ScrollBox의 ScrollBar를 Control이 있는 위치로 이동]
님이 올린 샘플을 보니 ScrollBar위에 있는  Panel의 위치가 (0,0)이 아니더군요
즉 이런경우에 ScrollBar의 HorzScrollBar->Range 나 ScrollBox1->VertScrollBar->Range 가
Panel의 크기와 일치하지 않게 됩니다.

1. 먼저 ScrollBar위에 있는  Panel의 위치를  (0,0)으로 폼 디자인타임에 설정하십시요
그럼 ScrollBar의 Scroll Range가 Panel의 크기와 같게 됩니다.

2. 그런다음 FindChildControl 찾은 Button의 Left , Top을 ScrollBox의
   HorzScrollBar->Position 과 VertScrollBar->Position으로 설정하시면 됩니다.

void __fastcall TForm1::Button6Click(TObject *Sender)
{
    TButton *btn=(TButton *)Panel3->FindChildControl(Edit1->Text);
    if(btn)
    {
        ScrollBox1->HorzScrollBar->Position=btn->Left;
        ScrollBox1->VertScrollBar->Position=btn->Top;
    }
}

그럼...


linuxman 님이 쓰신 글 :
: 안녕하세요..
: 스크롤박스 안에..아주 큰 패널을 만들었습니다.
: 그런후에 패널의 여기저기에 동적인 콤포넌트 들을 배치하였습니다...
: (여기 저기 있기때문에...)
:
: 스크롤 박스 안에 원하는 콤포넌트가 있는지 체크할수 있는 방법과
: 없다면... 스크롤박스를 최소한 움직여서 원하는 콤포넌트를 스크롤 박스의
: 귀퉁이에라도 보여주고 싶은데... 좋은방법이 있을까요?
:
:  
:   ScrollBox1->VertScrollBar->Position=Button1->Left;
:   ScrollBox1->HorzScrollBar ->Position=Button1->Left;
:  
:   수고하세요.

+ -

관련 글 리스트
54584 스크롤 박스 안에 원하는 콤포넌트가 있는지 체크할수 있는 방법을 알수 있나요? linuxman 1210 2008/09/17
54586     Re:스크롤 박스 안에 원하는 콤포넌트가 있는지 체크할수 있는 방법을 알수 있나요? 장성호 1290 2008/09/17
54587         Re:Re:스크롤 박스 안에 원하는 콤포넌트가 있는지 체크할수 있는 방법을 알수 있나요? linuxman 1259 2008/09/17
54590             Re:Re:Re:스크롤 박스 안에 원하는 콤포넌트가 있는지 체크할수 있는 방법을 알수 있나요? 장성호 1393 2008/09/18
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.