请教:有VC中使用的LED数码字显示的控件吗?谢谢

qxxq 2005-07-16 10:59:35
请教:有VC中使用的LED数码字显示的控件吗?谢谢
...全文
366 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
AntonlioX 2005-07-16
  • 打赏
  • 举报
回复


帮你找了一个 满多样式的 “Static LED control”

有源码的

http://www.codeguru.com/Cpp/controls/controls/digitalcontrols/article.php/c5235/
bohut 2005-07-16
  • 打赏
  • 举报
回复
http://www.ccw.com.cn/htm/app/aprog/01_1_11_3.asp
qrlvls 2005-07-16
  • 打赏
  • 举报
回复
实际上就是使用图片进行组合
可以参考 www.vckbase.com 和 www.codeproject.com 上的例子
我以前也曾做过,比较好的方法是将字符与图形中的某个区域相对应
核心部分代码
void CLSDigitLCD::OnPaint()
{
CPaintDC dc(this); // device context for painting
CRect rcClient;
int nX = 0;
int i, nLength;
char chChar;

GetClientRect(rcClient);

// 创建资源设备句柄
if (m_dcResource.m_hDC == NULL)
{
m_dcResource.CreateCompatibleDC(&dc);
m_pbitmapOldResource = m_dcResource.SelectObject(&m_bitmapResource);
}

// 创建内存位图及内存设备句柄
if (m_dcMemory.m_hDC == NULL)
m_dcMemory.CreateCompatibleDC(&dc);

if (m_bitmapMemory.m_hObject == NULL)
{
m_bitmapMemory.CreateCompatibleBitmap(&dc, rcClient.Width(), rcClient.Height());
m_pbitmapOldMemory = m_dcMemory.SelectObject(&m_bitmapMemory);
}

m_dcMemory.FillSolidRect(rcClient, (COLORREF)0x8BB7B3);

nLength = m_strText.GetLength();

// 根据字符串将位图绘制到内存位图对象
for (i=0; i<nLength; i++)
{
chChar = m_strText[i] - '0';

if ((chChar>=0) && (chChar<='9'))
{
m_dcMemory.BitBlt(nX, 3, 27, m_bmResource.bmHeight, &m_dcResource, 27*chChar, 0, SRCCOPY);
nX += 27;
}
else
{
switch(m_strText[i])
{
case '.':
m_dcMemory.BitBlt(nX, 3, 6, m_bmResource.bmHeight, &m_dcResource, 297, 0, SRCCOPY);
nX += 6;
break;
case ':':
m_dcMemory.BitBlt(nX, 3, 6, m_bmResource.bmHeight, &m_dcResource, 303, 0, SRCCOPY);
nX += 6;
break;
case '-':
m_dcMemory.BitBlt(nX, 3, 27, m_bmResource.bmHeight, &m_dcResource, 270, 0, SRCCOPY);
nX += 27;
break;
default:
m_dcMemory.BitBlt(nX, 3, 27, m_bmResource.bmHeight, &m_dcResource, 309, 0, SRCCOPY);
nX += 27;
break;
}
}
}

// 从内存设备中复制图像到屏幕
dc.BitBlt(0, 0, rcClient.Width(), rcClient.Height(), &m_dcMemory, 0, 0, SRCCOPY);
}

AntonlioX 2005-07-16
  • 打赏
  • 举报
回复
可以的把
legendhui 2005-07-16
  • 打赏
  • 举报
回复
多的是
http://www.vckbase.com/document/viewdoc/?id=1166
http://www.vckbase.com/document/viewdoc/?id=992

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