锘??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美成人伊人久久综合网,亚洲日韩第九十九页,亚洲一区二区三区国产http://m.shnenglu.com/xbgs/zh-cnMon, 29 Sep 2025 14:29:59 GMTMon, 29 Sep 2025 14:29:59 GMT60MFC涓嚜鐢變嬌鐢ㄨ嚜瀹氫箟娑堟伅http://m.shnenglu.com/xbgs/archive/2008/12/17/69647.html璁╁績椋炵繑璁╁績椋炵繑Wed, 17 Dec 2008 05:18:00 GMThttp://m.shnenglu.com/xbgs/archive/2008/12/17/69647.htmlhttp://m.shnenglu.com/xbgs/comments/69647.htmlhttp://m.shnenglu.com/xbgs/archive/2008/12/17/69647.html#Feedback0http://m.shnenglu.com/xbgs/comments/commentRss/69647.htmlhttp://m.shnenglu.com/xbgs/services/trackbacks/69647.html    娑堟伅鏄犲皠銆佸驚鐜満鍒舵槸Windows紼嬪簭榪愯鐨勫熀鏈柟寮忋俈C++ MFC 涓湁璁稿鐜版垚鐨勬秷鎭彞鏌勶紝鍙綋鎴戜滑闇瑕佸畬鎴愬叾瀹冪殑浠誨姟錛岄渶瑕佽嚜瀹氫箟娑堟伅錛屽氨閬囧埌浜嗕竴浜涘洶闅俱?br>    鍦∕FC ClassWizard涓笉鍏佽娣誨姞鐢ㄦ埛鑷畾涔夋秷鎭紝鎵浠ユ垜浠繀欏誨湪紼嬪簭涓坊鍔犵浉搴斾唬鐮侊紝浠ヤ究鍙互璞″鐞嗗叾瀹冩秷鎭竴鏍峰鐞嗚嚜瀹氫箟娑堟伅銆傞氬父鐨勫仛娉曟槸閲囧彇浠ヤ笅姝ラ:
絎竴姝?瀹氫箟娑堟伅銆?/font>
銆鎺ㄨ崘鐢ㄦ埛鑷畾涔夋秷鎭嚦灝戞槸WM_USER+100錛屽洜涓哄緢澶氭柊鎺т歡涔熻浣跨敤WM_USER娑堟伅銆?br>#define WM_MY_MESSAGE (WM_USER+100) 
絎簩姝?瀹炵幇娑堟伅澶勭悊鍑芥暟銆?/strong>
璇ュ嚱鏁頒嬌鐢╓PRAM鍜孡PARAM鍙傛暟騫惰繑鍥濴PESULT銆?
LPESULT CMainFrame::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
    // TODO: 澶勭悊鐢ㄦ埛鑷畾涔夋秷鎭?
    ...
    return 0;

絎笁姝?鍦ㄧ被澶存枃浠剁殑AFX_MSG鍧椾腑璇存槑娑堟伅澶勭悊鍑芥暟:
class CMainFrame:public CMDIFrameWnd
{
    ...
    // 涓鑸秷鎭槧灝勫嚱鏁?
    protected:
    // {{AFX_MSG(CMainFrame)
    afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
    afx_msg void OnTimer(UINT nIDEvent);
    afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);
    //}}AFX_MSG
    DECLARE_MESSAGE_MAP()
}
絎洓姝?鍦ㄧ敤鎴風被鐨勬秷鎭潡涓紝浣跨敤ON_MESSAGE瀹忔寚浠ゅ皢娑堟伅鏄犲皠鍒版秷鎭鐞嗗嚱鏁頒腑銆?/strong>
BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd)
//{{AFX_MSG_MAP(CMainFrame)
    ON_WM_CREATE()
    ON_WM_TIMER()
    ON_MESSAGE(WM_MY_MESSAGE, OnMyMessage)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

 
銆銆濡傛灉鐢ㄦ埛闇瑕佷竴涓畾涔夋暣涓郴緇熷敮涓鐨勬秷鎭?鍙互璋冪敤SDK鍑芥暟RegisterWindowMessage瀹氫箟娑堟伅:
static UINT WM_MY_MESSAGE=RegisterWindowMessage("User");

銆銆騫朵嬌鐢∣N_REGISTERED_MESSAGE瀹忔寚浠ゅ彇浠N_MESSAGE瀹忔寚浠?鍏朵綑姝ラ鍚屼笂銆?br>銆銆褰撻渶瑕佷嬌鐢ㄨ嚜瀹氫箟娑堟伅鏃?鍙互鍦ㄧ浉搴旂被涓殑鍑芥暟涓皟鐢ㄥ嚱鏁癙ostMessage鎴朣endMessage鍙戦佹秷鎭?font color="#990000">PoseMessage(WM_MY_MESSAGE,O,O);

濡傛灉鍚戝叾浠栬繘紼嬪彂閫佹秷鎭彲閫氳繃濡備笅鏂規硶鍙戦佹秷鎭?
DWORD result;
SendMessageTimeout(wnd->m_hWnd, // 鐩爣紿楀彛
                   WM_MY_MESSAGE, // 娑堟伅
                   0, // WPARAM
                   0, // LPARAM
                   SMTO_ABORTIFHUNG |
                   SMTO_NORMAL,
                   TIMEOUT_INTERVAL,
                   &result);
