亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mcl4mfc.h

?? window下的多線程編程參考書。值得一讀
?? H
字號:
//
// FILE: Mcl4Mfc.h
//
// Copyright (c) 1997 by Aaron Michael Cohen and Mike Woodring
//
/////////////////////////////////////////////////////////////////////////
#ifndef __MCL4MFC_H__
#define __MCL4MFC_H__

#include <afxwin.h>         // MFC core and standard components
#include <afxext.h>         // MFC extensions
#include "CMcl.h"           // Mcl wrapper classes

// forward declaration of classes...
class CMcl4MfcThread;

// derived version of CWinThread for use with Mcl library...
class CMclWinThread : public CWinThread {
    // allow CMcl4MfcThread to call the protected functions
    // and directly access the internal data of CMclWinThread...
    friend class CMcl4MfcThread;

protected:
    CMcl4MfcThread *m_pOwner;

public:
    // constructor...
    CMclWinThread(CMcl4MfcThread *pOwner);

    // overridables, default behavior is to 
    // call the same function in the pOwner object...
    virtual BOOL InitInstance(void);
    virtual int ExitInstance(void);
    virtual BOOL OnIdle( LONG lCount);
    virtual BOOL PreTranslateMessage( MSG *pMsg);
    virtual BOOL IsIdleMessage( MSG *pMsg);
    virtual LRESULT ProcessWndProcException( CException *e, const MSG *pMsg);
    virtual BOOL ProcessMessageFilter( int code, LPMSG lpMsg);
    virtual int Run(void);

protected:
    // these functions call the original MFC base 
    // class implementations...
    virtual BOOL MfcInitInstance(void);
    virtual int MfcExitInstance(void);
    virtual BOOL MfcOnIdle( LONG lCount);
    virtual BOOL MfcPreTranslateMessage( MSG *pMsg);
    virtual BOOL MfcIsIdleMessage( MSG *pMsg);
    virtual LRESULT MfcProcessWndProcException( CException *e, const MSG *pMsg);
    virtual BOOL MfcProcessMessageFilter( int code, LPMSG lpMsg);
    virtual int MfcRun(void);
};

// CMcl4MfcThread base class...
class CMcl4MfcThread : public CMclKernel {
protected:
    // pointer to internal CWinThread derived object...
    // this base class will use aggregation and delegation
    // techniques to provide the functionality of both
    // CMclThread and CWinThread...
    CMclWinThread *m_pWinThread;

public:
    // base class constructor...
    CMcl4MfcThread();

    // destructor to clean up CWinThread object...
    // declared pure virtual to prevent
    // creating an instance of this class...
    virtual ~CMcl4MfcThread() = 0;

    // overrideable virtual functions...
    // the default implmentation calls the member function
    // in the CMclWinThread object which calls the original
    // CWinThread implementation...
    // derived classes which override these functions should
    // usually also call the base class implementations...
    virtual BOOL InitInstance(void);
    virtual int ExitInstance(void);
    virtual BOOL OnIdle( LONG lCount);
    virtual BOOL PreTranslateMessage( MSG *pMsg);
    virtual BOOL IsIdleMessage( MSG *pMsg);
    virtual LRESULT ProcessWndProcException( CException *e, const MSG *pMsg);
    virtual BOOL ProcessMessageFilter( int code, LPMSG lpMsg);
    virtual int Run(void);

    // functions which implement CMclThread functionality...

    // suspend the thread...
    DWORD Suspend(void);

    // resume the thread...
    DWORD Resume(void);

    // terminate the thread...
    BOOL Terminate( DWORD dwExitCode);

    // read a thread's exit code...
    BOOL GetExitCode( DWORD *pdwExitCode);

    // set a thread's priority...
    BOOL SetPriority( int nPriority);

    // read a thread's priority...
    int GetPriority(void);

    // get the internal thread id...
    DWORD GetThreadId(void);
};

