我在前面的文章屬性頁中的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 在建立的...