KumaBarBand.cpp
// KumaBarBand.cpp : CKumaBarBand の実装
#include "stdafx.h"
#include "KumaBarBand.h"
// CKumaBarBand
// IDeskBand
STDMETHODIMP CKumaBarBand::GetBandInfo(DWORD /* dwBandID */, DWORD /* dwViewMode */, DESKBANDINFO* pdbi)
{
if (pdbi)
{
//ツールバーの最小サイズ
if (pdbi->dwMask & DBIM_MINSIZE)
{
pdbi->ptMinSize.x = 100;
pdbi->ptMinSize.y = 22;
}
//ツールバーの最大サイズ
//0なら未設定
if (pdbi->dwMask & DBIM_MAXSIZE)
{
pdbi->ptMaxSize.x = -1;
pdbi->ptMaxSize.y = 22;
}
//分からない、知らない
if (pdbi->dwMask & DBIM_INTEGRAL)
{
pdbi->ptIntegral.x = 1;
pdbi->ptIntegral.y = 1;
}
//小麦粉か何かだ
if (pdbi->dwMask & DBIM_ACTUAL)
{
pdbi->ptActual.x = -1;
pdbi->ptActual.y = 22;
}
if (pdbi->dwMask & DBIM_TITLE)
{
//ツールバー左側に表示されるタイトル文字列
wcscpy_s(pdbi->wszTitle, _T("KUMA"));
}
if( pdbi->dwMask & DBIM_BKCOLOR )
{
//こう書いておけば、デフォルトの背景色になってくれるらしい
pdbi->dwMask &= ~DBIM_BKCOLOR;
}
if (pdbi->dwMask & DBIM_MODEFLAGS)
{
pdbi->dwModeFlags =
//他のサンプルの多くはこう書いていた
DBIMF_NORMAL | DBIMF_USECHEVRON |
//バーを表示する際に、必ず次の行にしてくれる指定だそうな
DBIMF_BREAK;
}
}
return S_OK;
}
// IOleWindow
STDMETHODIMP CKumaBarBand::GetWindow(HWND* /* phwnd */)
{
//ツールバーのWindowハンドルを返す
//現状はまだツールバーを作ってないので、何も返さない
return S_OK;
}
STDMETHODIMP CKumaBarBand::ContextSensitiveHelp(BOOL /* fEnterMode */)
{
return E_NOTIMPL;
}
// IDockingWindow
STDMETHODIMP CKumaBarBand::ShowDW(BOOL /* fShow */)
{
//ツールバーのShowWindowを実行する
//まだツールバーを作ってないので、何もしない
return S_OK;
}
STDMETHODIMP CKumaBarBand::CloseDW(unsigned long /* dwReserved */)
{
//CLOSE時の動作。ツールバーを非表示にする
ShowDW(FALSE);
return S_OK;
}
STDMETHODIMP CKumaBarBand::ResizeBorderDW(const RECT* /* prcBorder */, IUnknown* /* punkToolbarSite */, BOOL /* fReserved */)
{
return E_NOTIMPL;
}
戻る
コメントスペース