浠ラ伩鍏嶅叾瀹冭繘紼嬪鏋滆闃誨鑰岄犳垚緋葷粺姝葷瓑鐘舵併?br>    鍙槸濡傛灉闇瑕佸悜鍏跺畠綾?(濡備富妗嗘灦銆佸瓙紿楀彛銆佽綾匯佸璇濇銆佺姸鎬佹潯銆佸伐鍏鋒潯鎴栧叾浠栨帶浠剁瓑 鍙戦佹秷鎭椂涓婅堪鏂規硶鏄懼緱鏃犺兘涓哄姏錛岃屽湪緙栫▼榪囩▼涓線寰闇瑕佽幏鍙栧叾瀹冪被涓殑鏌愪釜璇嗗埆淇″彿 妗嗘灦緇欐垜浠犳垚浜嗙縐嶉檺鍒?浣嗘槸鍙互閫氳繃鑾峰彇鏌愪釜綾葷殑鎸囬拡鑰屽悜榪欎釜綾誨彂閫佹秷鎭紝 鑰岃嚜瀹氫箟娑堟伅鐨勫悇縐嶅姩浣滃垯鍦ㄨ繖涓被涓畾涔夛紝榪欐牱灝卞彲浠ヨ嚜鐢辮嚜鍦ㄧ殑鍚戝叾瀹冪被鍙戦佹秷鎭簡銆?nbsp;


銆銆涓嬮潰涓劇殑渚嬪瓙鍙欒堪浜嗗悜瑙嗙被鍜屾鏋剁被鍙戦佹秷鎭殑鏂規硶錛?br>鈽呭湪涓繪鏋剁被涓悜瑙嗙被鍙戦佹秷鎭細
1.瑙嗙被涓畾涔夋秷鎭細
ON_REGISTERED_MESSAGE(WM_MY_MESSAGE,OnMyMessage) //瀹氫箟娑堟伅鏄犲皠

2.瑙嗙被瀹氫箟娑堟伅澶勭悊鍑芥暟錛?br>LRESULT CMessageView::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
    // TODO: 澶勭悊鐢ㄦ埛鑷畾涔夋秷鎭?
    ...
    return 0;
}
3.鍙戦佹秷鎭殑嫻嬭瘯鍑芥暟
void CMainFrame::OnTest()
{
    CView * active = GetActiveView();//鑾峰彇褰撳墠瑙嗙被鎸囬拡
    if(active != NULL)
    active->PostMessage(WM_MY_MESSAGE,0,0);
}
鈽呭湪鍏跺畠綾諱腑鍚戣綾誨彂閫佹秷鎭細
//鍙戦佹秷鎭殑嫻嬭瘯鍑芥暟
void CMyDialog::OnTest()
{
    CMDIFrameWnd *pFrame;
    CMDIChildWnd *pChild;
    CView *pView;
    //鑾峰彇涓葷獥鍙f寚閽?br>    pFrame =(CMDIFrameWnd*)AfxGetApp()->m_pMainWnd;
    // 鑾峰彇瀛愮獥鍙f寚閽?br>    pChild = (CMDIChildWnd *) pFrame->GetActiveFrame();
    //鑾峰彇瑙嗙被鎸囬拡
    pView = pChild->GetActiveView();
    if(pView != NULL)
    pView->PostMessage(WM_MY_MESSAGE,0,0);//鍙戦佹秷鎭?br>}
鍏朵綑姝ラ鍚屼笂銆?br>鈽呭湪瑙嗙被涓悜涓繪鏋跺彂閫佹秷鎭?
棣栧厛鍦ㄤ富妗嗘灦涓畾涔夌浉鍏崇殑娑堟伅,鏂規硶鍚屼笂,鐒跺悗鍦ㄥ彂閫佹秷鎭殑鍑芥暟涓坊鍔犱唬鐮佸涓?br>//鍙戦佹秷鎭殑嫻嬭瘯鍑芥暟
void CMessageView::OnTest()
{
    CFrameWnd * active = GetActiveFrame();//鑾峰彇褰撳墠涓葷獥鍙f鏋舵寚閽?br>    if(active != this)
    active->PostMessage(WM_MY_MESSAGE,0,0);
    return 0;
}
銆銆鍦ㄥ叾瀹冪被涓悜涓嶅悓鐨勭被鍙戦佹秷鎭彲渚濇鏂規硶綾繪帹錛岃繖鏍鋒垜浠殑紼嬪簭灝卞彲浠ョ殑涓嶅彈闄愬埗鍚戝叾瀹冪被鍜岃繘紼嬪彂閫佹秷鎭紝鑰岄伩鍏嶄簡縐嶇鎰忔兂涓嶅埌鐨勯闄┿?br> 
銆愬疄渚嬨?
銆銆涓嬮潰涓涓緥瀛愮▼搴忎負澶氭枃妗g▼搴忛噷鍦ㄤ竴瀵硅瘽妗嗕腑鍚戣綾誨彂閫佹秷鎭?璇﹁堪浜嗗彂閫佽嚜瀹氫箟娑堟伅鐨勫叿浣撹繃紼嬨?br>銆銆瀹炵幇姝ラ錛?/p> 絎竴姝ワ細鍦╒C++涓柊寤哄伐紼婱essage錛屾墍鏈塁lassWizard姝ラ閫夐」鍧囦負緙虹渷,瀹屾垚銆?br>絎簩姝ワ細鍦ㄤ富鑿滃崟涓坊鍔犳祴璇曡彍鍗曚負璋冨嚭瀵硅瘽妗嗭紝鍦ㄦ鏋剁被涓緩绔嬬浉搴斿嚱鏁癘nTest().
絎笁姝ワ細鍦ㄨ祫婧愪腑寤虹珛瀵硅瘽妗嗭紝閫氳繃ClassWizard娣誨姞鏂扮被TestDialog,娣誨姞嫻嬭瘯鎸夐挳, 鍦ㄥ璇濇綾諱腑寤虹珛鐩稿簲鍑芥暟OnDialogTest()
//閫氳繃瀵硅瘽妗嗘寜閽彂閫佹秷鎭殑鍑芥暟
void TestDialog::OnDialogTest()
{
    CMDIFrameWnd *pFrame;
    CMDIChildWnd *pChild;
    CView *pView;
    //鑾峰彇涓葷獥鍙f寚閽?br>    pFrame =(CMDIFrameWnd*)AfxGetApp()->m_pMainWnd;
    // 鑾峰彇瀛愮獥鍙f寚閽?br>    pChild = (CMDIChildWnd *) pFrame->GetActiveFrame();
    //鑾峰彇瑙嗙被鎸囬拡
    pView = pChild->GetActiveView();
    if(pView != NULL)
    pView ->PostMessage(WM_MY_MESSAGE,0,0);//鍙戦佹秷鎭?br>}
銆銆鍦∕essage.h澶存枃浠朵腑娣誨姞濡備笅璇彞錛?br>static UINT WM_MY_MESSAGE=RegisterWindowMessage("Message");
絎洓姝?鍦ㄨ綾諱腑娣誨姞鑷畾涔夋秷鎭?
鍦ㄥご鏂囦歡MessageView.h涓坊鍔犳秷鎭槧灝?br>protected:
//{{AFX_MSG(CMessageView)
//}}AFX_MSG
afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam); //姝よ涓烘坊鍔犱唬鐮?br>DECLARE_MESSAGE_MAP()
鍦ㄨ綾繪枃浠禡essageView.cpp涓殑娑堟伅鏄犲皠涓坊鍔犺嚜瀹氫箟娑堟伅鏄犲皠
BEGIN_MESSAGE_MAP(CMessageView, CView)
//{{AFX_MSG_MAP(CMessageView)
//}}AFX_MSG_MAP
// Standard printing commands
ON_REGISTERED_MESSAGE(WM_MY_MESSAGE,OnMyMessage) //姝よ娣誨姞浠g爜瀹氫箟鍞竴娑堟伅
END_MESSAGE_MAP()
娣誨姞鐩稿簲鐨?娑堟伅澶勭悊鍑芥暟
LRESULT CMessageView::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
    CRect rect;
    GetClientRect(&rect);
    InvalidateRect(&rect);
    test=!test;
    return 0;
}
鍦∕essageView.h涓坊鍔犲竷灝斿彉閲?public:BOOL test;
鍦ㄨ綾繪瀯閫犲嚱鏁頒腑鍒濆鍖?test鍙橀噺:test=FALSE;
淇敼CMessageView::OnDraw()鍑芥暟
void CMessageView::OnDraw(CDC* pDC)
{
    CMessageDoc* pDoc = GetDocument();
    ASSERT_VALID(pDoc);
    // 浠ヤ笅紼嬪簭鏄劇ず娑堟伅鍝嶅簲鏁堟灉
    if(test)
    pDC->TextOut(0,0,"娑堟伅鍝嶅簲!");
}
絎簲姝ワ細鏄劇ず嫻嬭瘯瀵硅瘽妗?br>鍦∕ainFrame綾諱腑鍖呭惈瀵硅瘽妗嗗ご鏂囦歡錛?br>#include "TestDialog.h";
OnTest()鍑芥暟涓坊鍔犱唬鐮?br>void CMainFrame::OnTest()
{
    TestDialog dialog;
    dialog.DoModal();
}
榪愯紼嬪簭,鍦ㄦ祴璇曡彍鍗曟墦寮瀵硅瘽妗?鐐瑰嚮嫻嬭瘯鎸夐挳鍗沖彲鐪嬪埌緇撴灉

]]>
WM_CTLCOLOR娑堟伅鐨勭敤娉?/title><link>http://m.shnenglu.com/xbgs/archive/2006/06/23/8940.html</link><dc:creator>璁╁績椋炵繑</dc:creator><author>璁╁績椋炵繑</author><pubDate>Fri, 23 Jun 2006 15:21:00 GMT</pubDate><guid>http://m.shnenglu.com/xbgs/archive/2006/06/23/8940.html</guid><wfw:comment>http://m.shnenglu.com/xbgs/comments/8940.html</wfw:comment><comments>http://m.shnenglu.com/xbgs/archive/2006/06/23/8940.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://m.shnenglu.com/xbgs/comments/commentRss/8940.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/xbgs/services/trackbacks/8940.html</trackback:ping><description><![CDATA[ <div> <table align="center" border="0" cellpadding="2" cellspacing="0" width="775"> <tbody> <tr> <!--宸︿晶欏甸潰--> <td valign="top" width="574"> <div> <table align="center" border="0" cellpadding="2" cellspacing="0" width="775"> <tbody> <tr> <!--宸︿晶欏甸潰--> <td valign="top" width="574">寰堝浜洪兘瑙夊緱鑷繁鐨勭▼搴忕殑鐣岄潰涓嶉偅涔堢編瑙傦紝寰寰VC榛樿浜х敓鐨勫璇濇姣旇緝鍗曡皟錛屽洜姝ゅ緢澶氫漢寰寰鎵懼埌寰堝鍏跺畠鐨勬帶浠跺瀵硅瘽妗嗚繘琛岀編鍖栦慨楗幫紝渚嬪緇欓潤鎬佹帶浠惰緗瓧浣擄紝璁劇疆鑳屾櫙棰滆壊絳夌瓑錛?鍏跺疄榪欎簺瀹屽叏鍙互鐢盫C鑷繁鐨刉M_CTLCOLOR娑堟伅鏉ュ畬鎴愶紒 <p>WM_CTLCOLOR娑堟伅鐢ㄦ潵瀹屾垚瀵笶DIT銆丼TATIC銆丅UTTON絳夋帶浠惰緗儗鏅拰瀛椾綋棰滆壊錛屽叾鐢ㄦ硶濡備笅錛?/p><p>1.棣栧厛鍦ㄨ嚜宸遍渶瑕佽緗晫闈㈢殑瀵硅瘽妗嗕笂鐐瑰嚮鍙抽敭-->寤虹珛綾誨悜瀵?->鍔犲叆WM_CTLCOLOR娑堟伅-->鑷姩鐢熸垚OnCtlColor錛堬級鍑芥暟錛屾鍑芥暟鍙互瀵規湰瀵硅瘽妗嗙殑鎺т歡鐨勭晫闈㈠瑙傚仛淇グ錛岀敤娉曞涓嬶細<br />灝嗙被鍚戝浜х敓鐨勫嚱鏁板仛濡備笅淇敼錛?br /></p><pre style="font-size: 9pt; color: rgb(51, 102, 153); background-color: rgb(255, 255, 234);" cccc="" solid="" 瀹嬩綋?;border:1px="">HBRUSH CDialogColor::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) <br />{<br /> HBRUSH hbr = CDialog::OnCtlColor(pDC,pWnd, nCtlColor);<br /> // TODO: Change any attributes of theDC here<br /> //璁劇疆鏄劇ず瀛椾綋<br /> CFont * cFont=new CFont;<br /> cFont->CreateFont(16,0,0,0,FW_SEMIBOLD,FALSE,FALSE,0, <br /> ANSI_CHARSET,OUT_DEFAULT_PRECIS,<br /> CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,<br /> DEFAULT_PITCH&FF_SWISS,"Arial");<br /> //瀵圭壒瀹氱殑鎺т歡鍋氫慨鏀?br /> switch()<br /> {<br /> case CTLCOLOR_STATIC: //瀵規墍鏈夐潤鎬佹枃鏈帶浠剁殑璁劇疆<br /> {<br /> pDC->SetBkMode(TRANSPARENT); <br /> //璁劇疆鑳屾櫙涓洪忔槑<br /> pDC->SetTextColor(RGB(255,255,0)); //璁劇疆瀛椾綋棰滆壊<br /> pWnd->SetFont(cFont); //璁劇疆瀛椾綋<br /> HBRUSH B = CreateSolidBrush(RGB(125,125,255)); <br /> //鍒涘緩鐢誨埛<br /> return (HBRUSH) B; //榪斿洖鐢誨埛鍙ユ焺<br /> }<br /> case CTLCOLOR_EDIT: //瀵規墍鏈夌紪杈戞鐨勮緗?br /> {<br /> pDC->SetBkMode(TRANSPARENT); <br /> pDC->SetTextColor(RGB(255,255,0)); <br /> pWnd->SetFont(cFont); <br /> HBRUSH B = CreateSolidBrush(RGB(125,125,255)); <br /> return (HBRUSH) B; <br /> }<br /> default:<br /> return CDialog::OnCtlColor(pDC,pWnd, nCtlColor);<br /> }<br />}<br /></pre><br />娉細case鐨勭被鍒湁浠ヤ笅鍑犵錛?br />CTLCOLOR_BTN 鎸夐挳鎺т歡<br />CTLCOLOR_DLG 瀵硅瘽妗?br />CTLCOLOR_EDIT 緙栬緫妗?br />CTLCOLOR_LISTBOX 鍒楄〃妗?br />CTLCOLOR_MSGBOX 娑堟伅妗?br />CTLCOLOR_SCROLLBAR 婊氬姩鏉?br />CTLCOLOR_STATIC 闈欐佹枃鏈?<br /><br />2.浣犲彲鑳借寰楀鎵鏈夌殑鎺т歡浣跨敤緇熶竴鐨勭晫闈㈣緗寰椾笉鑷敱錛屽叾瀹濾C鍚屾牱鍙互瀵圭壒瀹氱殑ID鐨勬帶浠惰繘琛岃緗紝鏂規硶濡備笅錛? <pre style="font-size: 9pt; color: rgb(51, 102, 153); background-color: rgb(255, 255, 234);" cccc="" solid="" 瀹嬩綋?;border:1px=""><br /><br /> switch (pWnd->GetDlgCtrlID()) <br /> { <br /> //閽堝ID涓篒DC_CTL1銆両DC_CTL2鍜孖DC_CTL3鐨勬帶浠惰繘琛屽悓鏍風殑璁劇疆<br /> case IDC_CTL1:<br /> case IDC_CTL2:<br /> case IDC_CTL3: <br /> {<br /> pDC->SetBkMode(TRANSPARENT);<br /> pDC->SetTextColor(RGB(255,255, 0));<br /> pWnd->SetFont(cFont);<br /> HBRUSH B = CreateSolidBrush(RGB(125,125,255));<br /> return (HBRUSH) B;<br /> }<br /> default:<br /> return CDialog::OnCtlColor(pDC, pWnd, nCtlColor);<br /> } <br /></pre></td> </tr> </tbody> </table> </div> </td> </tr> </tbody> </table> </div> <img src ="http://m.shnenglu.com/xbgs/aggbug/8940.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/xbgs/" target="_blank">璁╁績椋炵繑</a> 2006-06-23 23:21 <a href="http://m.shnenglu.com/xbgs/archive/2006/06/23/8940.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>瀵硅瘽妗嗕腑鐩存帴鎵撳嵃涓斾繚璇佹墦鍗板唴瀹硅繛緇殑鏂規硶http://m.shnenglu.com/xbgs/archive/2006/06/23/8939.html璁╁績椋炵繑璁╁績椋炵繑Fri, 23 Jun 2006 15:18:00 GMThttp://m.shnenglu.com/xbgs/archive/2006/06/23/8939.htmlhttp://m.shnenglu.com/xbgs/comments/8939.htmlhttp://m.shnenglu.com/xbgs/archive/2006/06/23/8939.html#Feedback0http://m.shnenglu.com/xbgs/comments/commentRss/8939.htmlhttp://m.shnenglu.com/xbgs/services/trackbacks/8939.html聽聽聽 鍦ㄥ璇濇紼嬪簭鐨勬墦鍗板姛鑳戒腑錛屽鏋滀嬌鐢ㄩ拡寮忔墦鍗版満錛岄偅涔堜綘鍙兘甯屾湜榪炵畫鎵撳嵃鐨勫涓〃涓笉鎹㈤〉銆傛垜浠煡閬擄紝鍦ㄤ嬌鐢ㄦ墦鍗板姛鑳界殑鏃跺欙紝姣忓綋 dc.startpage()灝變細寮濮嬩竴欏電殑鎵撳嵃錛岃宒c.endpage()灝變細緇撴潫涓欏電殑鎵撳嵃錛岄偅涔堝浣曡兘浣垮涓猟c.startpage()涓? dc.endpage()涓嶆崲欏佃屽疄鐜拌繛緇墦鍗板憿錛屾柟娉曞涓嬶細 鍋囪鎴戜滑瑕佹墦鍗癿_nTotalNum涓〃錛屾瘡涓〃鏈塵琛岋紝閭d箞瑕佸疄鐜癿_nTotalNum涓〃榪炵畫鎵撳嵃涓嶆崲欏靛彲浠ュ涓嬪疄鐜幫細(鐢變簬鎵撳嵃鏈哄埗闂錛屽湪鎵撴弧涓寮犲悗鏄繀欏昏鎹㈤〉鐨勶紝鎴戜滑鐨勫仛娉曟槸鍦ㄦ崲欏電殑鍦版柟璁╃粰瀹冪暀鍑轟竴瀹氱殑絀虹櫧錛屼笉澶獎鍝嶈〃鐨勮繛緇?
/////////////涓誨嚱鏁?/strong>
void CDlgTest::PrintOneNum() 
{
CDC dc;
CPrintDialog printDlg(FALSE);
CPrintInfo Info;
printDlg.GetDefaults();
dc.Attach(printDlg.GetPrinterDC());
dc.m_bPrinting=TRUE;
CString strTitle;
strTitle.LoadString(AFX_IDS_APP_TITLE);
DOCINFO di;
::ZeroMemory(&di,sizeof(DOCINFO));
di.cbSize=sizeof(DOCINFO);
di.lpszDocName=strTitle;
if(dc.m_hDC)
{
BOOL bPrintingOk=dc.StartDoc(&di);
CPrintInfo Info;
m_nCurrentNum_WhenPrint=1; //褰撳墠琛ㄦ暟涓?,榪欎釜鐢ㄦ潵鎺у埗鎵撳嵃鐨勮〃鏁?/font>
int nPageTotalScale=0; //鍒濆鍖栦粠0寮濮?/font>
Info.m_nCurPage=1; //浠庣涓欏靛紑濮?/font>
dc.StartPage(); //寮濮嬫墦鍗伴〉
for(;;)
{
//鎵撳嵃瀹岄渶瑕佺殑琛ㄦ暟m_nTotalNum鍒欓鍑哄驚鐜?/font>
if(m_nCurrentNum_WhenPrint >m_nTotalNum) break;
else //鎵撳嵃涓寮犺〃
{
nPageTotalScale=OnPrintReport (&dc,&Info,nPageTotalScale, m_nCurrentNum_WhenPrint);
m_nCurrentNum_WhenPrint ++;
nPageTotalScale+=30; //鎵撳嵃涓嬩竴寮犺〃鐨勮璺濅粠錛?0寮濮?/font>
}
}
bPrintingOk=(dc.EndPage()>0); //緇撴潫涓欏?/font>
m_nCurrentNum_WhenPrint =0;
if(bPrintingOk)
dc.EndDoc();
else
dc.AbortDoc();
}
else
{
MessageBox("璇鋒鏌ユ墦鍗版満鏄惁榪炴帴瀹屽ソ錛?,"鎴戠殑紼?搴?,MB_ICONEXCLAMATION);
}
dc.Detach();
}

