网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VC++ > 正文
自动过滤选择的组合框
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式
T,&info);
  }
  else
  {
   CWnd::ShowScrollBar(SB_VERT,FALSE);
  }
}
CPaintDC dc(this); // device context for painting

file://dc.FillSolidRect(0,0,rect.Width(),rect.Height(),RGB(255,255,255));
dc.Rectangle(0,0,rect.Width(),rect.Height());
logFont.lfWidth = 1;
dc.SelectObject(pFont);
int m_nBeginShow = CWnd::GetScrollPos(SB_VERT);
for(int i=m_nBeginShow;i<m_aInfo.GetSize() && logFont.lfWidth < rect.Height() - 2;i++)
{
  if(i == m_nMousePos)
  {
   dc.SetBkColor(RGB(0,0,128));
   dc.FillSolidRect(1,logFont.lfWidth,rect.Width() - 2,logFont.lfHeight,RGB(0,0,128));
   dc.SetTextColor(RGB(255,255,255));
  }
  else
  {
   dc.SetBkColor(RGB(255,255,255));
   dc.SetTextColor(RGB(0,0,0));
  }
  dc.TextOut(3,logFont.lfWidth,m_aInfo[i].strDepict);
  logFont.lfWidth += logFont.lfHeight;
}
}

void CWndForACComboBox::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: Add your message handler code here and/or call default

CWnd::OnKeyDown(nChar, nRepCnt, nFlags);
}

void CWndForACComboBox::OnLButtonUp(UINT nFlags, CPoint point)
{
CFont * pFont;
LOGFONT logFont;

if(m_pComboBox)
{
  pFont = m_pComboBox->GetParent()->GetFont();
  pFont->GetLogFont(&logFont);
  if(logFont.lfHeight < 0) logFont.lfHeight = -logFont.lfHeight;
  m_nMousePos = (point.y - 1) / logFont.lfHeight + CWnd::GetScrollPos(SB_VERT);
  if(m_nMousePos >= 0 && m_nMousePos < m_aInfo.GetSize())
   m_pComboBox->SetCurSel(m_aInfo[m_nMousePos].nid);
  ShowWindow(SW_HIDE);
}

CWnd::OnLButtonUp(nFlags, point);
}

BOOL CWndForACComboBox::OnMouseWheel(UINT nFlags, short zDelta, CPoint pt)
{
// TODO: Add your message handler code here and/or call default

return CWnd::OnMouseWheel(nFlags, zDelta, pt);
}

void CWndForACComboBox::OnKillFocus(CWnd* pNewWnd)
{
CWnd::OnKillFocus(pNewWnd);

if(pNewWnd->GetSafeHwnd() != m_pComboBox->GetSafeHwnd() && pNewWnd->GetSafeHwnd() != GetSafeHwnd() && IsWindow(GetSafeHwnd()))
  ShowWindow(SW_HIDE);
}

void CWndForACComboBox::OnMouseMove(UINT nFlags, CPoint point)
{
CFont * pFont;
LOGFONT logFont;
::ShowCursor(TRUE);
if(m_pComboBox)
{
  pFont = m_pComboBox->GetParent()->GetFont();
  pFont->GetLogFont(&logFont);
  if(logFont.lfHeight < 0) logFont.lfHeight = -logFont.lfHeight;
  logFont.lfWidth = point.y / logFont.lfHeight + CWnd::GetScrollPos(SB_VERT);
  if(logFont.lfWidth != m_nMousePos)
  {
   m_nMousePos = logFont.lfWidth;
   Invalidate();
  }
}

CWnd::OnMouseMove(nFlags, point);
}

void CWndForACComboBox::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
if(m_aInfo.GetSize() <= 0)
{
&

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号