Files
envi-code/SourceCode/Code2026/EarthWormMain/cmdPalette.h
T
gjm 164968b62e chore
把非utf8-bom编码的cpp/h文件改为 utf8 bom 编码, msvc识别utf8编码时,如果不是bom格式的,会使用当前cp_oem来解码.
2026-10-04 00:04:20 +08:00

92 lines
2.1 KiB
C++

#pragma once
class CmdGroupWnd;
class CmdPaletteSet: public CAdUiPaletteSet
{
DECLARE_DYNAMIC(CmdPaletteSet);
public:
CmdPaletteSet();
~CmdPaletteSet();
bool CreatePaletteSet(LPCTSTR pszTitle);
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnDestroy();
DECLARE_MESSAGE_MAP()
protected:
virtual bool OnClosing();
virtual void GetFloatingMinSize(long *plMinWidth, long *plMinHeight);
virtual void SizeChanged(CRect *lpRect, BOOL bFloating, int flags);
virtual void GetMinimumSize(CSize &size);
virtual void GetMaximumSize(CSize &size);
protected:
virtual CSize CalcFixedLayout(BOOL bStretch, BOOL bHorz);
// 子类化DockBar窗口
BOOL SubclassDockBar(HWND hWnd);
// 反子类化DockBar窗口
void UnsubclassDockBar();
// 检测点击到边框的位置
UINT OnTrackHitTest(CPoint pt);
// 获取点中边框的位置尺寸
UINT OnGetTrackRect(UINT nDockOrHit, CRect& rc);
// 启动拖动操作
void OnStartTracking(UINT nHit);
// 拖动更新过程
void OnTrackUpdate(CPoint pt);
// 停止拖动操作
void OnStopTracking();
// 拖动更新显示
void OnTrackPaint();
// 拖动状态
BOOL m_bTracking;
// 拖动边框位置尺寸
CRect m_rcTracking;
private:
// 被子类化的DockBar窗口
HWND m_hDockBar;
// 子类化DockBar的窗口过程
WNDPROC m_pfnOldProc;
// 被子类化DockBar新窗口过程实现
LRESULT OnDockBarProc(HWND hWnd, UINT nMessage, WPARAM wParam, LPARAM lParam);
// 被子类化DockBar新窗口过程函数
static LRESULT CALLBACK DockBarProc(HWND hWnd, UINT nMessage, WPARAM wParam, LPARAM lParam);
static CmdPaletteSet* m_pMySelft;
};
class CmdPalette : public CAdUiPalette
{
DECLARE_DYNAMIC(CmdPalette)
public:
CmdPalette();
~CmdPalette();
bool CreatePalette(LPCTSTR pszMenuFile,LPCTSTR pszTitle,int nIndex);
DECLARE_MESSAGE_MAP()
public:
virtual void OnSetActive() ;
virtual void GetFloatingMinSize (long *pnMinWidth, long *pnMinHeight);
void MoveWindow(LPCRECT lpRect, BOOL bRepaint = TRUE);
afx_msg void OnDestroy();
afx_msg void OnPaint();
afx_msg BOOL OnMouseWheel(UINT nFlags,short zDelta,CPoint pt);
private:
std::vector<CmdGroupWnd*> m_grpWndPtrs;
};