/////////////鎵撳嵃鍑芥暟
int CdlgTest::OnPrintReport(CDC *pDC, CPrintInfo *pInfo, 
int nXBasePointWhenPrint, int m_nCurrentNum_WhenPrint)
{
int nXCurrentPoint=nXBasePointWhenPrint; //榪涜琛屾帶鍒剁殑鍙橀噺
//--------鎹㈤〉---------
if(nXCurrentPoint+210> 2000) //210涓哄皢瑕佸崰鐢ㄧ殑闀垮害
{
pDC->EndPage();
pDC->StartPage();
nXCurrentPoint=0;
pInfo->m_nCurPage++;
}
nXCurrentPoint+=210;
pDC->TextOut(0,nXCurrentPoint,"鎴戠殑鎶ヨ〃鍐呭錛屼粠0錛?10鐨勮〃闀垮害 ");
//姣忓綋鎵撳嵃鐨勮緭鍑鴻鎹㈣鐨勬椂鍊欏氨瑕佸垽鏂璱f(nXCurrentPoint+灝嗚浣跨敤鐨勯珮搴?gt; 2000)2000涓鴻瀹氱殑涓寮犵焊鐨勯珮搴︺?濡傛灉澶т簬綰稿紶楂樺害灝辮鎹㈤〉銆傝繖鏍峰氨淇濊瘉鎵撳嵃鍐呭榪炵畫銆?/font>
return nXCurrentPoint; //鏈鍚庤繑鍥炴墦鍗板畬褰撳墠琛ㄦ椂褰撳墠鐨勯〉闈㈤珮搴︼紝
浠ヤ究涓嬩竴寮犺〃鎺ョ潃榪欎釜楂樺害鎵撳嵃

}


]]>
GridCtrl浣跨敤璇﹁Вhttp://m.shnenglu.com/xbgs/archive/2006/06/23/8936.html璁╁績椋炵繑璁╁績椋炵繑Fri, 23 Jun 2006 15:16:00 GMThttp://m.shnenglu.com/xbgs/archive/2006/06/23/8936.htmlhttp://m.shnenglu.com/xbgs/comments/8936.htmlhttp://m.shnenglu.com/xbgs/archive/2006/06/23/8936.html#Feedback12http://m.shnenglu.com/xbgs/comments/commentRss/8936.htmlhttp://m.shnenglu.com/xbgs/services/trackbacks/8936.html

鍦ㄥ崟鏂囨。涓殑浣跨敤鏂規硶
姝ラ涓銆鍒濆鍖?/font>

鍦–View綾葷殑.h澶存枃浠朵腑鍖呭惈鏂囦歡:
聽聽聽 #include "Gridctrl.h"

騫朵笖鎵嬪啓鍔犲叆濡備笅鐨勬垚鍛樺嚱鏁?
聽聽聽聽CGridCtrl * m_pGridCtrl;

姝ラ浜屻鏋勯犱笌鏋愭瀯

鏋勯犲嚱鏁頒腑:
聽聽聽m_pGridCtrl = NULL;
鏋愭瀯鍑芥暟涓?
聽聽聽if(m_pGridCtrl)
聽聽聽聽聽聽聽delete m_pGridCtrl;


姝ラ涓?濡傛灉闇瑕佹墦鍗板姛鑳界殑璇濇坊鍔犲悓鍚嶆墦鍗板嚱鏁頒唬鐮?/font>

