windows-nt/Source/XPSP1/NT/multimedia/directx/dinput/diconfig/cdeviceviewtext.h

75 lines
1.9 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
//-----------------------------------------------------------------------------
// File: cdeviceviewtext.h
//
// Desc: CDeviceViewText is a class representing a text string in the view
// window. It is used when the view type is a list view. CDeviceViewText
// will print the text of the control name, while CDeviceControl will
// print the text of the action assigned to that control.
//
// Copyright (C) 1999-2000 Microsoft Corporation. All Rights Reserved.
//-----------------------------------------------------------------------------
#ifdef FORWARD_DECLS
class CDeviceViewText;
#else // FORWARD_DECLS
#ifndef __CDEVICEVIEWTEXT_H__
#define __CDEVICEVIEWTEXT_H__
class CDeviceViewText
{
private:
friend class CDeviceView; // CDeviceView has exclusive right to create/destroy views
CDeviceViewText(CDeviceUI &ui, CDeviceView &view);
~CDeviceViewText();
CDeviceView &m_view;
CDeviceUI &m_ui;
public:
// set look/position/text
void SetLook(HFONT, COLORREF, COLORREF);
void SetRect(const RECT &r);
void SetPosition(int, int);
void SetPosition(POINT p) {SetPosition(p.x, p.y);}
void SetText(LPCTSTR);
void SetTextAndResizeTo(LPCTSTR);
void SetTextAndResizeToWrapped(LPCTSTR);
void SetWrap(BOOL bWrap = FALSE);
LPCTSTR GetText() { return m_ptszText; }
// get dimensions
RECT GetRect() {return m_rect;}
int GetHeight() {return m_rect.bottom - m_rect.top;}
int GetMinY() {return m_rect.top;}
int GetMaxY() {return m_rect.bottom;}
// hit testing (in coord's relative to view's origin)
DEVCTRLHITRESULT HitTest(POINT test);
void OnPaint(HDC);
void OnMouseOver(POINT point);
private:
void _SetText(LPCTSTR t);
void CheckClipped();
void Invalidate(BOOL bForce = FALSE);
HFONT m_hFont;
COLORREF m_rgbText, m_rgbBk;
RECT m_rect;
BOOL m_bWrap;
BOOL m_bClipped;
LPTSTR m_ptszText;
};
#endif //__CDEVICEVIEWTEXT_H__
#endif // FORWARD_DECLS