為
afx_idd_preview_*******這個id建立乙個dialogbar。則系統就會用新建立的dialogbar代替系統預設的那個
1.要列印哪個視就
((cmainframe*)afxgetmainwnd())->m_wndsplitter.setactivepane(...)
//要列印的那個視對應的pane
2.有乙個單文件工程,文件視窗被切分:左檢視由ctreeview 的派生類管理,右檢視由clistview 的派生類cmylistview(其為風格為lvs_report)管理,我想為右檢視新增列印和列印預覽,我在mylistview.cpp中新增了
on_command(id_file_print,clistview::onfileprint)
on_command(id_file_print_preview,clistview::onfileprintpreview)還有
bool cmylistview::onprepareprinting(cprintinfo* pinfo) 3.
下面是從msdn中摘出來的一段,是用來改變訊息路由的。用了這段**之後,cview中的訊息(選單,控制項,子視窗)將先被cmyshape類來處理。不知道你要的是不是這樣的效果。
if ((m_pactiveshape != null)
&& m_pactiveshape->oncmdmsg(nid, ncode, pextra, phandlerinfo))
return true;
// if the object(s) in the extended command route don't handle
// the command, then let the base class oncmdmsg handle it.
return cview::oncmdmsg(nid, ncode, pextra, phandlerinfo);
} // the command handler for id_shape_color (menu command to change
// the color of the currently selected shape) was added to
// the message map of cmyshape (note, not cmyview) using classwizard.
// the menu item will be automatically enabled or disabled, depending
// on whether a cmyshape is currently selected in the view, that is,
// depending on whether cmyview::m_pactiveview is null. it is not
// necessary to implement an on_update_command_ui handler to enable
// or disable the menu item.
begin_message_map(cmyshape, ccmdtarget)
//}afx_msg_map
end_message_map()
如果你只是想呼叫onfileprint( )函式,可以試一試下面的**,就和呼叫其它類中的函式一樣。
4.void cmyreportview::onfileopen()
void cmyreportview::onfileprint()
積累的VC程式設計小技巧之列印相關
為afx idd preview 這個id建立乙個dialogbar。則系統就會用新建立的dialogbar代替系統預設的那個 1.要列印哪個視就 cmainframe afxgetmainwnd m wndsplitter.setactivepane 要列印的那個視對應的pane 2.有乙個單文件...
VC程式設計小技巧
用vc新建dialog.新增rich edit 後編譯可以通過,執行後自動退出,原因即是沒有初始化的後果。解決方法 解釋 wasatarup 是應用程式呼叫的windows sockets dll的第乙個函式,在呼叫任何winsock api之前,必須呼叫wsastartup 進行初始化,最後呼叫w...
VC程式設計小技巧之樹操作
問題提出 請問treeview控制項和treectrl控制項的用法有何不同呢?向怎麼imagelist控制項中加圖象呀?解決方法 1 hicon hicon 8 m imagelist.create 16,16,0,8,8 for int n 0 n 8 n m imagelist.add hico...