鍦–View綾葷殑OnBeginPrinting()鍑芥暟涓坊鍔犲涓嬩唬鐮?
if(m_pGridCtrl)
聽聽聽聽m_pGridCtrl->OnBeginPrinting(pDC,pInfo);
//綆鍗曞惂,榪欏氨鏄被鐨勫ソ澶?br />
鍏跺畠涓や釜鎵撳嵃鍑芥暟涔熶竴鏍風殑鍋氭硶.

姝ラ鍥?鍦∣nInitaUpdate()鍑芥暟涓垨鑰呬綘鑷繁娣誨姞鐨勮鏄劇ずGrid鐨勬秷鎭嚱鏁頒腑濡備笅鍒濆鍖?

   //鍒涘緩闈炴ā寮忓璇濇
CDlg *dlg;
dlg=new CDlg();
dlg->Create(IDD_Dlg,this);

//鍒濆鍖朑ridCtrl鎺т歡
if(m_pGridCtrl!=NULL)
{
delete m_pGridCtrl;
m_pGridCtrl=NULL;
}
if (m_pGridCtrl == NULL)
{
// Create the Gridctrl object
m_pGridCtrl = new CGridCtrl;
if (!m_pGridCtrl) return 0;
// Create the Gridctrl window
CRect rect;
GetClientRect(rect);
m_pGridCtrl->Create(rect, this, 100);
// fill it up with stuff
m_pGridCtrl->SetEditable(false);
m_pGridCtrl->SetTextBkColor(RGB(0xFF, 0xFF, 0xE0)); //榛勮壊鑳屾櫙
m_pGridCtrl->EnableDragAndDrop(false);
try {
m_pGridCtrl->SetRowCount(k); //璁劇疆琛屾暟涓簁琛?br /> m_pGridCtrl->SetColumnCount(4); //k鍒?br /> m_pGridCtrl->SetFixedRowCount(1); //鏍囬琛屼負涓琛?br /> m_pGridCtrl->SetFixedColumnCount(1); //鍚屼笂
}
catch (CMemoryException* e)
{
e->ReportError();
e->Delete();
return 0;
}
//濉厖鍒楁爣棰?br /> int row=0;
for(int col=0;col<4;col++)
{
GV_ITEM Item;
Item.mask = GVIF_TEXT|GVIF_FORMAT;
Item.row = row;
Item.col = col;
if(col==0){
Item.nFormat = DT_CENTER|DT_WORDBREAK;
Item.strText.Format(_T("銆愮被鍒?),col);
}
else if(col==1){
Item.nFormat = DT_LEFT|DT_WORDBREAK;
Item.strText.Format(_T("絎竴鍒?),col);
}
else if(col==2){
Item.nFormat = DT_LEFT|DT_WORDBREAK;
Item.strText.Format(_T("絎簩鍒?),col);
}
m_pGridCtrl->SetItem(&Item);
}
// fill rows/cols with text
for (row = 1; row < k; row++)
for (col = 0; col < h; col++)
{
GV_ITEM Item;
Item.mask = GVIF_TEXT|GVIF_FORMAT;
Item.row = row;
Item.col = col;
if (col < 1) { //琛屾爣棰樺ご
Item.nFormat = DT_CENTER|DT_VCENTER
|DT_SINGLELINE|DT_END_ELLIPSIS
|DT_NOPREFIX;
Item.strText.Format(_T("%d"),row);
}
else if(col==1){ //絎竴鍒楃殑鍊?br /> Item.nFormat = DT_CENTER|DT_VCENTER
|DT_SINGLELINE|DT_END_ELLIPSIS
|DT_NOPREFIX;
str="aa";
Item.strText.Format(_T("%s"),str);
}else if(col==2){ //絎簩鍒楃鍊?br /> Item.nFormat = DT_CENTER|DT_VCENTER
|DT_SINGLELINE|DT_END_ELLIPSIS
|DT_NOPREFIX;
CString str;
str="bb";
Item.strText.Format(_T("%s"),str);
}
m_pGridCtrl->SetItem(&Item);
}
m_pGridCtrl->AutoSize();

//--------------璁劇疆琛屽垪璺?-----------------
for(int a=1;a<m;a++)
m_pGridCtrl->SetRowHeight(a,21); //璁劇疆鍚勮楂?br /> m_pGridCtrl->SetRowHeight(0,24); //璁劇疆0琛岄珮
m_pGridCtrl->SetColumnWidth(1,110); //璁劇疆2鍒楀
m_pGridCtrl->SetColumnWidth(2,160); //璁劇疆3鍒楀
m_pGridCtrl->SetColumnWidth(3,100); //璁劇疆4鍒楀
}
涓婁緥鍙栬嚜瀹為檯宸ョ▼,紼嶆湁淇敼!
閮ㄥ垎娉ㄩ噴:
void SetVirtualMode(TRUE)//璁句負铏氭ā寮?/font>
BOOL SetRowCount(int nRows) //璁劇疆鎬葷殑琛屾暟銆?/font>
BOOL SetFixedRowCount(int nFixedRows = 1)//璁劇疆鍥哄畾鐨勮鏁版嵁
BOOL SetColumnCount(int nCols) //璁劇疆鍒楁暟
BOOL SetFixedColumnCount(int nFixedCols = 1)//璁劇疆鍥哄畾鐨勫垪鏁?/font>


姝ラ浜? 娣誨姞WM_SIZE娑堟伅,璋冩暣鎺т歡鐨勭晫闈㈠崰灞忓箷澶у皬

聽聽if(m_pGridCtrl->GetSafeHWnd())
聽聽聽{
聽聽聽聽聽聽CRect rect;
聽聽聽聽聽GetClientRect(rect);
聽聽聽聽聽m_pGridCtrl->MoveWindow(rect);
聽聽聽}



鍦ㄥ璇濇涓殑浣跨敤鏂規硶

姝ラ涓銆鍒涘緩鏁版嵁鏄劇ず琛ㄦ牸瀵硅瘽妗?/font>

鍦ㄨ祫婧愮鐞嗗櫒涓柊鍒涘緩涓涓璇濇錛屽亣璁句負CDlgTestReportBox銆?浠庡伐鍏風涓姞鍏ustom Control錛屽氨鏄漢澶村儚鐨勯偅涓紝灝嗗叾鍖哄煙鎷変幾鑷寵鏄劇ず鏁版嵁琛ㄦ牸鐨勫ぇ灝忥紝鍏呮弧鏁翠釜瀵硅瘽妗嗐?/p>

鍦–DlgTestReportBox綾葷殑澶存枃浠朵腑錛?/p>

#include "GridCtrl.h"

鍐嶅畾涔夋垚鍛樺彉閲忥細

CGridCtrl* m_pGrid;

娣誨姞OnShowWindow()娑堟伅澶勭悊鍑芥暟濡備笅錛?/p>

void CDlgTestReportBox::OnShowWindow(BOOL bShow, UINT nStatus) 
{
CDialog::OnShowWindow(bShow, nStatus);
// TODO: Add your message handler code here
if(m_pGrid!=NULL)
{
delete m_pGrid;
m_pGrid=NULL;
}
if(m_pGrid==NULL)
{
m_pGrid=new CGridCtrl;
CRect rect;
GetDlgItem(IDC_ReportAera)->GetWindowRect(rect); //寰楀埌鏄劇ず鍖哄煙
ScreenToClient(&rect);
m_pGrid->Create(rect,this,100);
m_pGrid->SetEditable(false);
m_pGrid->SetTextBkColor(RGB(0xFF, 0xFF, 0xE0)); //榛勮壊鑳屾櫙
try
{
m_pGrid->SetRowCount(10); //鍒濆涓?0琛?br /> m_pGrid->SetColumnCount(11); //鍒濆鍖栦負11鍒?br /> m_pGrid->SetFixedRowCount(1); //琛ㄥご涓轟竴琛?br /> m_pGrid->SetFixedColumnCount(1); //琛ㄥご涓轟竴鍒?
}
catch (CMemoryException* e)
{
e->ReportError();
e->Delete();
// return FALSE;
}
for (int row = 0; row < m_pGrid->GetRowCount(); row++)
for (int col = 0; col < m_pGrid->GetColumnCount(); col++)
{
//璁劇疆琛ㄦ牸鏄劇ず灞炴?br /> GV_ITEM Item;
Item.mask = GVIF_TEXT|GVIF_FORMAT;
Item.row = row;
Item.col = col;
if(row==0&&col==0) //絎?0錛?)鏍?br /> {
Item.nFormat = DT_CENTER|DT_WORDBREAK;
Item.szText.Format(_T("鎶ヨ〃鏄劇ず"),col);
}
else if (row < 1) //璁劇疆0琛岃〃澶存樉紺?br /> {
Item.nFormat = DT_CENTER|DT_WORDBREAK;
Item.szText.Format(_T(" 欏圭洰%d"),col);
}
else if (col < 1) //璁劇疆0鍒楄〃澶存樉紺?br /> {
if(row< m_pGrid->GetRowCount()-4)
{
Item.nFormat = DT_CENTER|DT_VCENTER|DT_SINGLELINE|DT_END_ELLIPSIS;
Item.szText.Format(_T("絎?d嬈?),row);
}
}
else
{
Item.nFormat = DT_CENTER|DT_VCENTER|DT_SINGLELINE|DT_END_ELLIPSIS;
Item.szText.Format(_T(""),2);
}
m_pGrid->SetItem(&Item);
}
m_pGrid->Invalidate();
}
//--------------璁劇疆琛屽垪璺?-----------------
for(int a=0;aGetRowCount();a++)
m_pGrid->SetRowHeight(a,16); //璁劇疆鍚勮楂?
m_pGrid->SetColumnWidth(0,58); //璁劇疆0鍒楀
for(int b=1;bGetColumnCount();b++)
m_pGrid->SetColumnWidth(b,59); //璁劇疆鍚勫垪瀹?br />}

姝ラ浜屻宓屽叆涓婇潰鐨勫璇濇 鏄劇ず鏁版嵁

鍦ㄤ綘闇瑕佹樉紺烘暟鎹殑瀵硅瘽妗嗕笂鐨勫ご鏂囦歡涓紝鍋囪涓篊DlgTest錛屽姞鍏?/p>

#include "GridCtrl.h"

CDlgTestReportBox* m_pTestReportBox;

灝嗘暟鎹樉紺哄璇濇鏀懼叆浣犵殑瀵硅瘽妗嗙浉搴斾綅緗笂錛屽湪CDlgTest::OnInitDialog() 涓細

if(!m_pTestReportBox)
{
聽聽聽聽聽m_pTestReportBox=new CDlgTestReportBox(this);
}

m_pTestReportBox->Create(IDD_DlgTestReportBox,this);

//瀹氫箟鍖哄煙鍙橀噺
CRect rectDraw;
GetDlgItem(IDC_AeraReport)->GetWindowRect(rectDraw);
ScreenToClient(&rectDraw); //鍔ㄦ佹祴璇曟暟鎹樉紺哄尯鍩焤ectDraw

//灝嗗搴旂殑瀵硅瘽妗嗘斁鍒版寚瀹氬尯鍩?/font>
m_pTestReportBox->MoveWindow(rectDraw);
m_pTestReportBox->ShowWindow(SW_SHOW);

鑷畾涔夊~鍏呮暟鎹殑鍑芥暟錛欳DlgTest::FillGrid() 濡備笅錛?/p>

CGridCtrl* pGrid=m_pTestReportBox->m_pGrid;
for (int row = pGrid->GetRowCount()-1; row >= pGrid->GetRowCount()-3; row--)
{
for (int col = 1; col <= pGrid->GetColumnCount(); col++)
{
GV_ITEM Item;
Item.mask = GVIF_TEXT|GVIF_FORMAT;
Item.row = row;
Item.col = col;
if(row==pGrid->GetRowCount()-3&&col>0) //騫沖潎鍊?br /> {
if(col==10){
Item.nFormat = DT_CENTER|DT_WORDBREAK;
Item.szText.Format(_T(" %6.2f "),avjch);
}
else{
Item.nFormat = DT_CENTER|DT_WORDBREAK;
Item.szText.Format(_T(" %6.2f "),av[col-1]);
}
}
pGrid->SetItem(&Item); //鎻愪氦鏁版嵁
if(row==0||col==0)
{
COLORREF clr = RGB(0, 0, 0);
pGrid->SetItemBkColour(row, col, clr);
pGrid->SetItemFgColour(row, col, RGB(255,0,0));
}
}//寰幆緇撴潫
pGrid->Invalidate();
}
濂界瘡鍟?蹇欎簡涓澶╂椂闂寸粓浜庡啓瀹屼簡!




]]>
VC鐢ˋDO璁塊棶鏁版嵁搴撳叏鏀葷暐http://m.shnenglu.com/xbgs/archive/2006/06/23/8935.html璁╁績椋炵繑璁╁績椋炵繑Fri, 23 Jun 2006 15:14:00 GMThttp://m.shnenglu.com/xbgs/archive/2006/06/23/8935.htmlhttp://m.shnenglu.com/xbgs/comments/8935.htmlhttp://m.shnenglu.com/xbgs/archive/2006/06/23/8935.html#Feedback0http://m.shnenglu.com/xbgs/comments/commentRss/8935.htmlhttp://m.shnenglu.com/xbgs/services/trackbacks/8935.html涓銆丄DO姒傝堪
ADO鏄疢icrosoft涓烘渶鏂板拰鏈寮哄ぇ鐨勬暟鎹闂寖渚?OLE DB 鑰岃璁$殑錛屾槸涓涓究浜庝嬌鐢ㄧ殑搴旂敤紼嬪簭灞傛帴鍙c侫DO 浣挎偍鑳藉緙栧啓搴旂敤紼嬪簭浠ラ氳繃 OLE. DB 鎻愪緵鑰呰闂拰鎿嶄綔鏁版嵁搴撴湇鍔″櫒涓殑鏁版嵁銆侫DO 鏈涓昏鐨勪紭鐐規槸鏄撲簬浣跨敤銆侀熷害蹇佸唴瀛樻敮鍑哄皯鍜岀鐩橀仐榪瑰皬銆侫DO 鍦ㄥ叧閿殑搴旂敤鏂規涓嬌鐢ㄦ渶灝戠殑緗戠粶嫻侀噺錛屽茍涓斿湪鍓嶇鍜屾暟鎹簮涔嬮棿浣跨敤鏈灝戠殑灞傛暟錛屾墍鏈夎繖浜涢兘鏄負浜嗘彁渚涜交閲忋侀珮鎬ц兘鐨勬帴鍙c備箣鎵浠ョО涓? ADO錛屾槸鐢ㄤ簡涓涓瘮杈冪啛鎮夌殑鏆楀柣錛孫LE 鑷姩鍖栨帴鍙c?/div>
OLE DB鏄竴緇勨濈粍浠跺璞℃ā鍨嬧?COM) 鎺ュ彛錛屾槸鏂扮殑鏁版嵁搴撲綆灞傛帴鍙o紝瀹冨皝瑁呬簡ODBC鐨勫姛鑳斤紝騫朵互緇熶竴鐨勬柟寮忚闂瓨鍌ㄥ湪涓嶅悓淇℃伅婧愪腑鐨勬暟鎹侽LE DB鏄疢icrosoft UDA(Universal Data Access)絳栫暐鐨勬妧鏈熀紜銆侽LE DB 涓轟換浣曟暟鎹簮鎻愪緵浜嗛珮鎬ц兘鐨勮闂紝榪欎簺鏁版嵁婧愬寘鎷叧緋誨拰闈炲叧緋繪暟鎹簱銆佺數瀛愰偖浠跺拰鏂囦歡緋葷粺銆佹枃鏈拰鍥懼艦銆佽嚜瀹氫箟涓氬姟瀵硅薄絳夌瓑銆備篃灝辨槸璇達紝OLE DB 騫朵笉灞闄愪簬 ISAM銆丣et 鐢氳嚦鍏崇郴鏁版嵁婧愶紝瀹冭兘澶熷鐞嗕換浣曠被鍨嬬殑鏁版嵁錛岃屼笉鑰冭檻瀹冧滑鐨勬牸寮忓拰瀛樺偍鏂規硶銆傚湪瀹為檯搴旂敤涓紝榪欑澶氭牱鎬ф剰鍛崇潃鍙互璁塊棶椹葷暀鍦?Excel 鐢靛瓙鏁版嵁琛ㄣ佹枃鏈枃浠躲佺數瀛愰偖浠?鐩綍鏈嶅姟鐢氳嚦閭歡鏈嶅姟鍣紝璇稿 Microsoft Exchange 涓殑鏁版嵁銆備絾鏄紝OLE DB 搴旂敤紼嬪簭緙栫▼鎺ュ彛鐨勭洰鐨勬槸涓哄悇縐嶅簲鐢ㄧ▼搴忔彁渚涙渶浣崇殑鍔熻兘錛屽畠騫朵笉絎﹀悎綆鍗曞寲鐨勮姹傘傛偍闇瑕佺殑API 搴旇鏄竴搴ц繛鎺ュ簲鐢ㄧ▼搴忓拰OLE DB 鐨勬ˉ姊侊紝榪欏氨鏄?ActiveX Data Objects (ADO)銆?
浜屻佸湪VC涓嬌鐢ˋDO(寮鍙戞楠ゅソ涓嬶細)
1銆佸紩鍏DO搴撴枃浠?
浣跨敤ADO鍓嶅繀欏誨湪宸ョ▼鐨剆tdafx.h澶存枃浠墮噷鐢ㄧ洿鎺ュ紩鍏ョ鍙?import寮曞叆ADO搴撴枃浠?浠ヤ嬌緙栬瘧鍣ㄨ兘姝g‘緙栬瘧銆備唬鐮佸涓嬫墍紺猴細
鐢?import寮曞叆ADO搴撴枃浠?/div>
#import "c:\program files\common files\system\ado\msado15.dll"no_namespaces rename("EOF" adoEOF")
榪欒璇彞澹版槑鍦ㄥ伐紼嬩腑浣跨敤ADO錛屼絾涓嶄嬌鐢ˋDO鐨勫悕瀛楃┖闂達紝騫朵笖涓轟簡閬垮厤甯告暟鍐茬獊錛屽皢甯告暟EOF鏀瑰悕涓篴doEOF銆傜幇鍦ㄤ笉闇娣誨姞鍙﹀鐨勫ご鏂囦歡錛屽氨鍙互浣跨敤ADO鎺ュ彛浜嗐?
2銆佸垵濮嬪寲OLE/COM搴撶幆澧?br />蹇呴』娉ㄦ剰鐨勬槸錛孉DO搴撴槸涓緇凜OM鍔ㄦ佸簱錛岃繖鎰忓懗搴旂敤紼嬪簭鍦ㄨ皟鐢ˋDO鍓嶏紝蹇呴』鍒濆鍖朞LE/COM搴撶幆澧冦傚湪MFC搴旂敤紼嬪簭閲岋紝涓涓瘮杈冨ソ鐨勬柟娉曟槸鍦ㄥ簲鐢ㄧ▼搴忎富綾葷殑InitInstance鎴愬憳鍑芥暟閲屽垵濮嬪寲OLE/COM搴撶幆澧冦?/div>
BOOL CMyAdoTestApp錛氾細InitInstance()
{
if(!AfxOleInit())//榪欏氨鏄垵濮嬪寲COM搴?br />{
AfxMessageBox(鈥淥LE鍒濆鍖栧嚭閿?鈥?;
return FALSE;
}
鈥︹?
}
3銆丄DO鎺ュ彛綆浠?
ADO搴撳寘鍚笁涓熀鏈帴鍙?_ConnectionPtr鎺ュ彛銆乢CommandPtr鎺ュ彛鍜宊RecordsetPtr鎺ュ彛銆?br />_ConnectionPtr 鎺ュ彛榪斿洖涓涓褰曢泦鎴栦竴涓┖鎸囬拡銆傞氬父浣跨敤瀹冩潵鍒涘緩涓涓暟鎹繛鎺ユ垨鎵ц涓鏉′笉榪斿洖浠諱綍緇撴灉鐨凷QL璇彞錛屽涓涓瓨鍌ㄨ繃紼嬨備嬌鐢? _ConnectionPtr鎺ュ彛榪斿洖涓涓褰曢泦涓嶆槸涓涓ソ鐨勪嬌鐢ㄦ柟娉曘傚浜庤榪斿洖璁板綍鐨勬搷浣滈氬父鐢╛RecordserPtr鏉ュ疄鐜般傝岀敤 _ConnectionPtr鎿嶄綔鏃惰鎯沖緱鍒拌褰曟潯鏁板緱閬嶅巻鎵鏈夎褰曪紝鑰岀敤_RecordserPtr鏃朵笉闇瑕併?
_CommandPtr 鎺ュ彛榪斿洖涓涓褰曢泦銆傚畠鎻愪緵浜嗕竴縐嶇畝鍗曠殑鏂規硶鏉ユ墽琛岃繑鍥炶褰曢泦鐨勫瓨鍌ㄨ繃紼嬪拰SQL璇彞銆傚湪浣跨敤_CommandPtr鎺ュ彛鏃訛紝浣犲彲浠ュ埄鐢ㄥ叏灞 _ConnectionPtr鎺ュ彛錛屼篃鍙互鍦╛CommandPtr鎺ュ彛閲岀洿鎺ヤ嬌鐢ㄨ繛鎺ヤ覆銆傚鏋滀綘鍙墽琛屼竴嬈℃垨鍑犳鏁版嵁璁塊棶鎿嶄綔錛屽悗鑰呮槸姣旇緝濂界殑閫夋嫨銆備絾 濡傛灉浣犺棰戠箒璁塊棶鏁版嵁搴擄紝騫惰榪斿洖寰堝璁板綍闆嗭紝閭d箞錛屼綘搴旇浣跨敤鍏ㄥ眬_ConnectionPtr鎺ュ彛鍒涘緩涓涓暟鎹繛鎺ワ紝鐒跺悗浣跨敤_CommandPtr 鎺ュ彛鎵ц瀛樺偍榪囩▼鍜孲QL璇彞銆?
_RecordsetPtr鏄竴涓褰曢泦瀵硅薄銆備笌浠ヤ笂涓ょ瀵硅薄鐩告瘮錛屽畠瀵硅褰曢泦鎻愪緵浜嗘洿澶氱殑鎺у埗鍔熻兘錛屽璁板綍閿佸畾錛屾父鏍囨帶鍒剁瓑銆傚悓 _CommandPtr鎺ュ彛涓鏍鳳紝瀹冧笉涓瀹氳浣跨敤涓涓凡緇忓垱寤虹殑鏁版嵁榪炴帴錛屽彲浠ョ敤涓涓繛鎺ヤ覆浠f浛榪炴帴鎸囬拡璧嬬粰 _RecordsetPtr鐨刢onnection鎴愬憳鍙橀噺錛岃瀹冭嚜宸卞垱寤烘暟鎹繛鎺ャ傚鏋滀綘瑕佷嬌鐢ㄥ涓褰曢泦錛屾渶濂界殑鏂規硶鏄悓Command瀵硅薄涓鏍蜂嬌鐢? 宸茬粡鍒涘緩浜嗘暟鎹繛鎺ョ殑鍏ㄥ眬_ConnectionPtr鎺ュ彛
錛岀劧鍚庝嬌鐢╛RecordsetPtr鎵ц瀛樺偍榪囩▼鍜孲QL璇彞銆傘
4銆佷嬌鐢╛ConnectionPtr鎺ュ彛
_ConnectionPtr涓昏鏄竴涓繛鎺ユ帴鍙o紝鍙栧緱涓庢暟鎹簱鐨勮繛鎺ャ傚畠鐨勮繛鎺ュ瓧絎︿覆鍙互鏄嚜宸辯洿鎺ュ啓錛屼篃鍙互鎸囧悜涓涓狾DBC銆DSN銆?/div>
_ConnectionPtr pConn;
if (FAILED(pConn.CreateInstance("ADODB.Connection")))
{
AfxMessageBox("Create Instance failed!");
return;
}

CString strSRC;
strSRC="Driver=SQL Server;Server=";
strSRC+="suppersoft";
strSRC+=";Database=";
strSRC+="mydb";
strSRC+=";UID=SA;PWD=";
CString strSQL = "Insert into student(no,name,sex,address) values(3,'aaa','male','beijing')";
_variant_t varSRC(strSRC);
_variant_t varSQL(strSQL);
_bstr_t bstrSRC(strSRC);
if (FAILED(pConn->Open(bstrSRC,"","",-1)))
{
AfxMessageBox("Can not open Database!");
pConn.Release();
return;
}
COleVariant vtOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR);
pConn->Execute(_bstr_t(strSQL),&vtOptional,-1);
pConn.Release();
AfxMessageBox("ok!");
5銆佷嬌鐢╛RecordsetPtr鎺ュ彛(浠ヨ繛鎺QL Server涓轟緥)

_RecordsetPtr pPtr;
if (FAILED(pPtr.CreateInstance("ADODB.Recordset")))
{
AfxMessageBox("Create Instance failed!");
return FALSE;
}
CString strSRC;
strSRC="Driver=SQL Server;Server=";
strSRC+="210.46.141.145";
strSRC+=";Database=";
strSRC+="mydb";
strSRC+=";UID=sa;PWD=";
strSRC+="sa";
CString strSQL = "select id,name,gender,address from personal";
_variant_t varSRC(strSRC);
_variant_t varSQL(strSQL);
if(FAILED(pPtr->Open(varSQL,varSRC,adOpenStatic,adLockOptimistic,adCmdText)))
{
AfxMessageBox("Open table failed!");
pPtr.Release();
return FALSE;
}
while(!pPtr->GetadoEOF())
{
_variant_t varNo;
_variant_t varName;
_variant_t varSex;
_variant_t varAddress;
varNo = pPtr->GetCollect ("id");
varName = pPtr->GetCollect ("name");
varSex = pPtr->GetCollect ("gender");
varAddress = pPtr->GetCollect ("address");
CString strNo =(char *)_bstr_t(varNo);
CString strName =(char *)_bstr_t(varName);
CString strSex =(char *)_bstr_t(varSex);
CString strAddress =(char *)_bstr_t(varAddress);
strNo.TrimRight();
strName.TrimRight();
strSex.TrimRight();
strAddress.TrimRight();
int nCount = m_list.GetItemCount();
int nItem = m_list.InsertItem (nCount,_T(""));
m_list.SetItemText (nItem,0,strNo);
m_list.SetItemText (nItem,1,strName);
m_list.SetItemText (nItem,2,strSex);
m_list.SetItemText (nItem,3,strAddress);
pPtr->MoveNext();
}
pPtr->Close();
pPtr.Release();
6銆佷嬌鐢╛CommandPtr鎺ュ彛
_CommandPtr鎺ュ彛榪斿洖涓涓猂ecordset瀵硅薄錛屽茍涓旀彁渚涗簡鏇村鐨勮褰曢泦鎺у埗鍔熻兘錛屼互涓嬩唬鐮佺ず渚嬩簡浣跨敤_CommandPtr鎺ュ彛鐨勬柟娉曪細
浠g爜11:浣跨敤_CommandPtr鎺ュ彛鑾峰彇鏁版嵁
_CommandPtr pCommand;
_RecordsetPtr pRs;
pCommand.CreateInstance(__uuidof(Command));
pCommand->ActiveConnection=pConn;
pCommand->CommandText="select * from student";
pCommand->CommandType=adCmdText;
pCommand->Parameters->Refresh();
pRs=pCommand->Execute(NULL,NULL,adCmdUnknown);
_variant_t varValue = pRs->GetCollect("name");
Cstring strValue=(char*)_bstr_t(varValue);
7銆佸叧浜庢暟鎹被鍨嬭漿鎹㈢敱浜嶤OM瀵硅薄鏄法騫沖彴鐨勶紝瀹冧嬌鐢ㄤ簡涓縐嶉氱敤鐨勬柟娉曟潵澶勭悊鍚勭綾誨瀷鐨勬暟鎹紝
鍥犳Cstring 綾誨拰COM瀵硅薄鏄笉鍏煎鐨勶紝鎴戜滑闇瑕佷竴緇凙PI鏉ヨ漿鎹OM瀵硅薄鍜孋++綾誨瀷鐨勬暟鎹俖vatiant_t鍜宊bstr_t灝辨槸榪欐牱涓ょ瀵硅薄銆傚畠浠彁渚涗簡閫氱敤鐨勬柟娉曡漿鎹OM瀵硅薄鍜孋++綾誨瀷鐨勬暟鎹?/div>

]]>Forms2.0緋誨垪鐨勬帶浠舵棤娉曞湪鏈畨瑁匫FFICE鐨勬満鍣ㄤ笂榪愯http://m.shnenglu.com/xbgs/archive/2006/06/23/8934.html璁╁績椋炵繑璁╁績椋炵繑Fri, 23 Jun 2006 15:11:00 GMThttp://m.shnenglu.com/xbgs/archive/2006/06/23/8934.htmlhttp://m.shnenglu.com/xbgs/comments/8934.htmlhttp://m.shnenglu.com/xbgs/archive/2006/06/23/8934.html#Feedback0http://m.shnenglu.com/xbgs/comments/commentRss/8934.htmlhttp://m.shnenglu.com/xbgs/services/trackbacks/8934.html聽聽聽 Forms2.0緋誨垪鐨勬帶浠訛紝濡? Microsoft forms 2.0 label 錛?/font>Microsoft forms 2.0 commandbutton絳?鍏朵緷璧栫殑鍔ㄦ侀摼鎺ュ簱涓?font color="#660099">Fm20.dlls銆傚湪浣跨敤榪囩▼涓垜鍙戠幇錛屽鏋?/font>鍦ㄥ彂甯冭蔣浠剁殑鏃跺欙紝鐢ㄦ埛鐨勫鎴鋒満涓婃病鏈夊畨瑁厀ord鐨勮瘽錛岀▼搴忓氨涓嶈兘榪愯(铏界劧紼嬪簭榪愯浜嗭紝浣嗘槸鐪嬩笉鍒扮晫闈㈠嚭鐜?銆?鍚庢潵鍦ㄧ綉涓婃悳绱簡寰堝璧勬枡錛岀粓浜庢壘鍒頒簡闂鐨勫叧閿紝鍦ㄥ井杞綉绔欎笂鎵懼埌鍏充簬榪欎釜闂鐨勮В閲婁負錛?Fm20.dlls 涓嶆槸鍙互閲嶅垎閰嶇殑錛屼綘蹇呴』瀹夎涓涓薄OFFICE97閭f牱鐨勭郴緇熷湪浣犵殑鐩爣瀹㈡埛鏈轟笂浣滀負浣犺蔣浠跺垎鍙戠殑涓閮ㄥ垎銆?濡傛灉涓嶅畨瑁匨icrosoft Office 97閭f牱鐨勭郴緇熺殑璇濓紝鍗充嬌浣犱嬌鐢╮egsvr32娉ㄥ唽閮芥病鏈変綔鐢?/font>(鎴戠炕璇戠殑,鏈夌偣涓嶉氶『鍝_^)銆?/font>
聽聽聽 鏈緇堢殑瑙e喅鍔炴硶灝辨槸錛屽仛涓篗icrosoft Office 97鐨勬浛浠o紝浣犲彲浠ュ厤璐逛笅杞藉拰瀹夎Microsoft ActiveX Control Pad. 瀹夎瀹屾瘯錛屽鎴鋒満涓婂氨鍙互鏃犻渶瀹夎office鑰屼嬌鐢ㄤ綘鐨勭▼搴忎簡銆俒闇瑕佺殑璇風暀涓媏mail,鎴戜細鍙戠粰浣犵殑]


]]>CTypedPtrMap妯℃澘鎸囬拡綾葷殑鐢ㄦ硶http://m.shnenglu.com/xbgs/archive/2006/06/23/8933.html璁╁績椋炵繑璁╁績椋炵繑Fri, 23 Jun 2006 15:07:00 GMThttp://m.shnenglu.com/xbgs/archive/2006/06/23/8933.htmlhttp://m.shnenglu.com/xbgs/comments/8933.htmlhttp://m.shnenglu.com/xbgs/archive/2006/06/23/8933.html#Feedback0http://m.shnenglu.com/xbgs/comments/commentRss/8933.htmlhttp://m.shnenglu.com/xbgs/services/trackbacks/8933.html涓嬮潰鏄垜鍦ㄧ紪紼嬩腑榪愮敤CTypedPtrMap鎸囬拡妯℃澘綾葷殑鏂規硶錛屽叾瀛樺偍緇撴瀯鍗犵敤鐗╃悊絀洪棿灝忥紝姣斿崟綰殑鐢ㄦ暟緇勭粨鏋勫瓨鍌ㄧ殑鏂囦歡灝嗗皬寰堝錛屾墍浠ユ槸涓縐嶉潪甯告帹鑽愮殑瀛樺偍鍙婅鍙栨枃浠剁殑鏂規硶銆?/p>

