屬性頁之間交換資料

2021-04-15 15:48:55 字數 1403 閱讀 9558

我在前面的文章屬性頁中的on_update_command_ui

中提到了利用p**_querysiblings來實現屬性頁之間資料的交換。在這裡我把有關的問題再具體的說明一下,

如果想知道怎樣在property sheet的property page之間用p**_querysiblings來交換資料,首先要看看函式cpropertypage::querysiblings,實現如下:

lresult cpropertypage::querysiblings(wparam wparam, lparam lparam)

我們發現,cpropertypage::querysiblings函式的功能就是向父視窗傳送p**_querysiblings訊息,而property sheet對p**_querysiblings訊息的預設處理就是傳送p**_querysiblings到每個propperty page,所以在每個property page裡,我們都需要建立乙個訊息對映來捕捉p**_querysiblings訊息,同時新增訊息處理函式。

在cpropertypage的派生類的.h檔案裡新增:

//}afx_msg

afx_msg lresult onquerysiblings(wparam wparam,lparam lparam);

declare_message_map()

在cpropertypage的派生類的.cpp檔案裡新增:

begin_message_map(cmypropertypage, cpropertypage)

on_message(p**_querysiblings, onquerysiblings)

end_message_map()

最後新增訊息函式的實現:

lresult cmypropertypage::onquerysiblings(wparam wparam, lparam lparam)

如果想在父視窗property sheet中處理這個訊息,同樣在cmypropertysheet類裡新增對p**_querysiblings訊息的處理。但是在最後函式返回的時候一定要是函式default(),否則就不能呼叫預設的處理行為。

lresult cmypropertysheet::onquerysiblings(wparam wparam, lparam lparam)

如果需要修改p**_querysiblings訊息的引數wparam和lparam的值, 同時傳送改變的值到property page, 那麼就必須要自己寫**傳送p**_querysiblings訊息到每個property page.

lresult cmypropertysheet::onquerysiblings(wparam wparam, lparam lparam)

屬性頁之間交換資料

我在前面的文章屬性頁中的on update command ui 中提到了利用psm querysiblings來實現屬性頁之間資料的交換。在這裡我把有關的問題再具體的說明一下,如果想知道怎樣在property sheet的property page之間用psm querysiblings來交換資料...

定製屬性頁

對生成的預設的屬性頁對話方塊進行處理,將屬性頁部分向右平移,騰出左邊區域,以便新增切換屬性頁的相關控制項。首先在左半區域繪製乙個矩形框並填充背景顏色,然後在矩形框中動態建立用於切換屬性頁的按鈕。原始版本中使用的是clistctrl列表控制項,由於列表控制項的行要做成立體的效果比較困難,並且存在閃爍的...

程序之間的資料交換

import multiprocessing 建立乙個訊息佇列 que multiprocessing.queue 5 print que 將資料儲存進佇列 for item in range 10 que.put item,true,2 que.put nowait item 注意點 1 在建立的...