MFC编辑框控件(editbox)的一些用法(转)
VCMFC中的CComboBox控件使用详解

VCMFC中的CComboBox控件使用详解VC/MFC中的CComboBox控件使用详解CComboBox控件详解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() constint 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.GetLBT ext (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()是返回列表框的宽度.以下为总结了各大论坛中对CCombBox控件使用的问题.并给出了正解.1.关于CComboBox在对话框中没有下拉项目的问题答: 资源编辑器中对话框中CComboBox组件的垂直范围拉大了下,就看见字体了,看到那个向下的黑箭头了吗,点他下拉,嘿嘿就这么简单.2.请问怎样能让CCombobox记住用户的输入.下次使用时还有答: 要记住用户的输入必须用到文件读写,或者把内容添加到注册表中,我会在以后给出解决办法.3. CCOMBOBOX如何使它只读,不能编辑答: 看了本文的介绍也许你现在知道了, CCOMBOBOX有三种类型的,选择你需要的吧!4. 我要让界面一显示,就能在Combo框中显示默认的数据答: 你要在OnInitDialog里面加上我上面所提到的SetCurSel()函数就行了.5. 如何把选好的内容赋给变量答: 先给CCOMBOBOX设置一个CString关联变量,再添加事件处理函数CBN_ Selchange.使用UpdateData(FALSE)就行了.6. 在CComboBox组合框中,条目的对齐方式是左对齐,能设置为对中或者右对齐吗?答: 没有直接的方法,你必须自己对齐, 比如最大长度是10int i;String.Format("%10d", i);CComboBox->AddStringVC combobox 使用大全 ---------------------------------------------------一、如何添加/删除Combo Box内容1. 在Combo Box控件属性的Data标签里面添加,一行表示Combo Box下拉列表中的一行。
mfc复选框使用

mfc复选框使用
MFC复选框是一种常用的控件,可用于选择多个选项。
使用MFC 复选框可以方便地实现复选框的创建、设置和操作。
具体实现步骤如下:
1. 在对话框资源编辑器中拖拽复选框控件到对话框中。
2. 在对话框类头文件中声明复选框控件的成员变量,如:CButton m_checkBox。
3. 在对话框类的OnInitDialog函数中使用DDX_Control函数将复选框控件与成员变量关联,如:DDX_Control(pDX, IDC_CHECKBOX, m_checkBox)。
4. 在需要进行操作的函数中使用CButton类提供的函数对复选框进行设置和操作,如:m_checkBox.SetCheck(BST_CHECKED)设置复选框为选中状态。
5. 监听复选框控件的WM_COMMAND消息并在处理函数中进行相
应的操作,如:当复选框状态发生改变时,执行一些操作。
总之,使用MFC复选框可以方便实现多选项选择,并且具有灵活性和易用性,适用于各种应用场景。
- 1 -。
mfc中messagebox用法

mfc中messagebox用法中文例句:嘿,我在MFC 程序里想给用户提个醒儿,就用MessageBox 弹出个框告诉他们“操作成功啦,赶紧接着嗨呀!”,那感觉倍儿爽,就像给他们发了个开心小炸弹。
AfxMessageBox ("操作成功啦,赶紧接着嗨呀!");哟呵,程序出岔子啦,我立马用MessageBox 甩出来个警告框,对着用户喊:“哎呀妈呀,这咋搞的呀,咋出错了呢,赶紧瞅瞅呀!”,那紧张的氛围一下子就起来了。
MessageBox (NULL, "哎呀妈呀,这咋搞的呀,咋出错了呢,赶紧瞅瞅呀!", "错误警告", MB_OK | MB_ICONERROR);我正捣鼓MFC 呢,想问问用户是不是真要删除那重要文件,就弄了个MessageBox,跟他们说:“嘿,亲,你可真要删这宝贝文件呀?删了可就没喽,想好了没呀?”,感觉自己像个操心的老妈子。
int nRet = MessageBox (NULL, "嘿,亲,你可真要删这宝贝文件呀?删了可就没喽,想好了没呀?", "确认删除", MB_YESNO |MB_ICONQUESTION);在MFC 项目里,当登录失败的时候,我气呼呼地用MessageBox 吼道:“哼,登录咋就失败了呢,你是不是输错密码啦,好好想想呀!”,那气愤劲儿都快从框里冒出来了。
MessageBox (NULL, "哼,登录咋就失败了呢,你是不是输错密码啦,好好想想呀!", "登录失败", MB_OK | MB_ICONEXCLAMATION);哇哦,完成了一项超难的任务,我兴奋地用MessageBox 向用户报喜:“哇哈哈,任务搞定啦,厉害不,快给我点赞呀!”,就盼着他们也跟着乐呢。
AfxMessageBox ("哇哈哈,任务搞定啦,厉害不,快给我点赞呀!");嘿呀,用户在MFC 界面里瞎点,我就用MessageBox 提醒他们:“喂喂喂,别瞎点呀,按规矩来呀,不然要出乱子咯!”,真怕他们把程序搞崩咯。
【MFC】MessageBox用法详解

【MFC】MessageBox⽤法详解结合上⼀篇【MFC】基于对话框的键盘响应与MessageBox的⽤法写了这⼀段基于对话框的显⽰某⼀按键被按下次数的代码:void CKEYDlg::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags){// TODO: Add your message handler code here and/or call defaultCString str ;CString Temp;static int i = 0;if (nChar == 'A'){i++;str = "已经按下A键的次数:";Temp.Format("%d",i);str += Temp;MessageBox(str,"提⽰!");}CDialog::OnKeyDown(nChar, nRepCnt, nFlags);}///////////下⾯是⽹上找的⼀篇详解MessageBox⽤法的⽂章,改了改放在这留作查阅参考////////////////// MessageBox对话框是⽐较常⽤的⼀个信息对话框,其不仅能够定义显⽰的信息内容、信息提⽰图标,⽽且可以定义按钮组合及对话框的标题,是⼀个功能齐全的信息对话框信息提⽰图标,⽽且可以定义按钮组合及对话框的标题,是⼀个功能齐全的信息对框。
⼀函数原型及参数function MessageBox(hWnd: HWND; Text, Caption: PChar; Type: Word): Integer;hWnd:对话框⽗窗⼝句柄,对话框显⽰在Delphi窗体内,可使⽤窗体的Handle属性,否则可⽤0,使其直接作为桌⾯窗⼝的⼦窗⼝。
Text:欲显⽰的信息字符串。
Caption:对话框标题字符串。
Type:对话框类型常量。
该函数的返回值为整数,⽤于对话框按钮的识别。
MFC编程总结各种控件使用说明

MFC各种控件的使用说明把整数显示为时间格式的方法:Int minute=5; int sec=5;CString strTime;strTime.Format("%02d:%02d",minute,sec);GetDlgItem(IDC_STAT_DIS)->SetWindowText(strTime);定时器的使用方法:在函数BOOL CDingshiqiDlg::OnInitDialog(){SetTimer(1,1000,NULL);}添加语句SetTimer(1,1000,NULL);定时器1秒钟中断一次.然后添加消息WM_TIMER对应的消息函数:void CDingshiqiDlg::OnTimer(UINT nIDEvent){}播放系统声音的方法:在头文件添加这两句#include<mmsystem.h>#pragma comment (lib,"winmm.lib")然后调用函数: PlaySound("SystemStart",NULL,SND_ALIAS|SND_ASYNC);VC++6.0控件工具箱:2 图形控件(picture):常用于显示位图(Bitmap)和图标(Icon)3 静态文本(Static Text):MFC提供了CStatic类支持静态控件。
(1)更改该控件上字体的方法是:该控件的ID为IDC_STATIC1,IDC_STATIC2.CFont * f1;f1 = new CFont;f1 -> CreateFont( 25 , // nHeight15, // nWidth0 , // nEscapement0 , // nOrientationFW_BOLD, // nWeightFALSE , // TRUEbItalicFALSE, // bUnderline0 , // cStrikeOutDEFAULT_CHARSET, //ANSI_CHARSET nCharSetOUT_DEFAULT_PRECIS, // nOutPrecisionCLIP_DEFAULT_PRECIS, // nClipPrecisionDEFAULT_QUALITY, // nQualityDEFAULT_PITCH | FF_SWISS, // nPitchAndFamily_T( " 宋体" )); // lpszFacGetDlgItem(IDC_STATIC1)-> SetFont(f1);GetDlgItem(IDC_STATIC2)-> SetFont(f1);另一种改变字体大小的方法: 在函数外定义CStatic m_static;CFont font;m_static.SubclassDlgItem(IDC_STAT_DIS,this);LOGFONT log;GetObject(::GetStockObject(DEFAULT_GUI_FONT),sizeof(log),&log);log.lfHeight=300; //改log.lfWidth=120; //改log.lfCharSet=GB2312_CHARSET;lstrcpy(log.lfFaceName, _T("宋体"));font.CreateFontIndirect(&log);m_static.SetFont(&font);(2) 把整数显示在该控件的方法:IDC_STAT_DIS为控件IDInt minute=5,sec=5;CString strTime;strTime.Format("%02d:%02d",minute,sec);GetDlgItem(IDC_STAT_DIS)->SetWindowText(strTime);另外一种显示的方法:CStatic*pst=(CStatic *)GetDlgItem(IDC_STAT_DIS);pst->SetWindowText("00:00");4 编辑框(Edit Box):MFC提供了CEdit类支持编辑框控件。
MFC控件使用手册

图 6. 6 为控件映射添加成员变量
5. 检查一下现在的 ClassWizard 对话框(图 6.7)与图 6.5 相比有何不同。在图 6.7 所示的对话框中下方的 Maximum characters 文本框中输入 50。由字面意思 可以很容易猜出其含义,即将编辑框 IDC_EDIT 中可能的最长字符串的大小限制 为 50。单击 OK 关闭对话框。
具体值,而只需要记住相应的助记符。对于这里的编辑框控件,我们只需要记住 IDC_EDIT 即可,而不需要关心它等于 1001。接着,我们在 Styles 选项卡中设置 了 Multiline 属性,同时清除了 Auto HScroll 属性,两者共同作用使用得编辑 框 IDC_EDIT 支持多行文本,并且如文本行的长度超过编辑框宽度时自动回行。
第一节 使用对话框编辑器和 ClassWizard
对于大多数 Windows 标准控件,我们一般都使用对话框编辑器来将它们添加到对 话框中。
图 6. 1 在 ResourceView 中选择对话框 IDD_DIALOGDEMO_DIALOG
图 6. 2 控件的 Properties 对话框
图 6. 3 对话框编辑器的 Controls 工具窗口 在下面的过程中,我们将一个编辑框控件添加到在第四章创建的基于对话框的 MFC 框架应用程序的主对话框窗口中。 1. 首先,在 Workspace 窗口的 ResourceView 选项内双击 DialogDemo resources\Dialog 节点下的 IDD_DIALOGDEMO_DIALOG 图标。上面的操作如图所 示。 2. 用鼠标选中标有“要做……”的静态文本控件。右击鼠标,从上下文菜单中 选择 Properties,打开如图 6.2 所示的对话框,在 Caption 文本框中输入新的 控件文本:“在下面的文本框中输入一些字符”,然后将静态文本控件拖动到对 话框的左上角。 3. 从 Controls 工具窗口(如图 6.3 所示,如果在你的资源编辑器中看不到该工 具窗口,可以在工具条上右击鼠标,从上下文菜单中选择 Controls)中选择编辑 控件图标 ,在对话框中绘制一个编辑框控件,如图 6.4 所示。 在该编辑框控件的 Properties 窗口的 General 选项卡中输入其 ID 为 IDC_EDIT。 然后在 Styles 选项卡下将 Multiline 复选框划上勾,并消除 Auto HScroll 复选 框前的勾。 4. 右击该编辑框控件,从上下文菜单中选择 ClassWizard 命令,打开 ClassWizard 对话框,该对话框看起来如图 6.5 所示。
MFC——ComBox用法大全

MFC——ComBox用法大全Combo Box (组合框)控件很简单,可以节省空间。
从用户角度来看,这个控件是由一个文本输入控件和一个下拉菜单组成的。
用户可以从一个预先定义的列表里选择一个选项,同时也可以直接在文本框里面输入文本。
下面的例子简要说明如何利用 MFC CComboBox Class来操作字符串列表。
1、定义控件对应变量假定已经创建了一个Dialog,并且从控件工具箱将 Combo Box 控件拖放到上面。
打开 Class Wizard,添加控件对应变量,如:CComboBox m_cbExamble;在后面的代码中会不断使用这个变量。
2、向控件添加 Items1) 在Combo Box控件属性的Data标签里面添加,一行表示Combo Box下拉列表中的一行。
换行用ctrl+回车。
2) 利用函数 AddString() 向 Combo Box 控件添加 Items,如:m_cbExample.AddString(“StringData1”);m_cbExample.AddString(“StringData2”);m_cbExample.AddStrin g(“StringData3”);3) 也可以调用函数 InsertString() 将 Item 插入指定位置 nIndex,如:m_cbExample.InsertString( nIndex, “StringData” );3、从控件得到选定的Item假设在控件列表中已经选定某项,现在要得到被选定项的内容,首先要得到该项的位置,然后得到对应位置的内容。
这里会用到两个函数,如:int nIndex = m_cbExample.GetCurSel();CString strCBText;m_cbExample.GetLBText( nIndex, strCBText);这样,得到的内容就保存在 strCBText 中。
若要选取当前内容,可调用函数GetWindowText(strCBText)。
MFC控件使用详细教程

