ดึงข้อมูลและอัปเดตคุณสมบัติมุมมองของการนำเสนอใน C++
บทนำ
มุมมองปกติประกอบด้วยสามบริเวณเนื้อหา: สไลด์เอง, บริเวณเนื้อหาด้านข้าง, และบริเวณเนื้อหาด้านล่าง. คุณสมบัติเกี่ยวกับตำแหน่งของแต่ละบริเวณเนื้อหา. ข้อมูลนี้ทำให้แอปพลิเคชันสามารถบันทึกสถานะมุมมองลงในไฟล์, เพื่อให้เมื่อเปิดใหม่มุมมองอยู่ในสถานะเดียวกันกับเมื่อการนำเสนอถูกบันทึกครั้งสุดท้าย.
เมธอด IViewProperties::get_NormalViewProperties ได้ถูกเพิ่มเพื่อให้เข้าถึงคุณสมบัตุมุมมองปกติของการนำเสนอ.
INormalViewProperties, INormalViewRestoredProperties อินเทอร์เฟซและคลาสที่สืบทอด, SplitterBarStateType enum ได้ถูกเพิ่ม.
เกี่ยวกับ INormalViewProperties
เป็นตัวแทนของคุณสมบัตุมุมมองปกติ.
คุณสมบัติ ShowOutlineIcons กำหนดว่าต้องแสดงไอคอนเมื่อแสดงเนื้อหาโครงร่างในใดก็ของบริเวณเนื้อหาในโหมดมุมมองปกติหรือไม่.
คุณสมบัติ SnapVerticalSplitter กำหนดว่าบาร์แยกแนวตั้งควรสแนปไปสู่สถานะย่อเมื่อบริเวณด้านข้างมีขนาดเล็กพอ.
คุณสมบัติ PreferSingleView กำหนดว่าผู้ใช้ต้องการดูบริเวณเนื้อหาเดี่ยวเต็มหน้าต่างแทนมุมมองปกติแบบมาตรฐานที่มีสามบริเวณหรือไม่. หากเปิดใช้งาน แอปพลิเคชันอาจเลือกแสดงหนึ่งในบริเวณเนื้อหาเต็มหน้าต่าง.
คุณสมบัติ VerticalBarState และ HorizontalBarState กำหนดสถานะที่บาร์แยกแนวนอนหรือแนวตั้งควรแสดง. บาร์แยกแนวนอนแยกสไลด์จากบริเวณเนื้อหาด้านล่าง, ส่วนบาร์แยกแนวตั้งแยกสไลด์จากบริเวณเนื้อหาด้านข้าง. ค่าที่เป็นไปได้คือ SplitterBarStateType.Minimized, SplitterBarStateType.Maximized และ SplitterBarStateType.Restored.
คุณสมบัติ RestoredLeft และ RestoredTop กำหนดขนาดของบริเวณสไลด์ด้านบนหรือด้านข้างของมุมมองปกติ, เมื่อค่า SplitterBarStateType.Restored ถูกนำไปใช้กับ VerticalBarState และ HorizontalBarState ตามลำดับ.
เกี่ยวกับการกู้คืน INormalViewProperties
กำหนดขนาดของบริเวณสไลด์ (ความกว้างเมื่อเป็นลูกของ RestoredTop, ความสูงเมื่อเป็นลูกของ RestoredLeft) ของมุมมองปกติ, เมื่อบริเวณมีขนาดที่กู้คืนได้แบบเปลี่ยนแปลงได้ (ไม่ย่อและไม่ขยาย).
คุณสมบัติ DimensionSize กำหนดขนาดของบริเวณสไลด์ (ความกว้างเมื่อเป็นลูกของ RestoredTop, ความสูงเมื่อเป็นลูกของ RestoredLeft).
คุณสมบัติ AutoAdjust กำหนดว่าบริเวณเนื้อหาด้านข้างควรปรับขนาดเพื่อชดเชยขนาดใหม่เมื่อปรับขนาดหน้าต่างที่มีมุมมองอยู่ในแอปพลิเคชันหรือไม่.
ตัวอย่างด้านล่างแสดงวิธีเข้าถึงคุณสมบัติ ViewProperties.NormalViewProperties ของการนำเสนอ.
auto pres = System::MakeObject<Presentation>(u"demo.pptx");
pres->get_ViewProperties()->get_NormalViewProperties()->set_HorizontalBarState(SplitterBarStateType::Restored);
pres->get_ViewProperties()->get_NormalViewProperties()->set_VerticalBarState(SplitterBarStateType::Maximized);
// กู้คืนคุณสมบัติมุมมองของการนำเสนอ
pres->get_ViewProperties()->get_NormalViewProperties()->get_RestoredTop()->set_AutoAdjust(true);
pres->get_ViewProperties()->get_NormalViewProperties()->get_RestoredTop()->set_DimensionSize(80.0f);
pres->get_ViewProperties()->get_NormalViewProperties()->set_ShowOutlineIcons(true);
pres->Save(u"presentation_normal_view_state.pptx", SaveFormat::Pptx);
ตั้งค่าค่าซูมเริ่มต้น
Aspose.Slides for C++ ตอนนี้รองรับการตั้งค่าค่าซูมเริ่มต้นสำหรับการนำเสนอโดยที่เมื่อเปิดการนำเสนอ ซูมจะถูกตั้งค่าไว้แล้ว. สามารถทำได้โดยการตั้งค่า ViewProperties ของการนำเสนอ. คุณสมบัติมุมมองสไลด์รวมถึง get_NotesViewProperties สามารถตั้งค่าได้โดยโปรแกรม. ในหัวข้อนี้ เราจะดูตัวอย่างวิธีตั้งค่าคุณสมบัติมุมมองของการนำเสนอใน Aspose.Slides.
เพื่อทำการตั้งค่าคุณสมบัตุมุมมอง โปรดทำตามขั้นตอนด้านล่าง:
- สร้างอินสแตนซ์ของคลาส Presentation
- ตั้งค่า View Properties ของการนำเสนอ
- บันทึกการนำเสนอเป็นไฟล์ PPTX
ในตัวอย่างด้านล่าง เราได้ตั้งค่าค่าซูมสำหรับมุมมองสไลด์และมุมมองบันทึกหมายเหตุ.
auto presentation = System::MakeObject<Presentation>(u"demo.pptx");
// ตั้งค่าคุณสมบัติมุมมองของการนำเสนอ
presentation->get_ViewProperties()->get_SlideViewProperties()->set_Scale(100); // ค่าซูมเป็นเปอร์เซ็นต์สำหรับมุมมองสไลด์
presentation->get_ViewProperties()->get_NotesViewProperties()->set_Scale(100); // ค่าซูมเป็นเปอร์เซ็นต์สำหรับมุมมองบันทึกหมายเหตุ
presentation->Save(u"Zoom_out.pptx", SaveFormat::Pptx);
คำถามที่พบบ่อย
ฉันสามารถตั้งค่ามุมมองที่แตกต่างสำหรับส่วนต่าง ๆ ของการนำเสนอได้หรือไม่?
View settings ถูกกำหนดระดับการนำเสนอ (Normal View/Slide View), ไม่ได้ระดับส่วน, ดังนั้นชุดพารามิเตอร์เดียวจะใช้กับเอกสารทั้งหมดเมื่อเปิด.
ฉันสามารถกำหนดสถานะมุมมองล่วงหน้าสำหรับผู้ใช้ต่าง ๆ ได้หรือไม่?
ไม่ได้. การตั้งค่าถูกเก็บในไฟล์และแชร์กัน. แอปพลิเคชันผู้ชมอาจเคารพการตั้งค่าของผู้ใช้, แต่ไฟล์เองมีชุดคุณสมบัติมุมมองเดียว.
ฉันสามารถเตรียมเทมเพลตที่มีคุณสมบัติมุมมองที่กำหนดล่วงหน้าเพื่อให้การนำเสนอใหม่เปิดในลักษณะเดียวกันได้หรือไม่?
ได้. เนื่องจาก view properties ถูกเก็บระดับการนำเสนอ, คุณสามารถฝังไว้ในเทมเพลตและสร้างเอกสารใหม่จากเทมเพลตนั้นโดยมีการกำหนดค่ามุมมองเริ่มต้นเดียวกัน.