浣犲繀欏誨湪stdafx.h鏂囦歡涓?鍖呭惈聽 #include <afxtempl.h>聽聽聽 // MFC templates
鍦ㄥご鏂囦歡涓寘鍚?#include <io.h>

鍏朵腑 CBank.h鏂囦歡濡備笅錛?br />

class CBank : public CObject聽 
{
DECLARE_SERIAL(CBank)聽聽 //澹版槑搴忓垪鍖栧瓨鍌?br />public:
聽聽聽 聽聽 CBank();
聽聽聽聽聽聽 CBank(CString str){ m_bankname = str; }
聽聽聽聽聽聽 CBank(const CBank &b){ m_bankname= b.m_bankname;} //鎷瘋礉鏋勯犲嚱鏁?br />聽聽聽聽聽 聽 virtual ~CBank();
private:
聽聽聽聽聽聽 CString聽 m_bankname;
public:
聽聽聽 virtual void Serialize(CArchive& ar);
};

typedef CTypedPtrMap<CMapStringToOb,

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 CString,

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 CBank*>CBanktmp;聽 //榪欎釜鎵嶆槸鎴戜滑鏍規嵁姝ょ被鐢熸垚鐨勭被鍨?/p>

瀹冪殑瀹炵幇鏂囦歡.cpp濡備笅錛?br />

