VC雕蟲小技集 六

2021-05-21 12:24:11 字數 2479 閱讀 3474

**vc 共享樂園

...vc雕蟲小技集(六)

何志丹

1,,如何取得tree control上的checkbox狀態~

oninit中加:

m_treectrl.insertitem("item1");

m_treectrl.insertitem("item2");

void ccdialogdlg::onbutton1()

htreeitem hitem = m_treectrl.getrootitem();

while(null != hitem)

cstring str= m_treectrl.getitemtext(hitem);

if("item2" == str)

if(m_treectrl.getcheck(hitem))

afxmessagebox("選中");

hitem = m_treectrl.getnextvisibleitem(hitem);

2,怎麼用乙個程式向另乙個程式傳送字元並讓其顯示出來

首先通過findwindow取得windows程式的視窗控制代碼,

然後通過getdlgitem取得其中輸入框的視窗控制代碼,

最後,向該視窗控制代碼傳送wm_char訊息即可顯示字元

例如,對於notepad視窗,可以以如下的方式向其中輸入乙個』a』:

取得記事本的視窗控制代碼

hwnd hwnd = ::findwindow( null , "未定標題 - 記事本" );

取得其中輸入框的視窗控制代碼

hwnd hedit = ::getdlgitem( hwnd , 0x0f ); // 這裡0x0f是編輯框的id,可在spy++中觀察得到

向輸入框中填寫』a』

::sendmessage( hedit , wm_char , (wparam)』a』 , 0x00000001 );

ctime t = ctime::getcurrenttime();

cstring str; str.format("%d-%d-%d",t.getyear(),t.getmonth(),t.getday());

str+= t.format("--%h-%m-%s");

afxmessagebox(str);

一定要用ctime::getcurrenttime();getcurrenttime()是乙個過時的函式.

4, //改變按鈕的背景色。

hbrush crectwindow2view::onctlcolor(cdc* pdc, cwnd* pwnd, uint nctlcolor)

hbrush hbr = cformview::onctlcolor(pdc, pwnd, nctlcolor);

switch (nctlcolor)

case ctlcolor_btn:

cbrush brush (rgb (128 , 0 , 128) );//你的顏色

cbrush* poldbrush = pdc->selectobject(&brush);

pdc->selectobject (poldbrush );

return cformview::onctlcolor(pdc, pwnd, nctlcolor);

5, 加速鍵的使用.

在dlg的標頭檔案中加入:

haccel m_haccel;

在dlg的建構函式中載入加速鍵:

基於對話方塊的程式如何使用加速鍵?

m_haccel=::loadaccelerators(afxgetinstancehandle(),makeintresource(idr_accelerator1));//加速鍵id

過載pretranslatemessage函式:

bool cdlg::pretranslatemessage(msg* pmsg)

// todo: add your specialized code here and/or call the base class

if(m_haccel!=null)

if(::translateaccelerator(m_hwnd,m_haccel,pmsg))

return true;

return cdialog::pretranslatemessage(pmsg);

6,怎麼把乙個檔案儲存到其它地方?

if(!copyfile("f://he.txt","d://he1.txt",true))

if(idok == messagebox("有同名檔案,你要覆蓋嗎?",null,mb_okcancel))

VC雕蟲小技集 一

vc雕蟲小技集 一 何志丹1,避免隨機數相同,可以取當前時間,讀檔案,讀任意記憶體 如未定義變數,有一定危險 ctime t ctime getcurrenttime int n t.getminute 60 t.getsecond while n 0 const int n 100 int res...

VC雕蟲小技集 一

vc 共享樂園 vc雕蟲小技集 一 何志丹 1,避免隨機數相同,可以取當前時間,讀檔案,讀任意記憶體 如未定義變數,有一定 危險 ctime t ctime getcurrenttime int n t.getminute 60 t.getsecond while n 0 rand const in...

VC程式設計技巧錦集

問題一 解決workspace中的classview顯示混亂 解答 即新增的成員變數或函式不能顯示 即使顯示出來了變數或函式,雙擊後不能跳至正確的位置。刪除.ncb檔案,再rebuild all,即可。問題二 向專案中加入自己定義的類的簡單方法 解答 選擇insert new class選單,彈出對...