zoukankan      html  css  js  c++  java
  • MyMacro

    #define SAFE_RELEASE(x) { if (x) x->Release(); x = NULL; }
    #define JIF(x) if (FAILED(hr=(x))) /
    {Msg(TEXT("FAILED(hr=0x%x) in ") TEXT(#x) TEXT("/n"), hr); return FALSE;}

    inline void Msg(char *szFormat, ...)
    {
    TCHAR szBuffer[512]; // Large buffer for very long filenames (like with HTTP)

    va_list pArgs;
    va_start(pArgs, szFormat);
    vsprintf(szBuffer, szFormat, pArgs);
    va_end(pArgs);
    MessageBox(NULL, szBuffer, "CVideoRenderer", MB_OK);
    }



    #define SAFE_DELETE(p) { if (p) { delete (p); (p)=NULL; } }
    #define SAFE_RELEASE(p) { if (p) { (p)->Release(); (p)=NULL; } }

    #define SAFE_RELEASE_DELETE(p) { if (p) { (p)->Release(); delete (p); (p)=NULL; } }
    #define ERMSG(x) MessageBox(hWnd, x, "DirectDraw Samplee", MB_OK);
    #define ERR_MSG(err, msg) {if (err==hr) {AfxMessageBox(msg);}}
    #define ERR_TRACE(err, msg) {if (err==hr) {TRACE("/r/n");TRACE(msg);}}
    #define TRACE_POINT(pt, name) {CString strMsg; strMsg.Format("/r/n%sPT = (%d,%d)", name, pt.x, pt.y);TRACE(strMsg);};
    #define TRACE_RECT(rc, name) {CString strMsg; strMsg.Format("/r/n%sRECT<t=%d,l=%d,b=%d,r=%d>", name, rc.top, rc.left, rc.bottom, rc.right);TRACE(strMsg);};

    #define TRACE_DWORD(d, name) {CString strMsg; strMsg.Format("/r/n%sPT = %d", name, d);TRACE(strMsg);};
    #define NUM_PROTECT(num, minl, maxl) {if (num>maxl){num=maxl;} if (num<minl){num=minl;} };

    #define PUSHHANDLE m_vecHandle.push_back(m_pCurHandle);
    #define DC_FHANDLE(pDC, hDC) {CMainFrame *pFrame = (CMainFrame *)AfxGetApp()->GetMainWnd(); pDC = CDC::FromHandle(pFrame->hDC);}

    #define XYWH int x, int y, int nWidth, int Height
    #define SAFE_DELETE(p) {if (p!=NULL){delete p; p=NULL;}}

    #define PUSHHANDLE(ph) {m_pCurHandle = ph;m_vecHandle.push_back(m_pCurHandle);}



    // 02

    #define TRACE_DWORD02(d) CString TRACE_DWORD02_OUTPUT; {TRACE_DWORD02_OUTPUT += _T("/r/n"); CString strMsg; strMsg=#d; TRACE_DWORD02_OUTPUT += strMsg; strMsg.Format(_T(" = %d"), d); TRACE_DWORD02_OUTPUT += strMsg; TRACE(TRACE_DWORD02_OUTPUT);}



    // 数学运算代码宏

    #define PI 3.1415926535
    #define RADIAN(angle) ((angle)*PI/180.0) //角度到弧度转化的宏



    // windows 操作代码宏

    //取应用程序主窗口句柄 需要先定义 HWND ParentWnd, glhTargetWnd;并对 glhTargetWnd 赋值,ParentWnd就是程序主窗口句柄
    #define GET_EXE_MAIN_HWND(ParentWnd, glhTargetWnd) /
    { /
    ParentWnd=glhTargetWnd; /
    while (ParentWnd !=NULL) /
    { /
    glhTargetWnd=ParentWnd; /
    ParentWnd=GetParent(glhTargetWnd); /
    } /
    } /



    #ifndef LASTMSGBOXINFOLIBAPI
    #define LASTMSGBOXINFOLIBAPI extern "C" __declspec(dllimport)
    #endif
  • 相关阅读:
    Python数值计算:一 使用Pylab绘图(2)
    Python数值计算:一 使用Pylab绘图(1)
    Gromacs处理amino acid residues小结
    实用正则表达式匹配和替换
    将Word转为带书签的PDF
    QT在windows下实现截屏操作并保存为png图片
    VMware虚拟机无法识别U盘解决方案
    C/C++/Qt 统计运行时间
    ffmpeg 中 swscale 的用法
    用qt代码怎样编写图片保存格式[qt4.6]
  • 原文地址:https://www.cnblogs.com/carl2380/p/2317346.html
Copyright © 2011-2022 走看看