// CMcl4MfcWorkerThread class is used like CMclThread...
class CMcl4MfcWorkerThread : public CMcl4MfcThread {
protected:
    CMclThreadHandler *m_pcThreadHandler;

public:
    // class constructor...
    CMcl4MfcWorkerThread(   CMclThreadHandler *pcThreadHandler, 
                            unsigned uInitFlag = 0, 
                            LPSECURITY_ATTRIBUTES lpSecurity = NULL, 
                            unsigned uStackSize = 0);


protected:
    // this function overriden to call the CMclThreadHandler object...
    virtual int Run(void);
};

// CMcl4MfcGUIThread class is used like CWinThread...
class CMcl4MfcGUIThread : public CMcl4MfcThread {
public:
    // class constructor...
    CMcl4MfcGUIThread(  unsigned uInitFlag = 0, 
                        LPSECURITY_ATTRIBUTES lpSecurity = NULL, 
                        unsigned uStackSize = 0);

    // this function starts the CWinThread message pump...
    virtual int Run(void);

    // functions which implement CMclWinThread functionality
    // which only make sense for GUI threads...

    // get the main window for this thread...
    CWnd *GetMainWnd(void);

    // set the main window for this thread...
    void SetMainWnd(CWnd *pWnd);

    // post a message to this thread...
    BOOL PostThreadMessage( UINT message, WPARAM wParam, LPARAM lParam);
};

// typedef for the autopointers we need for 
// CMcl4MfcThread derived threads...
typedef CMclDerivedAutoPtr<CMcl4MfcThread> CMcl4MfcThreadAutoPtr;
typedef CMclDerivedAutoPtr<CMcl4MfcWorkerThread> CMcl4MfcWorkerThreadAutoPtr;
typedef CMclDerivedAutoPtr<CMcl4MfcGUIThread> CMcl4MfcGUIThreadAutoPtr;

