IPrintDialogCallback::HandleMessage

[นี่คือเอกสารเบื้องต้นและเรื่องการเปลี่ยนแปลง]

ฟังก์ชันPrintDlgExเรียกเมธอดHandleMessageเพื่อให้โปรแกรมประยุกต์ของคุณมีโอกาสในการจัดการกับข้อความที่ส่งไปยังเด็กกล่องโต้ตอบในส่วนล่างของหน้าทั่วไปของแผ่นคุณสมบัติการพิมพ์ กล่องโต้ตอบของเด็กประกอบด้วยตัวควบคุมที่ใกล้เคียงกับของกล่องโต้ตอบการพิมพ์.

(Hresult ใน HandleMessage HWNDhDlg,UINTuMsg,WPARAMwParam,LPARAMlParam,LRESULT* pResult);
 

พารามิเตอร์

hDlg
จัดการกับกล่องโต้ตอบเด็กในส่วนล่างของหน้าทั่วไป.
uMsg
ระบุข้อความได้รับ.
wParam
ระบุข้อมูลเพิ่มเติมเกี่ยวกับข้อความ ความหมายที่แน่นอนขึ้นกับค่าของพารามิเตอร์uMsg.
lParam
ระบุข้อมูลเพิ่มเติมเกี่ยวกับข้อความ ความหมายที่แน่นอนขึ้นกับค่าของพารามิเตอร์uMsg.

ถ้าพารามิเตอร์uMsgบ่งชี้ความWM_INITDIALOG , lParamเป็นตัวชี้การประกอบด้วยPRINTDLGEXโครงสร้างที่ค่าที่ระบุเมื่อสร้างแผ่นคุณสมบัติ.

pResult
ชี้ไปยังตัวแปรที่คุณควรตั้งค่าเพื่อระบุผลลัพธ์ถูกส่งกลับ โดยใช้กล่องโต้ตอบข้อความ.

ส่งกลับค่า

กลับ S_OK ถ้าใช้งานHandleMessageของคุณจัดการกับข้อความ ในกรณีนี้ ฟังก์ชันPrintDlgExไม่ได้เรื่องการจัดการข้อความเริ่มต้นใด ๆ.

กลับ S_FALSE ถ้าคุณต้องการให้PrintDlgExการดำเนินการจัดการข้อความของค่าเริ่มต้น.

หมายเหตุ

สำหรับข้อความแจ้งเตือนที่ส่งผ่านโดยการ WM_NOTIFYข้อความ คุณต้องใช้ฟังก์ชันSetWindowLongจะ มีค่า DWL_MSGRESULT เพื่อตั้งค่าให้ส่งคืน ใช้เมื่อคุณเรียกใช้SetWindowLong, GetParent (hDlg)การตั้งค่าหน้ากระดาษทั่วไปDWL_MSGRESULT ซึ่งเป็นแม่ของหน้าต่างลูก.

ขั้นตอนกล่องโต้ตอบเริ่มต้นสำหรับหน้าต่างย่อยในส่วนล่างของหน้าทั่วไปประมวลผลข้อความWM_INITDIALOGก่อนที่จะผ่านการเมธอดHandleMessage อื่น ๆ ความส่งไปหน้าต่างลูกHandleMessageรับข้อความก่อน แล้วHandleMessageคืนค่ากำหนดว่า กระบวนการโต้ตอบการเริ่มต้นการประมวลผลข้อความ หรือละเว้นได้.

ถ้าHandleMessageเป็นการประมวลผลข้อความWM_CTLCOLORDLGมันต้องส่งกลับหมายเลขอ้างอิงของแปรงที่ถูกต้องสำหรับการวาดภาพเป็นพื้นหลังของกล่องโต้ตอบ ทั่วไป ถ้าHandleMessageเป็นการประมวลผลข้อใด ๆ WM_CTLCOLOR ความ จะต้องส่งกลับหมายเลขอ้างอิงของแปรงที่ถูกต้องสำหรับการวาดภาพเป็นพื้นหลังของตัวควบคุมที่ระบุ.

เรียกใช้ฟังก์ชันEndDialogจากเมธอดHandleMessage แทนHandleMessageสามารถเรียกใช้ฟังก์ชันPostMessageเพื่อลงรายการบัญชีข้อความWM_COMMANDที่ มีค่า IDABORT ในกระบวนการกล่องโต้ตอบ IDABORT การลงรายการบัญชีปิดแผ่นคุณสมบัติพิมพ์และทำให้PrintDlgExไปกลับ PD_RESULT_CANCEL ในสมาชิกdwResultActionของโครงสร้างPRINTDLGEX ถ้าคุณจำเป็นต้องรู้ว่าทำไมHandleMessageปิดกล่องโต้ตอบ คุณต้องมีกลไกของการสื่อสารระหว่างวิธีการHandleMessageและโปรแกรมประยุกต์ของคุณ.

นอกจากนี้คุณยังระดับชั้นย่อยในการควบคุมมาตรฐานของกล่องโต้ตอบเด็กกล่องในส่วนล่างของหน้าทั่วไป ตัวควบคุมมาตรฐานเหล่านี้จะคล้ายกับที่พบในกล่องโต้ตอบการพิมพ์ อย่างไรก็ตาม ขั้นตอนเริ่มต้นกล่องโต้ตอบอาจยังซับคลาสตัวควบคุม เนื่องจากการนี้ คุณควรควบคุมระดับชั้นย่อยเมื่อHandleMessageการประมวลผลข้อความWM_INITDIALOG นี้ยืนยันว่า กระบวนงานระดับชั้นย่อยของคุณได้รับเฉพาะตัวควบคุมข้อความก่อนขั้นตอนระดับชั้นย่อยกำหนด โดยขั้นตอนในกล่องโต้ตอบ.

QuickInfo

nbsp Windows &NT:ต้องการรุ่น 5.0 หรือรุ่นที่ใหม่กว่า
Windows:ไม่สนับสนุน
Windows CE:ไม่สนับสนุน
หัวข้อ:ประกาศใน commdlg.h.

ดูเพิ่มเติม

ภาพรวมไลบรารีของกล่องโต้ตอบทั่วไป IPrintDialogCallback, EndDialog, PostMessage, PrintDlgEx, PRINTDLGEX, SetWindowLong, WM_COMMAND, WM_CTLCOLORDLG, WM_INITDIALOG, WM_NOTIFY

Index