|
제가 생각하기도 위치 문제 같아 보이네요. 혹시 Panel의 위치가 아닌 Label의 위치를
설정하신게 아니신지요?
아래 버튼을 누를때마다 생성하는 소스를 붙였습니다.
아 그리고, 또한가지, Name을 설정하는 부분이 없는것 같은데,
그럴 경우, 해당 함수 범위를 벗어나면 m_Pan 등으로 접근이 되지 않기 때문에
메모리 해제나 기타 수정등이 어렵습니다.
참고상 말씀드렸습니다. ^^;
cuperido
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TPanel *m_Pan;
TLabel *m_Name;
m_Pan = new TPanel(Application);
m_Pan->Parent = Form1;
m_Pan->Left = random(300);
m_Pan->Top = random(300);
m_Pan->Visible = true;
m_Name = new TLabel(Application);
m_Name->Parent = m_Pan;
m_Name->Caption = random(10000);
m_Name->Visible = true;
}
//---------------------------------------------------------------------------
tears 님이 쓰신 글 :
: 모두 다른 위치에 잘 생성되었으나 보이지 않습니다.
: 음.. 다 다른 위치에 생성 되었으나....-0-
: 안보여요....
: m_Pan 을 생성하지 않고 하면
: 모든 값들이 잘 보여요..
: 이유가 멀까요?
:
: : 모든 컨트롤들이 같은 위치에 생성된 것 같군요,
: : 각 컨트롤의 Top, Left를 다르게 지정해보세요.
: :
: : tears 님이 쓰신 글 :
: : : PanelPage 위에
: : : 동적으로 Panel m_Pan 을 생성하고
: : : 이 패널이 생성 될때 TLabel 과 TImage 생성을 하게 하였습니다.
: : : Server - Client 프로그램인데...
: : : Server 가 보내주는 패킷을 읽어서
: : : m_Pan 을 생성하여 정해놓은 값들을 보여주는 건데요....
: : : 서버가 보내주는 갯수대로 생성은 다 되는데
: : : 값을 보여주는 것이
: : : 첫번째 m_Pan만 보여주고 다른 것은 보여주지 않습니다.
: : :
: : : clase Unit
: : : {
: : : TPanel* m_Pan;
: : : TLabel* m_Name;
: : : TImage* m_Icon;
: : : .....
: : : }
: : : 이런식으로 되어있고
: : : 생성자에서
: : : m_Pan = new TPanel;
: : : m_Pan->Parent = PanelPage;
: : : m_Pan->Visible = true;
: : :
: : : m_Name = new TLabel;
: : : m_Name->Parent = m_Pan;
: : : m_Name->Visible = true;
: : : ....
: : : ... 이런 식으로 해줍니다.
: : :
: : : 부모 설정까지 다 잘 해줬는데..
: : : 왜 처음 값만 보이고 그 뒤의 값들은 보이지 않는 걸까요?
|