IMPLEMENT_SERIAL(CBank, CObject, 1)聽聽 //瀹炵幇搴忓垪鍖栧瓨鍌?br />CBank::CBank()
{
聽 聽 m_bankname="";
}
CBank::~CBank()
{

}
void CBank::Serialize(CArchive& ar)
{
聽聽聽 if (ar.IsLoading())
聽聽聽 {
聽聽聽聽聽聽聽 ar >> m_bankname;
聽聽聽 }
聽聽聽 else
聽聽聽 {
聽聽聽聽聽聽聽 ar << m_bankname;
聽聽聽 }
}

/*----------------------------------------------------
浠庢枃浠朵腑璇誨彇鍙傛暟錛?br />娉ㄦ剰錛?鍏朵腑鐨刴_map鏄繖鏍峰畾涔夌殑錛?font color="#0000ff">CBanktmp聽 m_map;

-------------------------------------------------*/

void CDlgBankIn::LoadBankName()
{
聽聽聽聽聽聽 UINT聽 nFlags = CFile::typeBinary |CFile::modeReadWrite;
聽聽聽聽聽聽 if(_access(_T("BankName.dat"),0))
聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽聽聽聽聽聽 nFlags |= CFile::modeCreate;
聽聽聽聽聽聽 }
聽聽聽聽聽聽 CFile file;
聽聽聽聽聽聽 CFileException fe;
聽聽聽聽聽聽 if (file.Open(_T("BankName.dat"),nFlags, &fe))
聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽聽聽 if(file.GetLength()==0)聽聽 //濡傛灉鏂囦歡涓虹┖鍒欎笉榪涜璇誨彇鎿嶄綔
聽聽聽聽 聽聽聽聽聽 {
聽聽聽聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽聽聽聽 else
聽聽聽聽聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 CArchive ar(&file, CArchive::load);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 m_map.Serialize(ar);聽聽 //璇誨彇鏂囦歡
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 //鏍規嵁鏂囦歡鍐呭濉厖鍒楄〃妗?br />聽聽聽聽 聽聽聽聽聽聽聽聽聽聽 POSITION聽聽 pos;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 CString聽聽聽 strKey;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 CBank聽聽 *pB=NULL;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 for( pos = m_map.GetStartPosition(); pos != NULL; )
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 m_map.GetNextAssoc(pos,strKey,(CBank*)pB);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 m_CmbBank.AddString(strKey);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 delete聽 pB;
聽聽聽聽聽聽聽聽聽聽聽聽聽 }
聽聽聽聽聽聽 }
聽聽聽聽聽聽 file.Close();
}