使用Windows标准控件我们在前面曾提到过,控件是一些行为标准化了的窗口,一般用于对话框或其它窗口中充当与用户交互的元素。
在Visual C++中,可以使用的控件分成三类:(1) Windows标准控件Windows标准控件由Windows操作系统提供,在Windows 95中还提供了一些新增的控件。
所有这些控件对象都是可编程的,我们可以使用Visual C++提供的对话框编辑器把它们添加到对话框中。
Microsoft基础类库(MFC)提供了封装这些控件的类,它们列于表6.1。
表6.1 Windows标准控件续表6.1前面提到过,在MFC中,类CWnd是所有窗口类的基类,很自然的,它也是所有控件类的基类。
Windows标准控件在以下环境下提供:•Windows 95•Windows NT 3.51及以后版本•Win32s 1.3•注意:•Visual C++ 4.2及以后版本不再支持Win32s。
(2) ActiveX控件ActiveX控件可用于对话框中,也可用于HTML文档中。
这种控件过去被称为OLE 控件。
本书将在专门的章节中来讲述关于ActiveX控件的知识。
这里仅指出ActiveX控件使用了与标准控件完全不同的接口和实现方法。
(3) 其它MFC控件类除了Windows标准控件和自己编写的或者来自于第三方软件开发商的ActiveX 控件以外,MFC还提供了另外三种控件,它们由下面的三个类进行封装:•类CBitmapButton用于创建以位图作为标签的按钮,位图按钮最多可以包括四个位图图片,分别代表按钮的四种不同状态。
•类CCheckListBox用于创建选择列表框,这种列表框中的每一项前面有一个复选框,以决定该项是否被选中。
•类CDragListBox用于创建一种特殊的列表框,这种列表框允许用户移动列表项。
在本章我们仅讲述第一类控件,即Windows标准控件。
所涉及的内容包括各个控件的使用及相应的技巧。