2016-12-21 2 views
1
wxBoxSizer* bConstantsSizer; 
bConstantsSizer = new wxBoxSizer(wxVERTICAL); 

m_propertyGrid1 = new wxPropertyGrid(m_scrolledWindowConstants,wxID_ANY, wxDefaultPosition, wxSize(300, 300), wxPG_DEFAULT_STYLE|wxHSCROLL|wxVSCROLL); 
bConstantsSizer->Add(m_propertyGrid1, 0, wxALL, 5); 

내 속성 표 크기를 300, 300으로 하드 코드했는데 어떻게 동적으로 처리합니까?sizer만큼 큰 propertygrid를 얻는 방법?

Screenshot_20161221_015600.png

+0

이어야합니다. 어떤 종류의 크기 조절기는'bConstantsSizer'입니까? 어떤 방향으로 동적으로 크기를 조정하고 싶습니까? – Ripi2

+1

bConstantsSizer = new wxBoxSizer (wxVERTICAL); – j35t3r

+0

sizer는 sizer에서 관리하는 컨트롤이 포함 된 창에 지정해야합니다. 문서를 읽고 샘플을 살펴보십시오. – Ripi2

답변

2

당신은 1proportion를 설정해야하고, sizeritemsizeritembase 속성을 참조하십시오 또한 wxEXPAND 플래그를 설정합니다. 결과는

bConstantsSizer->Add(m_propertyGrid1, 1, wxALL|wxEXPAND, 5); 
+1

이것은 정확 합니다만, 'bConstantSizer-> Add (m_propertyGrid1, wxSizerFlags (1) .Expand(). Border())'를 사용하는 것이 더 읽기 쉽습니다. –

+0

그래, 그게 좋겠지 만,이 경우 나는 최선의 관행이 개발자에게 달려 있다고 생각하지 않는다. 생성 된 코드 인 AFAICT. – catalin