VC程式設計小技巧之列印相關

2021-05-22 06:26:53 字數 1769 閱讀 7696

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...