📄 djlistbox.cpp
字号:
// DJListBox.cpp : 实现文件
//
#include "stdafx.h"
#include "conseq.h"
#include "DJListBox.h"
#include "string.h"
// CDJListBox
IMPLEMENT_DYNAMIC(CDJListBox, CListBox)
CDJListBox::CDJListBox()
{
m_nMaxWidth = 0;
}
CDJListBox::~CDJListBox()
{
}
int CDJListBox::AddString(LPCTSTR lpszItem)
{
//此处加入字符串宽度跟踪、水平滚动条显示等代码
int nRet = CListBox::AddString(lpszItem);
SCROLLINFO scrollInfo;
memset(&scrollInfo, 0, sizeof(SCROLLINFO));
scrollInfo.cbSize = sizeof(SCROLLINFO);
scrollInfo.fMask = SIF_ALL;
GetScrollInfo(SB_VERT, &scrollInfo, SIF_ALL);
int nScrollWidth = 0;
if(GetCount() > 1 && ((int)scrollInfo.nMax
>=(int)scrollInfo.nPage))
nScrollWidth = GetSystemMetrics(SM_CXVSCROLL);
SIZE sSize;
CClientDC myDC(this);
CFont* pListBoxFont = GetFont();
if(pListBoxFont != NULL)
{
CFont* pOldFont =myDC.SelectObject(pListBoxFont);
GetTextExtentPoint32(myDC.m_hDC,
lpszItem, 120, &sSize);
m_nMaxWidth = max(m_nMaxWidth, (int)sSize.cx);
SetHorizontalExtent(m_nMaxWidth + 3);
myDC.SelectObject(pOldFont);
}
return nRet;
}
BEGIN_MESSAGE_MAP(CDJListBox, CListBox)
END_MESSAGE_MAP()
// CDJListBox 消息处理程序
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -