/*
* StaticFilespec.cpp
*
* CStaticFilespec implementation
* A simple class for displaying long filespecs in static text controls
*
* Usage: See http://www.codeguru.com/controls/cstatic_filespec.shtml
* Author: Ravi Bhavnani
* Edit history: 24-Nov-1997 Ravi B Original creation
*/
#include "stdafx.h"
#include "StaticFilespec.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CStaticFilespec
CStaticFilespec::CStaticFilespec
(DWORD dwFormat /* = DT_LEFT | DT_NOPREFIX | DT_VCENTER */,
BOOL bPathEllipsis /* = FALSE */ )
{
m_bPathEllipsis = bPathEllipsis;
m_dwFormat = dwFormat;
}
CStaticFilespec::~CStaticFilespec()
{
}
BEGIN_MESSAGE_MAP(CStaticFilespec, CWnd)
//{{AFX_MSG_MAP(CStaticFilespec)
ON_MESSAGE( WM_SETTEXT, OnSetText )
ON_WM_ERASEBKGND()
ON_WM_PAINT()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CStaticFilespec message handlers
BOOL CStaticFilespec::OnEraseBkgnd(CDC* pDC)
{
RECT rectWnd; // window rectangle
// Erase background
GetClientRect (&rectWnd);
pDC->FillSolidRect (&rectWnd, ::GetSysColor (COLOR_3DFACE));
return (TRUE);
}
void CStaticFilespec::OnPaint()
{
CPaintDC dc (this); // device context for painting
DWORD dwFormat; // text format
RECT rectWnd; // window rectangle
CString strText; // window text
CWnd* pWndParent = NULL; // parent window
// Set default font
pWndParent = GetParent();
if (pWndParent)
dc.SelectObject (pWndParent->GetFont());
// Draw text
GetWindowText (strText);
GetClientRect (&rectWnd);
dwFormat = m_dwFormat | (m_bPathEllipsis ? DT_PATH_ELLIPSIS : DT_END_ELLIPSIS);
::DrawTextEx (dc.m_hDC,
strText.GetBuffer (0),
strText.GetLength(),
&rectWnd,
dwFormat,
NULL);
strText.ReleaseBuffer();
// Do not call CWnd::OnPaint() for painting messages
}
BOOL CStaticFilespec::OnSetText
(WPARAM wParam,
LPARAM lParam)
{
DefWindowProc (WM_SETTEXT, wParam, lParam);
Invalidate();
return (TRUE);
}
// End StaticFilespec.cpp
CSTATIC_FILESPEC_SRC.ZIP_CStatic
版权申诉
53 浏览量
2022-09-23
22:39:15
上传
评论
收藏 2KB ZIP 举报
小波思基
- 粉丝: 70
- 资源: 1万+
最新资源
- 珍藏多年的基于matlab实现潮流计算程序源代码集合,包含多个潮流计算程序.rar
- 使用FPGA实现串-并型乘法器
- 基于matlab实现针对基于双曲线定位的DV-Hop算法中误差误差出一种基于加权双曲线定位的DV-Hop改进算法.rar
- 基于matlab实现由遗传算法开发的整数规划,车辆调度问题.rar
- 电视家7.0(对电视配置要求高).apk
- 免费计算机毕业设计-基于JavaEE的医院病历管理系统设计与实现(包含论文+源码)
- 手机端 我的世界融合植物大战僵尸版.apk
- 植物大战僵尸 · 戴夫的老年生活 手机版.apk
- Runcraft · 我的世界跑酷游戏 手机端.apk
- pta题库答案c语言.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