/*-------------------------------------------------
鍔熻兘: 鍏堟墦寮鏂囦歡,鐒跺悗鏌ユ壘鏂囦歡涓槸鍚︽湁涓庣紪杈戞鍏抽敭瀛楃浉鍚岀殑鍐呭,
聽聽聽 聽聽 濡傛灉鏈夌浉鍚屽唴瀹瑰垯涓嶆坊鍔?濡傛灉娌℃湁鐩稿悓鍐呭鍒欏啓鏂囦歡.
------------------------------------- ------------*/

void CDlgBankList::OnBtnAdd() 
{
聽聽聽聽聽聽 // TODO: Add your control notification handler code here
聽聽聽聽聽聽 CString聽 strKey;
聽聽聽聽聽聽 GetDlgItemText(IDC_EDITBank,strKey);
聽聽聽聽聽聽 if (0 != strKey.GetLength())
聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽聽 CBank聽 *pB;
聽聽聽聽聽聽聽聽聽 //鎵撳紑鏂囦歡
聽聽聽聽聽 聽聽 UINT聽 nFlags = CFile::typeBinary |CFile::modeRead;
聽聽聽聽聽聽聽聽聽 CFile file;
聽聽聽聽聽聽聽聽聽 CFileException fe;
聽聽聽聽聽聽聽聽聽 if (file.Open(_T("BankName.dat"),nFlags, &fe))
聽聽聽聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 if(file.GetLength()==0)聽 //濡傛灉鏂囦歡涓虹┖鍒欎笉榪涜搴忓垪鍖栨搷浣?br />聽聽聽聽 聽聽聽聽聽聽聽聽聽聽聽 {

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 else
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 CArchive ar(&file, CArchive::load);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 m_map.Serialize(ar);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 //鍒嗘瀽鏂囦歡騫剁粰鏂囦歡娣誨姞緙栬緫妗嗙殑鍐呭
聽聽聽聽 聽聽聽聽聽聽聽聽聽聽 if(!m_map.Lookup(strKey,(CBank*)pB))聽 //褰撲笉瀛樺湪鏃舵墠闇瑕佹坊鍔?br />聽聽聽聽聽 聽聽聽聽聽聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 if (CB_ERR != m_ListBox.AddString(strKey))
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 m_map.SetAt(strKey, new CBank(strKey));聽 //緇欏叧閿瓧strKey璧嬪?br />聽聽聽聽 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽聽聽 }
聽聽聽聽聽聽 file.Close();

聽聽聽聽聽聽 //瀛樺偍鏂囦歡
聽聽聽聽 nFlags = CFile::typeBinary |CFile::modeWrite;
聽聽聽聽聽聽 if (file.Open(_T("BankName.dat"),nFlags, &fe))
聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽聽聽聽 CArchive ar(&file, CArchive::store);
聽聽聽聽聽聽聽聽聽聽聽 m_map.Serialize(ar);聽聽 //搴忓垪鍖栧瓨鍌?br />聽聽聽聽 }
聽聽聽 }
}

