精华内容
下载资源
问答
  • 我想实现,模态对话框编辑框里输入几个值,然后点击确定按钮将其添加组合框列表中,当点击组合框列表里刚添加时响应相应消息(如:我模态对话框四个编辑框中输入a、b、c、d,然后点击确定按钮,将a、b、c...
  • VC组合框ComboBox控件用法

    千次阅读 2014-12-18 16:46:16
    1.关于CComboBox对话框没有下拉项目的问题 答: 资源编辑器对话框CComboBox组件的垂直范围拉大了下,就... 则新添加项将按字母顺序插入到列表中。  否则,在列表的结尾处插入。 3. CCOMBOBOX如何使它只读,

    1.关于CComboBox在对话框中没有下拉项目的问题

    答: 资源编辑器中对话框中CComboBox组件的垂直范围拉大了下,就看见字体了。先点击右边向下的箭头,然后会出现上下可调的双向箭头,拖拉即可。

    2、如果 ComboBox 的 Sorted 属性设置为 true,

       则新添加项将按字母顺序插入到列表中。

       否则,在列表的结尾处插入项。

    3. CCOMBOBOX如何使它只读,不能编辑

    答: 属性,type中选择"drop list"即可。

     

    4. 我要让界面一显示,就能在Combo框中显示默认的数据

    答: 你要在OnInitDialog里面加上我上面所提到的SetCurSel()函数就行了.

     

    5、要立即响应选择框的改变(即选择框一改变选项,就立刻将结果传递进去)!
       响应他的哪个消息比较好?

       如果是只能选择的响应ON_CBN_SELCHANGE

       如果是可以编辑的,那么要立刻响应编辑就是ON_CBN_EDITCHANGE

     

    5.  如何把选好的内容赋给变量

    答: 先给CCOMBOBOX设置一个CString关联变量,再添加事件处理函数CBN_ Selchange.使用UpdateData(FALSE)就行了.

     

    6. 在CComboBox组合框中,条目的对齐方式是左对齐,能设置为对中或者右对齐吗?

    答: 没有直接的方法,你必须自己对齐, 比如最大长度是10

        int i;

         String.Format("%10d", i);

    CComboBox->AddString

    7、介绍一下列表框几种常用的消息映射宏:

       ON_CBN_DBLCLK 鼠标双击
       ON_CBN_DROPDOWN 列表框被弹出
       ON_CBN_KILLFOCUS / ON_CBN_SETFOCUS 在输入框失去/得到输入焦点时产生
       ON_CBN_SELCHANGE 列表框中选择的行发生改变
       ON_CBN_EDITUPDATE 输入框中内容被更新
       使用以上几种消息映射的方法为定义原型如:afx_msg void memberFxn( );的函数,
       并且定义形式如ON_Notification( id, memberFxn )的消息映射。
       如果在对话框中使用组合框,Class Wizard会自动列出相关的消息,并能自动产生消息映射代码。

    8、设置当前项或得到当前是第几项
       
       m_ComboBox1.SetCurSel(N);    //SetCurSel函数可改变标签
    控件当前选定的项目
        //这个N可以是-1,表示无选择,0表示第一项,1表示第二项。。
       m_ComboBox1.GetCurSel();     //得到当前是第几项.0是第一项,1是第二项

     

    //*****************************************************************

    以下为ComboBox控件的常用属性设置及常用函数介绍

    CComboBox控件又称作组合框控件,其有三种形态可供选择,

     

           1.简单组合框(Simple)

     

           2.下拉组合框(Drop-down)

     

           3.下拉列表式组合框(Drop-down list).

     

    CComboBox控件的常用设置属性说明:

             type属性:里面一共有三个选项.就是其三种形式, 我们常用的是后两种形态,其区别就是Dropdown的编辑区为可编辑控件,而droplist为静态控件.

     

             Data属性:当程序初始化的时候,下拉列表将显示其属性里面的内容,内容用分号分隔.其属性只支持后2中形式,

     

             Sort 属性:对添加到下拉列表框中的数据自动进行排序,如果你不想他改变你的显示序列,把他设置成False.

    控件是一个窗口.其基类是为CWnd.所以CComboBox也可以使用CWnd的一些函数,它自己的函数有30几种.我写了一个示范程序,演示了一些常用的函数,你可以参考其代码看到其功能.

     

             注:m_cbox 为CComboBox控件的关联变量,m_end为EDIT控件的关联变量

     

         1.GetCount() 函数:用以获得列表框中的选项数目.     int GetCount() const;(此乃函数原型,我会列在每条的后面) 下面的例子是程序中各个按钮里面的代码

    int i;

         CString str;

         i=m_cbox.GetCount();

         str.Format ("%d",i);

         m_end="一共有"+str+"个数据";

    UpdateData(FALSE);

     

         2.GetCurSel() 函数:用以得到用户选中下拉列表框中数据的索引值.返回的值是重0开始的,如果没有选择任何选项将会返回-1     Int  GetCurSel() const

    int i;

         CString str;

         i=m_cbox.GetCurSel ();

         str.Format ("%d",i+1);

         if (i==-1) m_end="你什么都没有选";

         else m_end="你选的是第"+str+"项";

    UpdateData(FALSE);

     

         3.SetCurSel函数:选取列表框中的一个选项,索引从0开始,-1为什么都不选.当你需要把列表框中已经选取的内容清空时就可以使用这个函数;

    if(m_i<3) m_cbox.SetCurSel (m_i++);//m_i为int型变量 用以计数

    else {

         m_cbox.SetCurSel (-1);

         m_i=0;

               }

     

        4.SetEditSel函数:设置编辑区中蓝色选中字段的长度, BOOL SetEditSel( intnStartChar,

         int nEndChar ); nStartChar是起始的位置,当设置为-1时为不选择任何字段,nEndChar是结束位置.还有一个对应的函数GetEditSel是取得其位置,在此不详解.

    m_cbox.SetEditSel (3,5);//在编辑框中打入一串数字在按此按钮就能看到效果

                            //其作用就是选中第3到第5个字符作为热点

     

         5.Clear() Cut() Paste() Copy() 这四个函数我放在一起说,因为他们都是针对编辑框中选定的文字进行编辑的函数,很多初学者很不明白这4个函数,使用这些函数没有作用,其实不然,这些函数对于在编辑框中的内容不进行处理,他真正处理的是你用鼠标选中的内容,对于Clear()函数很多书中解释都是有误的,很多书中对他的解释是清除当前选中的文本,我认为这样的解释是有歧异的,真正的解释是把你刚选中的文本释放掉,也就是不选,而不是把选中的删除,真正的删除选中的文本的函数是Cut(),Copy()是复制选中的文本,Paste()是粘贴到光标处.其演示就不写在程序中,有兴趣的朋友可以自己试试.

     

         6.LimitText()函数.其作用是限制在编辑框中键入的文本长度,BOOL LimitText(int nMaxChars); 当nMaxChars为0时,不是不能输入,而是长度最大化为65535字节

     

         7.GetLBText()函数.其原型为void GetLBText( int nIndex, CString&rString ).nIndex为列表框中数据的索引值,rString 为字符串,其作用就是把索引号为nIndex的数据放到rString变量中.与其对应的GetLBTextLen(intnIndex)函数就是得到索引号为nIndex中数据的长度

                  m_cbox.GetLBText (2,m_end); // GetLBText按钮

              UpdateData(0);

                       CString str;  //GetLBTextLen按钮

              int i=m_cbox.GetLBTextLen (2);

              str.Format ("%d",i);

              m_end=str;

              UpdateData(FALSE);

         8.AddString()  DeleteString()  InsertString()  ResetContent() 四个函数放在一起,他们都是针对下拉列表框的处理函数, AddString(LPCTSTR lpszString) 是在列表框的尾巴添加一条数据,参数为字符串. DeleteString(UINT nIndex)为删除指定索引为nIndex的数据. InsertString(int nIndex, LPCTSTR lpszString)在索引nIndex处插入IpszString的内容. ResetContent()是清除列表框中所有的内容.

         9.SetDroppedWidth(UINT nWidth) 函数.用于设定下拉列表框的最小宽度,当下拉列表框中的数据很长不能完全显示时,我们可以使用这个函数把列表框的宽度设置的大些.同样GetDroppedWidth()是返回列表框的宽度.

     

    http://blog.163.com/guobin0517@126/blog/static/50841978201092195514919/


          10.组合框下拉列表内容按输入数据顺序显示:Properties->Sort 设置为False

           



    展开全文
  • 下面就来看看如何使用C#给word文档添加组合框、文本、图片、日期选取器及下拉列表等内容控件(这里我借助了一个word组件Spire.Doc)。 添加组合框内容控件 组合框用于显示用户可以选择的项目列表。和下拉列表不同的...
  • C# 给Word文档添加内容控件

    千次阅读 2016-06-13 17:08:06
    下面就来看看如何使用Spire.Doc及C#给word文档添加组合框、文本、图片、日期选取器及下拉列表等内容控件。 添加组合框内容控件 组合框用于显示用户可以选择的项目列表。和下拉列表不同的是组合框允许用户编辑或添加...

    在MSWord中,我们可以通过内容控件来向word文档中插入预先定义好的模块,指定模块的内容格式(如图片、日期、列表或格式化的文本等),从而创建一个结构化的word文档。下面就来看看如何使用C#给word文档添加组合框、文本、图片、日期选取器及下拉列表等内容控件(这里我借助了一个word组件Spire.Doc)。

    添加组合框内容控件

    组合框用于显示用户可以选择的项目列表。和下拉列表不同的是组合框允许用户编辑或添加项。

    //给段落添加一个内容控件并指定它的SDTtype为Combo Box
    StructureDocumentTagInline sd = new StructureDocumentTagInline(document);
    paragraph.ChildObjects.Add(sd);
    sd.SDTProperties.SDTType = SdtType.ComboBox;
     
    //创建一个Combo Box, 添加选项并把它赋值给内容控件
    SdtComboBox cb = new SdtComboBox();
    cb.ListItems.Add(new SdtListItem("Cat"));
    cb.ListItems.Add(new SdtListItem("Dog"));
    sd.SDTProperties.ControlProperties = cb;
     
    //设置显示文本
    TextRange rt = new TextRange(document);
    rt.Text = cb.ListItems[0].DisplayText;
    sd.SDTContent.ChildObjects.Add(rt);



    添加文本内容控件

    纯文本控件包含文本,但不能包含其他项,例如表格、图片或其他内容控件。此外,纯文本控件中的所有文本都具有相同的格式。

    添加文本内容控件的步骤和添加组合框内容控件类似,核心代码如下:

    paragraph = section.AddParagraph();
    sd = new StructureDocumentTagInline(document);
    paragraph.ChildObjects.Add(sd);
    sd.SDTProperties.SDTType = SdtType.Text;
    SdtText text = new SdtText(true);
    text.IsMultiline = true;
    sd.SDTProperties.ControlProperties = text;
    rt = new TextRange(document);
    rt.Text = "Text";
    sd.SDTContent.ChildObjects.Add(rt);


     

     

    添加图片内容控件

    图片控件用于显示图像。我们可以在设计时或运行时指定图像,用户也可以单击此控件以选择要插入文档中的图像。

    核心代码:

    paragraph = section.AddParagraph();
    sd = new StructureDocumentTagInline(document);
    paragraph.ChildObjects.Add(sd);
    sd.SDTProperties.SDTType = SdtType.Picture;
    DocPicture pic = new DocPicture(document){ Width = 10, Height = 10 };
    pic.LoadImage(Image.FromFile("C:\\Icon.jpg"));
    sd.SDTContent.ChildObjects.Add(pic);


     

    添加日期选取器内容控件

    日期选取器提供用于选择日期的日历UI。最终用户单击控件中的下拉箭头时,就会显示日历。

    核心代码:

    paragraph = section.AddParagraph();
    sd = new StructureDocumentTagInline(document);
    paragraph.ChildObjects.Add(sd);
    sd.SDTProperties.SDTType = SdtType.DatePicker;
    SdtDate date = new SdtDate();
    date.CalendarType = CalendarType.Default;
    date.DateFormat = "yyyy.MM.dd";
    date.FullDate = DateTime.Now;
    sd.SDTProperties.ControlProperties = date;
    rt = new TextRange(document);
    rt.Text = "1990.02.08";
    sd.SDTContent.ChildObjects.Add(rt);


     

    添加下拉列表内容控件

    下拉列表显示了用户可以选择的项目列表。和组合框不同的是,下拉列表不允许用户添加或编辑项。

    核心代码:

    paragraph = section.AddParagraph();
    sd = new StructureDocumentTagInline(document);
    paragraph.ChildObjects.Add(sd);
    sd.SDTProperties.SDTType = SdtType.DropDownList;
    SdtDropDownList sddl = new SdtDropDownList();
    sddl.ListItems.Add(newSdtListItem("Harry"));
    sddl.ListItems.Add(newSdtListItem("Jerry"));
    sd.SDTProperties.ControlProperties = sddl;
    rt = new TextRange(document);
    rt.Text = sddl.ListItems[0].DisplayText;
    sd.SDTContent.ChildObjects.Add(rt);


     

    全部代码:

    using System;
    using System.Drawing;
    using Spire.Doc;
    using Spire.Doc.Documents;
    using Spire.Doc.Fields;
     
    namespace Insert_content_control_in_word_document
    {
        class Program
        {
            static void Main(string[] args)
            {
               //创建一个新的Word文档
               Document document = newDocument();
               Section section = document.AddSection();
               Paragraph paragraph = section.AddParagraph();
     
               //添加组合框内容控件
               StructureDocumentTagInline sd = new StructureDocumentTagInline(document);
               paragraph.ChildObjects.Add(sd);
               sd.SDTProperties.SDTType = SdtType.ComboBox;
               SdtComboBox cb = newSdtComboBox();
               cb.ListItems.Add(new SdtListItem("Cat"));
               cb.ListItems.Add(new SdtListItem("Dog"));
               sd.SDTProperties.ControlProperties = cb;
               TextRange rt = newTextRange(document);
               rt.Text = cb.ListItems[0].DisplayText;
               sd.SDTContent.ChildObjects.Add(rt);
     
               //添加文本内容控件
               paragraph = section.AddParagraph();
               sd= new StructureDocumentTagInline(document);
               paragraph.ChildObjects.Add(sd);
               sd.SDTProperties.SDTType = SdtType.Text;
               SdtText text = newSdtText(true);
               text.IsMultiline = true;
               sd.SDTProperties.ControlProperties = text;
               rt= new TextRange(document);
               rt.Text = "Text";
               sd.SDTContent.ChildObjects.Add(rt);
     
               //添加图片内容控件
               paragraph = section.AddParagraph();
               sd= new StructureDocumentTagInline(document);
               paragraph.ChildObjects.Add(sd);
               sd.SDTProperties.SDTType = SdtType.Picture;
               DocPicture pic = newDocPicture(document) { Width = 10, Height =10 };
               pic.LoadImage(Image.FromFile("C:\\Icon.jpg"));
               sd.SDTContent.ChildObjects.Add(pic);
     
               //添加日期选取器内容控件
               paragraph = section.AddParagraph();
               sd= new StructureDocumentTagInline(document);
               paragraph.ChildObjects.Add(sd);
               sd.SDTProperties.SDTType = SdtType.DatePicker;
               SdtDate date = newSdtDate();
               date.CalendarType = CalendarType.Default;
               date.DateFormat = "yyyy.MM.dd";
               date.FullDate = DateTime.Now;
               sd.SDTProperties.ControlProperties = date;
               rt= new TextRange(document);
               rt.Text = "1990.02.08";
               sd.SDTContent.ChildObjects.Add(rt);
     
               //添加下拉列表内容控件
               paragraph = section.AddParagraph();
               sd= new StructureDocumentTagInline(document);
               paragraph.ChildObjects.Add(sd);
               sd.SDTProperties.SDTType = SdtType.DropDownList;
               SdtDropDownList sddl = newSdtDropDownList();
               sddl.ListItems.Add(new SdtListItem("Harry"));
               sddl.ListItems.Add(new SdtListItem("Jerry"));
               sd.SDTProperties.ControlProperties = sddl;
               rt= new TextRange(document);
               rt.Text = sddl.ListItems[0].DisplayText;
               sd.SDTContent.ChildObjects.Add(rt);
     
               //保存并重启文件
               string resultfile = "sample.docx";
               document.SaveToFile(resultfile, FileFormat.Docx);
               System.Diagnostics.Process.Start(resultfile);
               
            }
        }
    }
     


     

    展开全文
  • Visual Studio程序员箴言中文扫描PDF

    热门讨论 2010-12-28 01:04:18
    技巧2.28 在“书签”窗口如何在书签文件夹之间导航 46 技巧2.29 为快速查找的所有结果创建书签 46 2.4 intellisense 47 语句完成、参数信息和完成单词 47 技巧2.30 使用ctrl+j键调用语句完成 48 技巧...
  • Visual C++编程技巧精选500例.pdf

    热门讨论 2012-09-01 15:01:50
    024 如何在列表框中自动装载磁盘文件列表? 025 如何使1istContro1控件支持整栏选择? 026 如何使用PictureBox控件浏览多种格式的图像? 第3章 通用对话框 027 如何使用字体对话框? 028 如何使用颜色对话框? 029 如何...
  • 实例155 如何在图片移动文字 220 4.7 图像动画 221 实例156 动画背景窗体 221 实例157 随鼠标移动的图像 223 实例158 十字光标定位 224 实例159 抓取鼠标指针的形状 225 实例160 图像的上下对接显示...
  • VBA常用技巧

    2014-12-21 16:39:28
    技巧109 组合框和列表框添加列表项的方法 12 109-1 使用RowSource属性添加列表项 12 109-2 使用List属性添加列表项 12 109-3 使用AddItem方法添加列表项 12 技巧110 去除列表框数据源的重复值和空格 12 技巧111 移动...
  • VBA编程技巧大全

    2013-08-05 09:03:19
    技巧109 组合框和列表框添加列表项的方法 247 109-1 使用RowSource属性添加列表项 247 109-2 使用List属性添加列表项 248 109-3 使用AddItem方法添加列表项 249 技巧110 去除列表框数据源的重复值和空格 251 技巧111...
  • 389 MFC是如何在Visual Studio实现的 390 调用Visual Studio向导创建一个基于MFC的程序 391 引入Cobiect 392 应用程序结构类 393 使用对象类 394 文件服务类 395 使用设备场景类 396 绘图对象类 397 控件、支持、...
  • 389 MFC是如何在Visual Studio实现的 390 调用Visual Studio向导创建一个基于MFC的程序 391 引入Cobiect 392 应用程序结构类 393 使用对象类 394 文件服务类 395 使用设备场景类 396 绘图对象类 397 控件、支持、...
  • 389 MFC是如何在Visual Studio实现的 390 调用Visual Studio向导创建一个基于MFC的程序 391 引入Cobiect 392 应用程序结构类 393 使用对象类 394 文件服务类 395 使用设备场景类 396 绘图对象类 397 控件、支持、...
  • 389 MFC是如何在Visual Studio实现的 390 调用Visual Studio向导创建一个基于MFC的程序 391 引入Cobiect 392 应用程序结构类 393 使用对象类 394 文件服务类 395 使用设备场景类 396 绘图对象类 397 控件、支持、...
  • delphi 开发经验技巧宝典源码

    热门讨论 2010-08-12 16:47:23
    0291 系统菜单中添加菜单 189 0292 状态栏中放置其他组件 189 0293 改变下拉列表的文字颜色 190 8.7 窗体的特殊效果 191 0294 如何动态分割窗体 191 0295 如何将应用程序背景与桌面融合 191 0296...
  • C#编程经验技巧宝典

    热门讨论 2008-06-01 08:59:33
    79 <br>0116 如何在字符串中查找指定字符 79 <br>0117 如何在字符串中用一子串替换另一子串 80 <br>0118 将新字符串添加到已有字符串中 80 <br>0119 如何在字符串中添加多个空格 81 <br>0120...
  • 实例311 向组合框中插入数据 实例312 输入数据时的辅助提示 实例313 列表宽度的自动调节 实例314 颜色组合框 实例315 枚举系统盘符 实例316 QQ登录式的用户选择列表 7.5 列表框控件 实例317 禁止列表框信息...
  • 实例311 向组合框中插入数据 实例312 输入数据时的辅助提示 实例313 列表宽度的自动调节 实例314 颜色组合框 实例315 枚举系统盘符 实例316 QQ登录式的用户选择列表 7.5 列表框控件 实例317 禁止列表框信息...
  • MSDEV.EXE-应用程序错误解决办法.

    热门讨论 2010-01-17 14:04:47
    从 类别 列表框中选择 加载 。 将 OpenFile 命令拖到 文件 菜单中拖出,vacated 由 打开 命令空间中。 AddFileToProject 命令到 添加项目 项在 项目 菜单上拖它 vacated 文件 命令空间中。
  • vb控件开发 开发ocx

    热门讨论 2011-02-28 16:12:16
    拷贝或移动列表框或组合框中的内容 44 , 44.txt 利用VB5开发ActiveX控件 45 , 45.txt 利用VB三维面板控件设计流动条 46 , 46.txt 浅谈用VB6.0编写BO程序 47 , 47.txt 巧用Visual Basic的TIMER控件 48 , 48.txt 取得...
  • Visual Studio程序员箴言--详细书签版

    热门讨论 2012-10-16 20:37:39
    技巧2.28 在“书签”窗口如何在书签文件夹之间导航 46 技巧2.29 为快速查找的所有结果创建书签 46 2.4 IntelliSense 47 语句完成、参数信息和完成单词 47 技巧2.30 使用Ctrl+J键调用语句完成 48 技巧...
  • 31213.3.10 创建一个组合框来查找特定的 记录 31813.3.11 创建选项卡控件 32013.3.12 改变控件类型 32413.4 完成主Personnel Actions Entry窗体 32413.5 使用子窗体/子报表向导创建子窗体 32613.6 修改连续窗体的...
  • 30413.3.5 创建绑定、多行、计算文本框 30513.3.6 改变属性的默认视图和获取帮助 30813.3.7 用向导添加选项组 30813.3.8 使用剪贴板复制控件到其他窗体 31113.3.9 使用组合和列表框 31213.3.10 创建一个组合框来查找...
  • 30413.3.5 创建绑定、多行、计算文本框 30513.3.6 改变属性的默认视图和获取帮助 30813.3.7 用向导添加选项组 30813.3.8 使用剪贴板复制控件到其他窗体 31113.3.9 使用组合和列表框 31213.3.10 创建一个组合框来查找...
  • 30413.3.5 创建绑定、多行、计算文本框 30513.3.6 改变属性的默认视图和获取帮助 30813.3.7 用向导添加选项组 30813.3.8 使用剪贴板复制控件到其他窗体 31113.3.9 使用组合和列表框 31213.3.10 创建一个组合框来查找...
  • 实例246 将数据库数据添加组合框中 实例247 ListBox控件间交换数据 实例248 借助绑定控件实现数据选择录入 11.6 ListView控件应用 实例249 ListView控件间的数据移动 实例250 将数据库数据添加到ListView...
  • 实例246 将数据库数据添加组合框中 实例247 ListBox控件间交换数据 实例248 借助绑定控件实现数据选择录入 11.6 ListView控件应用 实例249 ListView控件间的数据移动 实例250 将数据库数据添加到ListView...
  • 实例246 将数据库数据添加组合框中 实例247 ListBox控件间交换数据 实例248 借助绑定控件实现数据选择录入 11.6 ListView控件应用 实例249 ListView控件间的数据移动 实例250 将数据库数据添加到ListView...
  •  实例095 数组中添加一个元素 112  实例096 数组中添加一个数组 113  实例097 不改变长度删除数组中的元素 115  实例098 删除数组元素后改变其长度 116 4.2 常用数组排序算法 117  实例099 使用选择...

空空如也

空空如也

1 2 3 4 5 6
收藏数 116
精华内容 46
关键字:

如何在组合框中添加列表项