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

经过两天的编码调试,完成了一个自动过滤选择的组合框,具有以下优点:
1。丝毫不妨碍组合框原有的功能
2。根据用户在编辑框里已经输入的单词,从组合框的列表选项过滤出匹配的项,并使用下拉列表显示出来以供用户选择。
3。不需要特别的设置。从View\ClassWizard\Member Variables里生成一个CComboBox,然后在源文件里把CComboBox替换成CACComboBox即可;或者让ClassWizard认识CACComboBox(删除MyApp.clw,选View\ClassWizard,按提示重新生成MyApp.clw,绝大多数时候能成功),从View\ClassWizard\Member Variables里直接生成一个CACComboBox。
4。你可以经过简单修改使之成为具有其他类似功能(自动填写??)的组合框。

由于时间仓促,没有写详细的注释。感兴趣的朋友请等几天后向我索要。联系方法:
linger0822@163.net

代码如下:

file://-----------------------------------------------------------------------------
// File: ACComboBox.h
//
// Desc:
//   根据用户在编辑框里已经输入的单词,从组合框的列表选项过滤出匹配的项,并使用下拉列表显示出来以供用户选择
//
// Copyright (c) 2001 EagleFly Studio.
//
// Original Author: Zhengpeng.Lan
// Author:
//
// Create Time:  2001/10/10
// Modify Time:  2001/10/11
//
file://-----------------------------------------------------------------------------
#if !defined(AFX_ACCOMBOBOX_H__81CBBD04_3955_4076_A688_74D3EA9730D9__INCLUDED_)
#define AFX_ACCOMBOBOX_H__81CBBD04_3955_4076_A688_74D3EA9730D9__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "afxtempl.h"

// ACComboBox.h : header file
//
class CACComboBox;
/////////////////////////////////////////////////////////////////////////////
// CWndForACComboBox window
typedef struct
{
int nid;
CString strDepict;
}CInfoForACComboBox;

typedef CArray<CInfoForACComboBox,CInfoForACComboBox &>  CInfoForACComboBoxArray;

class CWndForACComboBox : public CWnd
{
friend CACComboBox;
private:
// Construction
LPCTSTR lpWndCls;
// Construction
public:
CWndForACComboBox();

// Attributes
public:
CComboBox * m_pComboBox;
int   m_nMaxCount;
CInfoForACComboBoxArray   m_aInfo;
int   m_nMousePos;
int   m_nBeginShow;

inline void RemoveAll()
{
  m_aInfo.RemoveAll();
  CWnd::SetScrollRange(SB_VERT,0,0);
}
inline void Add(CInfoForACComboBox &info)
{
  m_aInfo.Add(info);
}
inline int GetSize()
{
  return m_aInfo.GetSize();
}
inline void ShowList()
{
  if(IsWindow(GetSafeHwnd()))
  {
   ShowWindow(SW_SHOWNOACTIVATE);
  }
}
// Operations
public:

// Overrides
// ClassWizard generated virtual function overrides
file://{{AFX_VIRTUAL(CWndForACComboBox)
public:
virtual BOOL Create(CComboBox * pWnd);
file://}}AFX_VIRTUAL

// Implementation
public:
virtual ~CWndForACComboBox();

// Generated message map functions
protected:
file://{{AFX_MSG(CWndForACComboBox)
afx_msg void OnDestroy();
afx_msg void OnPaint();
afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
afx_msg void OnLButtonUp(UI

网学推荐

免费论文

原创论文

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