#endif


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久综合久久综合亚洲| 亚洲丝袜美腿综合| 国产精品高潮呻吟久久| 水野朝阳av一区二区三区| 国产高清不卡一区二区| 日韩一区二区免费在线电影| 一区二区在线免费观看| 成人性视频免费网站| 欧美成人性福生活免费看| 亚洲国产日韩在线一区模特 | 日韩在线卡一卡二| 不卡视频一二三四| 久久奇米777| 精品一区二区三区久久| 欧美精品久久久久久久多人混战| 国产精品萝li| 国产精品18久久久久久久久 | 欧美日本乱大交xxxxx| 国产精品国产自产拍在线| 国产在线视频精品一区| 欧美videos中文字幕| 免费在线观看日韩欧美| 日韩一二三四区| 日韩精品国产欧美| 久久久国产一区二区三区四区小说 | 视频一区中文字幕国产| 欧美日韩色综合| 一区二区三区波多野结衣在线观看| 成人性色生活片| 国产精品久久久久aaaa樱花| 粉嫩嫩av羞羞动漫久久久| 久久综合久久综合九色| 麻豆成人久久精品二区三区小说| 欧美福利电影网| 日韩电影在线一区二区三区| 9191久久久久久久久久久| 石原莉奈在线亚洲三区| 日韩美女视频在线| 国内精品在线播放| 国产欧美日产一区| 91免费视频网址| 亚洲一区二区三区自拍| 在线电影一区二区三区| 日韩精品一区第一页| 日韩免费视频线观看| 国内精品在线播放| 成人免费小视频| 欧美性大战久久| 日本中文字幕不卡| 久久久久国产免费免费| voyeur盗摄精品| 亚洲一卡二卡三卡四卡五卡| 91麻豆精品国产综合久久久久久| 另类小说欧美激情| 欧美激情在线免费观看| 91激情五月电影| 久久精品久久综合| 欧美国产乱子伦 | 成人高清免费在线播放| 一区二区三区精品久久久| 欧美群妇大交群的观看方式| 国产一区二区三区四区五区入口| 国产嫩草影院久久久久| 欧美日本在线播放| 国产成人精品免费网站| 亚洲福利视频导航| 久久久精品2019中文字幕之3| 99国产麻豆精品| 人人狠狠综合久久亚洲| 亚洲图片另类小说| www精品美女久久久tv| 色八戒一区二区三区| 激情欧美一区二区三区在线观看| 亚洲人成在线播放网站岛国| 日韩欧美一级精品久久| 色综合久久中文字幕| 久久99九九99精品| 亚洲一区国产视频| 日本一区二区三区dvd视频在线| 欧美性生活一区| 成人av免费网站| 紧缚捆绑精品一区二区| 性做久久久久久| 国产精品久久久久影院| 精品人伦一区二区色婷婷| 一本色道久久加勒比精品| 国产麻豆成人精品| 日本伊人色综合网| 亚洲高清在线精品| 亚洲天堂av一区| 国产精品婷婷午夜在线观看| 日韩欧美黄色影院| 欧美肥大bbwbbw高潮| 91免费版pro下载短视频| 国产乱人伦精品一区二区在线观看| 午夜久久久影院| 亚洲电影一级黄| 一区二区三区加勒比av| 国产精品人人做人人爽人人添| 日韩一区二区三区高清免费看看| 91成人免费在线视频| 91麻豆精东视频| 91在线精品一区二区三区| 国产成人高清视频| 国产精品伊人色| 国产精品一品二品| 国产精一品亚洲二区在线视频| 青青草国产精品97视觉盛宴| 午夜视频在线观看一区二区| 亚洲成人一区二区| 婷婷综合五月天| 视频一区在线播放| 日本vs亚洲vs韩国一区三区二区| 亚洲高清免费一级二级三级| 亚洲高清视频在线| 三级亚洲高清视频| 麻豆国产精品官网| 精品一区二区三区视频 | 亚洲一二三四久久| 亚洲综合色丁香婷婷六月图片| 亚洲色图丝袜美腿| 亚洲精品视频在线看| 亚洲五月六月丁香激情| 偷拍一区二区三区四区| 麻豆国产精品官网| 国产suv精品一区二区三区| 成人免费观看视频| 91福利在线看| 欧美一区日韩一区| 久久综合给合久久狠狠狠97色69| 欧美精品一区二区蜜臀亚洲| 国产欧美日韩精品a在线观看| 国产精品成人免费在线| 亚洲高清免费视频| 久久精品二区亚洲w码| 国产一区 二区| 成人a免费在线看| 欧美四级电影在线观看| 日韩视频一区二区三区在线播放 | 亚洲品质自拍视频| 午夜电影一区二区三区| 麻豆极品一区二区三区| 成人激情小说网站| 欧美日韩免费电影| 欧美精品一区二| 亚洲欧美国产毛片在线| 欧美aaaaa成人免费观看视频| 国产精品996| 欧美日韩亚洲高清一区二区| 精品福利一区二区三区免费视频| 国产精品你懂的在线| 亚洲成人自拍一区| 国产91在线|亚洲| 欧美情侣在线播放| 中文字幕巨乱亚洲| 日韩二区在线观看| 9色porny自拍视频一区二区| 91精品免费在线观看| 国产精品国产三级国产普通话蜜臀 | 久久精品一区四区| 亚洲一区二区精品久久av| 国产999精品久久| 日韩欧美一区在线观看| 夜夜嗨av一区二区三区中文字幕 | 亚洲欧美综合网| 蜜桃视频在线观看一区| 色哟哟一区二区三区| 久久影院视频免费| 三级亚洲高清视频| 欧美日韩中文国产| 中文字幕日韩av资源站| 国内精品写真在线观看| 欧美日韩精品综合在线| 亚洲欧洲精品成人久久奇米网| 狠狠色狠狠色合久久伊人| 欧美日韩三级一区| 亚洲美女视频一区| av中文字幕不卡| 国产视频一区在线播放| 日本中文字幕一区| 欧美久久久久久蜜桃| 一区二区三区四区在线播放| 国产成人一级电影| 精品国一区二区三区| 视频在线观看91| 欧美另类videos死尸| 亚洲精品久久久蜜桃| av中文字幕亚洲| 国产精品成人一区二区艾草 | 丰满放荡岳乱妇91ww| 精品日韩一区二区三区| 免费观看久久久4p| 欧美日韩美少妇| 日欧美一区二区| 欧美一区二区三区视频在线| 亚洲成人动漫在线观看| 欧美日本一区二区三区| 午夜一区二区三区视频| 88在线观看91蜜桃国自产| 日本在线播放一区二区三区|