balloonman.cpp
来自「《ATL深入解析》随书源码」· C++ 代码 · 共 30 行
CPP
30 行
// BalloonMan.cpp : Implementation of CBallonMan
#include "stdafx.h"
#include "This.h"
#include "BalloonMan.h"
/////////////////////////////////////////////////////////////////////////////
// CBalloonMan
STDMETHODIMP CBalloonMan::CreateBalloon(long rgbColor, IBalloon **ppBalloon) {
// Create balloon
HRESULT hr = CBalloon::CreateInstance(0, ppBalloon);
if( SUCCEEDED(hr) ) {
// Use backdoor to acquire CBalloon's this pointer
CBalloon* pBalloonThis = 0;
hr = (*ppBalloon)->QueryInterface(IID_NULL, (void**)&pBalloonThis);
if( SUCCEEDED(hr) ) {
// Use CBalloon's this pointer for private initialization
pBalloonThis->m_rgbColor = rgbColor;
}
}
if( FAILED(hr) ) {
(*ppBalloon)->Release();
*ppBalloon = 0;
}
return hr;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?