|
|
|
|
/**
|
|
|
|
|
* Copyright (C) 2014-2050 SOUI团队
|
|
|
|
|
* All rights reserved.
|
|
|
|
|
*
|
|
|
|
|
* @file SCaption.h
|
|
|
|
|
* @brief 标题栏控件
|
|
|
|
|
* @version v1.0
|
|
|
|
|
* @author soui
|
|
|
|
|
* @date 2014-05-28
|
|
|
|
|
*
|
|
|
|
|
* Describe 此类完成标题栏控件
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
#include "core/SWnd.h"
|
|
|
|
|
|
|
|
|
|
namespace SOUI
|
|
|
|
|
{
|
|
|
|
|
/**
|
|
|
|
|
* @class CSCaption
|
|
|
|
|
* @brief 标签类
|
|
|
|
|
*
|
|
|
|
|
* Describe 标签类 只需要继承此类即可
|
|
|
|
|
*/
|
|
|
|
|
class SOUI_EXP SCaption :
|
|
|
|
|
public SWindow
|
|
|
|
|
{
|
|
|
|
|
SOUI_CLASS_NAME(SCaption, L"caption")
|
|
|
|
|
public:
|
|
|
|
|
/**
|
|
|
|
|
* CSCaption::CSCaption
|
|
|
|
|
* @brief 构造函数
|
|
|
|
|
*
|
|
|
|
|
* Describe CSCaption类的构造函数
|
|
|
|
|
*/
|
|
|
|
|
SCaption(void);
|
|
|
|
|
/**
|
|
|
|
|
* CSCaption::~CSCaption
|
|
|
|
|
* @brief 析构函数
|
|
|
|
|
*
|
|
|
|
|
* Describe ~CSCaption类的构造函数
|
|
|
|
|
*/
|
|
|
|
|
virtual ~SCaption(void);
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
/**
|
|
|
|
|
* CSCaption::OnLButtonDown
|
|
|
|
|
* @brief 左键按下事件
|
|
|
|
|
* @param UINT nFlags -- 标志
|
|
|
|
|
* @param CPoint point -- 鼠标坐标
|
|
|
|
|
*
|
|
|
|
|
* Describe 此函数是消息响应函数
|
|
|
|
|
*/
|
|
|
|
|
void OnLButtonDown(UINT nFlags, CPoint point);
|
|
|
|
|
/**
|
|
|
|
|
* CSCaption::OnLButtonDblClk
|
|
|
|
|
* @brief 左键双击事件
|
|
|
|
|
* @param UINT nFlags -- 标志
|
|
|
|
|
* @param CPoint point -- 鼠标坐标
|
|
|
|
|
*
|
|
|
|
|
* Describe 此函数是消息响应函数
|
|
|
|
|
*/
|
|
|
|
|
void OnLButtonDblClk(UINT nFlags, CPoint point);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* CSCpation::OnMouseMove
|
|
|
|
|
*
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
void OnMouseMove(UINT nFlags, CPoint point);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* CSCpation::OnLButtonUp
|
|
|
|
|
*
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
void OnLButtonUp(UINT nFlags, CPoint point);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Describe 检测当前系统是否支持窗口最大化时可移动还原窗口
|
|
|
|
|
*
|
|
|
|
|
* CSCpation::IsSuppotMaxMove
|
|
|
|
|
*
|
|
|
|
|
* @return 返回true时,窗口在最大化时,拖动即还原,
|
|
|
|
|
* false时不可以实现该功能
|
|
|
|
|
*/
|
|
|
|
|
BOOL IsSuppotMaxMove();
|
|
|
|
|
|
|
|
|
|
SOUI_MSG_MAP_BEGIN()
|
|
|
|
|
MSG_WM_LBUTTONDOWN(OnLButtonDown)
|
|
|
|
|
MSG_WM_LBUTTONDBLCLK(OnLButtonDblClk)
|
|
|
|
|
MSG_WM_MOUSEMOVE(OnMouseMove)
|
|
|
|
|
MSG_WM_LBUTTONUP(OnLButtonUp)
|
|
|
|
|
SOUI_MSG_MAP_END()
|
|
|
|
|
private:
|
|
|
|
|
BOOL m_bIsMaxDown;//最大化时,鼠标左键是否已经按下
|
|
|
|
|
};
|
|
|
|
|
}
|