2012-02-16 4 views
0

저는 2 개의 tframes와 추가 버튼이 있습니다. 단추를 누를 때 하나의 tframe을 다른 것에 추가하려고합니다. 그러나 wake 이유로 코드가 작동하지 않는 것 같습니다. 그것은 가정하는 것처럼 프레임을 추가하지 않습니다. 거기에 오류 또는 실행, 컴파일 및 실행하지만 버튼을 누르면 그것은 아무것도하지 않습니다. 나는 그것이 스크롤 박스에 tframe을 추가했을 때 작동하도록 만들었고, 내가 한 것은 tframe이 추가 될 위치를 변경하는 것이었다. TFrame2런타임에 Tframe을 다른 Tframe에 추가합니다.

void __fastcall TFrame2::AddFrame() 
{ 
    int temp = 0; 
    TFrame1* NewFrame1 = new TFrame1(this); 
    NewFrame1 ->Parent=this; 

    TComponentEnumerator * ParentEnum = GetEnumerator(); 

    while(ParentEnum->MoveNext()) 
    { 
     temp++; 
    } 

    NewFrame1 ->SetIndex(temp); 
    NewFrame1 ->Name = "Frame" + IntToStr(temp); 
    NewFrame1 ->Top = (NewFrame1 ->Height) * (temp); 
} 

에 대한

코드이 내가 TFrame1 자체에 사용하는 코드입니다

void __fastcall TFrame1 ::SetIndex(int temp) 
{ 
    this->temp= temp; 
} 

int __fastcall TFrame1 ::GetIndex() 
{ 
    return this->temp; 
} 

릴 BG 정보 : 내가 다른 tframe에 tframe를 추가해야하는 이유는, 그래서 내가 할 수있는 것입니다 다른 구성 요소 그룹에 구성 요소 그룹을 추가하면 다른 방법으로는 알 수 없습니다. 나중에 tframe2를 기본 폼에 추가합니다.

+0

더 구체적으로 설명해야합니다. "내 코드가 작동하지 않는 것 같습니다."우리에게 절대적으로 아무 것도주지 않습니다. 일이 제대로 작동하지 않으면 특정 오류 메시지를 비롯하여 작동하지 않는 것에 대해 구체적으로 설명해야합니다. 우리는 여기에서 당신의 마음이나 화면을 읽을 수 없다는 것을 기억하십시오. 그래서 우리가 가진 유일한 정보는 당신이 당신의 질문에 우리에게주는 것입니다. –

+0

BTW, 'TFrame1 * NewFrame1 = 새 TFrame1 (TFrame2);'이 잘못되었습니다. 전달 된 매개 변수 ('Owner')를'TFrame2'에서'this'로 변경하십시오. 'TFrame2'는 타입이고, 포인터를 참조로 전달해야합니다. –

+0

코드가 작동하지 않아 자세한 내용을 추가했습니다. 단지 오류없이 실행되지만 tframe은 추가되지 않습니다. 나는 '이'TFrame2 대신 똑같이 시도했지만 코드는 실행되지만 버튼을 누를 때 tframe이 추가됩니다. – livelaughlove

답변

0

표시 한 코드가 잘못되었을 수 있습니다. 자식 프레임의 Top 속성을 부모 프레임의 Height 속성을 초과하는 값으로 설정하면 자식 프레임이 표시되지 않습니다. 비록 그것이 메모리에 존재하더라도 화면 상에 나타난다.

+0

모든 것을 두 번 확인했는데이 경우는 아니지만 여전히 작동하지 않습니다. 나는 이유를 확실히 모른다. 나는 이것을 다른 방식으로 시도하려고 노력할 것이다. 그래도 고마워. – livelaughlove

+0

나는 마침내 이것을 제쳐두고 떠난 후에 무엇이 잘못되었는지를 마침내 알아 냈습니다. 그것은 내 코드와 관련이 없었습니다. 단순히 C++ Builder의 버그였습니다. 때마다 조정을 디자인보기로 갈 때마다 내 코드로 돌아가서 winproc 물건을 주석으로 저장하고 winproc 물건의 주석을 제거한 다음 다시 저장해야합니다. 나는 그것이 확실하지는 않지만 그것이 문제를 해결합니다. – livelaughlove

+0

어떤 버그를 언급하고 있습니까? 나는 당신이 묘사 한 것을 한 번도 해보지 않았습니다. –