-
大小: 104KB文件类型: .rar金币: 1下载: 0 次发布日期: 2021-06-12
- 语言: 其他
- 标签: CsizingContr
资源简介
vc中制作浮动窗口的一个很好的参考,包含CsizingControlBar的源代码以及使用说明
代码片段和文件信息
// sizecbar.cpp : implementation file
//
#include “stdafx.h“
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
int CALLBACK EnumFontFamProc(ENUMLOGFONT FAR *lpelf
NEWTEXTMETRIC FAR *lpntm
int FontType
LPARAM lParam)
{
UNUSED_ALWAYS(lpelf);
UNUSED_ALWAYS(lpntm);
UNUSED_ALWAYS(FontType);
UNUSED_ALWAYS(lParam);
return 0;
}
/////////////////////////////////////////////////////////////////////////
// CCoolBar
IMPLEMENT_DYNAMIC(CCoolBar baseCCoolBar);
CCoolBar::CCoolBar()
{
m_hNotifyWnd = NULL;
m_cyGripper = 12;
SetSCBstyle(GetSCBstyle() | SCBS_SIZECHILD);
m_bActive = FALSE;
CDC dc;
dc.CreateCompatibleDC(NULL);
m_sFontFace = (::EnumFontFamilies(dc.m_hDC
_T(“宋体“) (FONTENUMPROC) EnumFontFamProc 0) == 0) ?
_T(“宋体“) : _T(“Tahoma“);
dc.DeleteDC();
}
CCoolBar::~CCoolBar()
{
}
BEGIN_MESSAGE_MAP(CCoolBar baseCCoolBar)
//{{AFX_MSG_MAP(CCoolBar)
ON_WM_NCLBUTTONUP()
ON_WM_NCHITTEST()
//}}AFX_MSG_MAP
ON_MESSAGE(WM_SETTEXT OnSetText)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////
// CCoolBar message handlers
BOOL CCoolBar::Create(LPCTSTR lpszWindowName CWnd* pParentWnd
CSize sizeDefault BOOL bHasGripper
UINT nID DWORD dwstyle)
{
ASSERT_VALID(pParentWnd);
m_hNotifyWnd = pParentWnd->m_hWnd;
return baseCCoolBar::Create(lpszWindowName pParentWnd sizeDefault bHasGripper nID dwstyle);
}
BOOL CCoolBar::Create(LPCTSTR lpszWindowName
CWnd* pParentWnd UINT nID
DWORD dwstyle)
{
ASSERT_VALID(pParentWnd);
m_hNotifyWnd = pParentWnd->m_hWnd;
return baseCCoolBar::Create(lpszWindowName pParentWnd nID dwstyle);
}
/////////////////////////////////////////////////////////////////////////
// Mouse Handling
//
void CCoolBar::OnNcLButtonUp(UINT nHitTest CPoint point)
{
if (nHitTest == HTCLOSE)
m_pDockSite->ShowControlBar(this FALSE FALSE); // hide
baseCCoolBar::OnNcLButtonUp(nHitTest point);
}
void CCoolBar::OnLButtonDblClk(UINT nFlags CPoint point)
{
CSizingControlBar::OnLButtonDblClk(nFlagspoint);
}
#ifndef COLOR_GRADIENTACTIVECAPTION
#define COLOR_GRADIENTACTIVECAPTION 27
#define COLOR_GRADIENTINACTIVECAPTION 28
#define SPI_GETGRADIENTCAPTIONS 0x1008
#endif
void CCoolBar::NcCalcClient(LPRECT pRc UINT nDockBarID)
{
CRect rcBar(pRc); // save the bar rect
// subtract edges
baseCCoolBar::NcCalcClient(pRc nDockBarID);
if (!HasGripper())
return;
CRect rc(pRc); // the client rect as calculated by the base class
BOOL bHorz = (nDockBarID == AFX_IDW_DOCKBAR_TOP) ||
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 324398 2011-06-16 10:06 CSizingControlBar\浮动窗口的制作暨CSizingControlBar类的使用说明 - xuexiuyin的专栏 - CSDN博客.mht
文件 2426 2009-07-29 09:43 CSizingControlBar\class\scbarg.h
文件 42076 2001-09-03 23:44 CSizingControlBar\class\sizecbar.cpp
文件 6404 2011-06-16 09:34 CSizingControlBar\class\sizecbar.h
文件 11718 2009-07-29 09:43 CSizingControlBar\class\scbarg.cpp
目录 0 2011-06-16 10:07 CSizingControlBar\class
目录 0 2011-06-16 10:06 CSizingControlBar
----------- --------- ---------- ----- ----
387022 7
评论
共有 条评论