⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 djlistbox.cpp

📁 命题逻辑中的归结推理系统设计与实现用C++实现
💻 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 + -