วิธีการขยายขนาดของตัวควบคุมแผนภูมิเมื่อเพิ่มจำนวนรายการย่อย

ฉันมีหน้าต่างแบบเลื่อน และฉันกำลังวางการควบคุมแบบทรีหลายรายการในหน้าต่างแบบเลื่อน เมื่อใดก็ตามที่ฉันเพิ่มรายการย่อยไปที่รูทของ treectrl ใด ๆ มันจะสร้างหน้าต่างเลื่อนเพื่อให้แน่ใจว่ารายการย่อยทั้งหมดจะสามารถเข้าถึงได้ สิ่งที่ฉันต้องทำให้สำเร็จคือการเพิ่มขนาดที่จัดสรรให้กับ tree ctrl แทนที่จะเป็นหน้าต่างแบบเลื่อน ฉันจะบรรลุเป้าหมายนี้ได้อย่างไร


person StraightCirle    schedule 10.09.2015    source แหล่งที่มา


คำตอบ (1)


ฉันคิดว่าไม่มีวิธีอัตโนมัติที่สามารถทำได้ คุณจะต้องดำเนินการด้วยตนเอง เช่น เมื่อคุณเสร็จสิ้นการแทรก คุณจะเรียกใช้การปรับขนาดตัวควบคุมอย่างชัดเจน นี่คือข้อมูลโค้ด C++ ที่นำมาจาก คำถามนี้

treeCtrl->InvalidateBestSize();
treeCtrl->SetClientSize(treeCtrl->GetBestSize());

เวอร์ชันของ Python ไม่ควรแตกต่างกันมากนัก บางทีตัวดำเนินการ -> จะต้องถูกแทนที่ด้วยจุด

person Alberto M    schedule 14.09.2015
comment
ขอบคุณอัลเบอร์โตสำหรับคำตอบของคุณ ฉันแก้ไขปัญหานี้ด้วยคำสั่ง treeCtrl->setMaxSize(wxDefalultSize) วิธีนี้จะปรับขนาด treectrl winow เมื่อจำนวนลูกเพิ่มขึ้น - person StraightCirle; 16.09.2015
comment
ตกลง แม้ว่าคำตอบของฉันจะไม่ตรงกับกรณีของคุณ แต่ฉันดีใจที่รู้ว่าปัญหาของคุณได้รับการแก้ไขแล้ว บางทีโซลูชันของคุณอาจมีประโยชน์สำหรับโครงการในอนาคตของฉันเช่นกัน - person Alberto M; 16.09.2015