ดึงข้อมูลและอัปเดตคุณสมบัติมุมมองของการนำเสนอใน 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.

เพื่อทำการตั้งค่าคุณสมบัตุมุมมอง โปรดทำตามขั้นตอนด้านล่าง:

  1. สร้างอินสแตนซ์ของคลาส Presentation
  2. ตั้งค่า View Properties ของการนำเสนอ
  3. บันทึกการนำเสนอเป็นไฟล์ 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 ถูกเก็บระดับการนำเสนอ, คุณสามารถฝังไว้ในเทมเพลตและสร้างเอกสารใหม่จากเทมเพลตนั้นโดยมีการกำหนดค่ามุมมองเริ่มต้นเดียวกัน.