/*-------------------------------------------------
鍔熻兘: 鍏堟墦寮鏂囦歡,鐒跺悗鏌ユ壘鏂囦歡涓殑鍏抽敭瀛?
聽聽聽聽鎵懼埌鍚庡垯鍒犻櫎姝ゅ叧閿瓧, 浣嗘槸娉ㄦ剰鍏抽敭瀛楀搴旂殑鍐呭浠嶇劧娌℃湁鍒犻櫎錛岃繖鐐規湡寰呮敼榪?
-------------------------------------------------*/

void CDlgBankList::OnBtnDel() 
{
聽聽聽聽聽聽 // TODO: Add your control notification handler code here
聽聽聽聽聽聽 int iIndex;聽聽聽聽聽聽
聽聽聽聽聽聽 CString聽 strKey;
聽聽聽聽聽聽 if(LB_ERR!=m_ListBox.GetCurSel())
聽聽聽聽聽聽 {
聽聽聽聽聽聽聽 //鎵撳紑鏂囦歡
聽聽聽聽聽& nbsp;聽聽聽聽 UINT聽 nFlags = CFile::typeBinary |CFile::modeRead;
聽聽聽聽聽聽聽聽聽聽 CFile file;
聽聽聽聽聽聽聽聽聽聽 CFileException fe;
聽聽聽聽聽聽聽聽聽聽 if (file.Open(_T("BankName.dat"),nFlags, &fe))
聽聽聽聽聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽聽聽聽聽聽 CArchive ar(&file, CArchive::load);
聽聽聽聽聽聽聽聽聽聽聽聽聽 m_map.Serialize(ar);聽
聽聽聽聽聽聽聽聽聽聽聽聽聽 iIndex=m_ListBox.GetCurSel();
聽聽聽聽聽聽聽聽聽聽聽聽聽 m_ListBox.GetText(iIndex,strKey);
聽聽聽聽聽聽聽聽聽聽聽聽聽 m_ListBox.DeleteString(iIndex);
聽聽聽聽聽聽聽聽聽聽聽聽聽 //鍒嗘瀽鏂囦歡騫剁粰鏂囦歡娣誨姞緙栬緫妗嗙殑鍐呭
聽聽聽聽 聽聽聽聽聽聽聽聽聽 CBank聽 *pB=NULL;
聽聽聽聽聽聽聽聽聽聽聽聽聽 if(m_map.Lookup(strKey,(CBank*)pB))
聽聽聽聽聽聽聽聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 m_map.RemoveKey(strKey);聽聽 //鍒犻櫎鍏抽敭瀛?浣嗘病鏈夊垹闄ゅ叧閿瓧瀵瑰簲鐨勫唴瀹?br />聽聽聽聽 聽聽聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽聽聽聽聽 file.Close();
聽聽聽聽聽聽聽聽聽聽聽 //瀛樺偍鏂囦歡
聽聽聽聽聽 聽聽聽聽 nFlags = CFile::typeBinary |CFile::modeWrite;
聽聽聽聽聽聽聽聽聽聽 if (file.Open(_T("BankName.dat"),nFlags, &fe))
聽聽聽聽聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 CArchive ar(&file, CArchive::store);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 m_map.Serialize(ar);聽聽 //搴忓垪鍖栧瓨鍌?br />聽聽聽聽聽 聽聽聽聽 }
聽聽聽聽聽聽 }
}



]]> 青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              国产精品日韩| 亚洲一区二区三区中文字幕| 欧美国产日韩在线| 欧美在线观看网址综合| 国产毛片一区二区| 久久精品99国产精品酒店日本| 亚洲国产精品小视频| 久久久www免费人成黑人精品| 一区视频在线播放| 亚洲区国产区| 国产综合第一页| 亚洲国产日韩在线一区模特| 欧美大片在线观看一区| 午夜精品在线观看| 欧美国产精品v| 欧美一区二区三区在| 欧美日韩大陆在线| 欧美jizz19性欧美| 国产视频不卡| 国产精品99久久久久久www| 91久久国产综合久久91精品网站| 日韩午夜在线视频| 亚洲人妖在线| 久久精品国产77777蜜臀| 亚洲天堂av在线免费观看| 久久青草久久| 久久久蜜桃一区二区人| 国产嫩草影院久久久久 | 国产日韩专区| 一区二区欧美日韩| 亚洲性视频网址| 欧美日韩国产不卡在线看| 欧美日韩妖精视频| 99re6热在线精品视频播放速度| 亚洲国产精品一区二区第四页av| 久久免费黄色| 欧美大片在线影院| 在线视频一区观看| 国产精品黄色| 久久精品综合一区| 欧美粗暴jizz性欧美20| 亚洲人体大胆视频| 国产精品成人午夜| 久久亚洲精选| 日韩一区二区精品| 久久综合给合| 亚洲精品一区中文| 欧美日韩综合视频| 午夜久久久久久久久久一区二区| 欧美在线中文字幕| 99亚洲一区二区| 国产亚洲一区二区在线观看| 欧美高清视频免费观看| av成人国产| 亚洲国产精品成人综合色在线婷婷| 亚洲美女网站| 伊大人香蕉综合8在线视| 欧美日韩国产限制| 蜜臀久久99精品久久久画质超高清 | 欧美影院在线播放| 亚洲国产免费看| 国产精品对白刺激久久久| 久久亚洲私人国产精品va| 亚洲永久精品国产| 亚洲精品影院在线观看| 久久精品在这里| 午夜免费电影一区在线观看| 99精品国产在热久久婷婷| 亚洲精品国产精品国自产观看浪潮| 夜夜嗨av一区二区三区中文字幕| 免费观看久久久4p| 麻豆精品传媒视频| 美女成人午夜| 久久精品论坛| 久久综合网络一区二区| 最新精品在线| 99热在线精品观看| 一区二区三区视频观看| 一本大道久久a久久精二百| 亚洲人成网站精品片在线观看 | 亚洲欧美日产图| 久久成人免费视频| 米奇777超碰欧美日韩亚洲| 久久天天狠狠| 欧美激情精品久久久久久变态| 欧美不卡在线视频| 国产精品九九| 黄色精品一二区| 这里只有精品丝袜| 香蕉久久国产| 欧美国产国产综合| 亚洲尤物在线视频观看| 美女精品在线| 国产精品视频大全| 亚洲精品在线观看免费| 亚洲免费影院| 欧美激情综合| 欧美在线黄色| 国产午夜精品久久久| 亚洲美女在线国产| 久久爱www久久做| 日韩视频在线观看| 免费视频一区| 亚洲精品免费看| 免费国产一区二区| 欧美制服丝袜第一页| 欧美性猛交xxxx乱大交蜜桃| 亚洲国产视频一区| 久久综合婷婷| 亚洲精品日韩在线观看| 亚洲女优在线| 国产欧美一区二区精品性| 99热在线精品观看| 亚洲乱码一区二区| 欧美午夜激情在线| 午夜精品99久久免费| 中国女人久久久| 国产性天天综合网| 久久免费视频在线| 免费成年人欧美视频| 99re66热这里只有精品3直播| 亚洲国产裸拍裸体视频在线观看乱了中文| 久久久久国产精品一区二区| 国产在线拍偷自揄拍精品| 乱人伦精品视频在线观看| 日韩视频在线观看| 一本久道久久综合婷婷鲸鱼| 国产精品青草综合久久久久99| 欧美一区二区精品久久911| 亚洲免费影视| 亚洲精品中文字幕有码专区| 亚洲伦理一区| 国产三区二区一区久久 | 欧美中文字幕在线视频| 久久久国产91| 亚洲欧美在线一区| 久久精品人人做人人爽电影蜜月| 亚洲精品国产品国语在线app | 性伦欧美刺激片在线观看| 1204国产成人精品视频| 亚洲另类一区二区| 亚洲国产日韩精品| 欧美一区三区二区在线观看| 亚洲美女视频在线观看| 久久国产直播| 性欧美办公室18xxxxhd| 欧美日本国产在线| 亚洲高清视频一区二区| 激情久久中文字幕| 久久久久综合一区二区三区| 久久精品国产视频| 国产欧美精品一区二区色综合| 99精品免费视频| 久久婷婷久久一区二区三区| 欧美一级黄色录像| 欧美视频精品在线| 亚洲激情社区| 在线视频免费在线观看一区二区| 久久资源av| 欧美电影电视剧在线观看| 一区免费观看| 蜜臀av国产精品久久久久| 欧美风情在线观看| 亚洲第一精品夜夜躁人人躁| 麻豆久久婷婷| 欧美国产视频日韩| 99精品国产一区二区青青牛奶| 欧美女同在线视频| 亚洲女同在线| 美乳少妇欧美精品| 妖精视频成人观看www| 国产精品视频一区二区高潮| 欧美在线看片a免费观看| 亚洲成人在线视频播放| 亚洲欧美日韩精品久久| 狠狠做深爱婷婷久久综合一区| 久久午夜影视| 亚洲视频精选在线| 鲁大师成人一区二区三区| 亚洲一区免费看| 亚洲电影在线看| 国产欧美日韩亚洲一区二区三区| 久久亚洲风情| 久久gogo国模啪啪人体图| 亚洲伦理久久| 亚洲国产欧美一区二区三区久久 | 中文无字幕一区二区三区| 国产三级欧美三级日产三级99| 欧美夫妇交换俱乐部在线观看| 欧美专区日韩视频| 亚洲女与黑人做爰| 亚洲视频一区二区在线观看| 亚洲人成网在线播放| 欧美电影免费| 欧美www在线| 欧美成人一区二区三区在线观看 | 国产精品久久久久一区二区三区| 美女网站在线免费欧美精品| 午夜精品一区二区三区在线| 欧美电影在线播放|