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
[58611] Re:[질문]TtreeView 컴포넌트 프로그래밍에 대해서
skjoon [skjoon] 976 읽음    2009-09-23 10:00
    if( !Node->Text.Compare( "myprogram" ) )
    { 
    //.....여기에 어떻게 소스를 코딩해야지 frmain의 ClientPanel 창이 보일까요?? 
        // 그냥 차일드 폼들을 닫아주시면 됩니다.
        if ( frmAAAProcess )
            frmAAAProcess->Close();
        if ( frmBBB )
            frmBBB->Close();
    } 
    else if ( !Node->Text.Compare( "AAA" ) )
    {
        if ( !frmAAAProcess )
        {
            frmAAAProcess = new TfrmAAAProcess( Application );
            frmAAAProcess->Parent = frmMain->ClientPanel; // 여기로 옮기시는 것이 좋을 것 같네요.
        }
        //frmAAAProcess->Parent = frmMain->ClientPanel;
        frmAAAProcess->Show();
    }
    else if ( !Node->Text.Compare( "BBB" ) )
    {
        if ( !frmBBB )
        {
            frmBBB = new TfrmBBB( Application );
            frmBBB->Parent = frmMain->ClientPanel; // 여기로 옮기시는 것이 좋을 것 같네요.
        }
        //frmBBB->Parent = frmMain->ClientPanel;
        frmBBB->Show();
    }


그런데 String의 Compare는 새로생긴 메소드인가요? ^^;; 빌더6에는 없는 것 같아서...

초보 님이 쓰신 글 :
: 안녕하세요,
: TtreeView 컴포넌트에 대해서 궁금증이 있어서 질문드립니다
:
: 우선 트리 형태는 아래와 같습니다
: myprogram
: |
: +Tool
: |
: --+groupA
:     |
:     |----AAA
:     |
:     |----BBB
:
:
: 그리고 트리의 "AAA" 또는 "BBB" 를 클릭했을 때 처리해주는 함수 소스는 아래와 같습니다.
: void __fastcall TfrmToolsView::TreeView1Changing(TObject *Sender, TTreeNode *Node,
:           bool &AllowChange)
: {
:
:     if ( !Node->Text.Compare( "AAA" ) )
:     {
:         if ( !frmAAAProcess )
:         {
:             frmAAAProcess = new TfrmAAAProcess( Application );
:         }
:         frmAAAProcess->Parent = frmMain->ClientPanel;
:         frmAAAProcess->Show();
:     }
:     else if ( !Node->Text.Compare( "BBB" ) )
:     {
:         if ( !frmBBB )
:         {
:             frmBBB = new TfrmBBB( Application );
:         }
:         frmBBB->Parent = frmMain->ClientPanel;
:         frmBBB->Show();
:     }
:     ...생략..
: }
:
:
: 위와 같이 코딩하면 "AAA"를 클릭했을 때 AAA 맞는 폼을 생성하여 보여주며 "BBB"를 클릭했을 때도 BBB 대응되는 폼을 보여줍니다.
: 문제는 "myprogram"을 클릭했을 때 (위의 소스에서 보듯이) frmain의 ClientPanel 창을 보여주려고 시도하고있는데요
: if( !Node->Text.Compare( "myprogram" ) )
: {
:  //.....여기에 어떻게 소스를 코딩해야지 frmain의 ClientPanel 창이 보일까요??
: }  
:
: 이런식으로 "myprogram"을 클릭했을 때만 위의 if문에 걸리는게 아니라
: 모든 트리 노드 이름(ex "AAA" 또는 "BBB")을 클릭했을 때
: 모두 다 위의 if문에 걸립니다. 해결할 방법이 있을까요?
:
: 또 "myprogram"을 클릭햇을 대 frmain의 ClientPanel 창을 보여주려면 어떻게 코딩해야 될까요?
:
: 답변 부탁드리겠습니다(_ _)
: 수고하세요

+ -

관련 글 리스트
58601 [질문]TtreeView 컴포넌트 프로그래밍에 대해서 초보 989 2009/09/22
58611     Re:[질문]TtreeView 컴포넌트 프로그래밍에 대해서 skjoon 976 2009/09/23
58618         답변 감사합니다~^^ 초보 874 2009/09/23
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.