MFC中如何给编辑框设置文本内容?

MFC中如何给编辑框设置文本内容?,第1张

1、打开VisualStudio2013依次点击左上角的文件-新建-项目。

2、在d出的新建项目窗口中依次点击:已安装 - 模板- VisualC++ - MFC,再点击MFC应用程序,并输入项目名(也可直接使用默认名称)在此例中我们取名为MyFirstMFC,最后点击确定按钮。

3、在程序中添加一个编辑框和一个按钮,设置按钮ID为IDC_SetText,Caption为“设置编辑框文本”;设置编辑框ID为IDC_EditBox;调整好窗口的大小。

4、双击“设置编辑框文本”按钮,在按钮的处理程序中添加代码:

GetDlgItem(IDC_EditBox)->SetWindowText(_T("我是编辑框的内容"))

5、生成程序,启动调试,点击按钮就会设置编辑框中的内容。

1.从简单易用角度讲,用Dialog比较好。单文档的话,楼主可能找不到吧控件拖到哪里去。而且单文档有框架类和视图类,要在视图类里改,不要在框架类里面改。

2.Dialogue的话,看你的需要了。在controls框里面拖一个列表控件。然后用classwizard添加一个control型成员m_list。对控件的 *** 作,可以通过 *** 作这个成员来实现。

3.楼主会发现,有3个类,一个是aboutdlg,这个是显示版本信息的对话框,不用管。

一个是C**App类,是应用程序类,程序就是从这里执行的,对于现在的问题,可以不用管。

还有一个是C**Dlg类,这个就是我们的dialogue窗口类,就修改这里。

4.这个类里面好多函数,如果楼主希望在对话框d出来时就有列表控件出现,并分好格子,那么,要修改它的成员函数OnInitDialog。这个函数看名字就知道是初始化对话框的。

可以在这个里面 *** 作m_list成员,来调整列表控件。

5. *** 作的具体过程呢,我这里不写太详细,说的多了反而影响学习,楼主可以自己看MSDN里面CListCtrl的成员函数,不难,找几个看的懂的试下就知道了,我也写几个:

GetItemText()得到一个条目的文本

SetItemTex:设置一个条目的文本

InsertItem:插入一个新条目

DeleteItem:删除一个新条目

等等,等等,说不尽啊,请自己看一下,不难的。

6.说到list控件,脑子里一下子出现好多东西,如在列表里面加个check功能,改个颜色,放个按钮,进度条等等,哎呀,太多了,不知道从何说起。

7.很多VC,mfc方面的书,都会在一开始描述控件的使用,楼主可以随便找一本,或者网上下一本,一步一步跟着做一次,这个东西就不会陌生了。楼主这个阶段,可能看MSDN比较困难,因为,毕竟还不是很了解VC里面MFC的各种结构,建议找本书看,入门的话,推荐孙鑫的《VC++深入详解》带视频的。

8.有问题可以发消息给我。我一般中午,晚上会在线2个小时解答问题

在CMainFrame中加成员变量

CComboBox m_comboList

CStatic m_static

然后是OnCreate()中添加代码,注释掉的是添加下拉框的代码,如下:

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)

{

if (CFrameWndEx::OnCreate(lpCreateStruct) == -1)

return -1

BOOL bNameValid

// 基于持久值设置视觉管理器和样式

OnApplicationLook(theApp.m_nAppLook)

if (!m_wndMenuBar.Create(this))

{

TRACE0("未能创建菜单栏\n")

return -1 // 未能创建

}

m_wndMenuBar.SetPaneStyle(m_wndMenuBar.GetPaneStyle() | CBRS_SIZE_DYNAMIC | CBRS_TOOLTIPS | CBRS_FLYBY)

// 防止菜单栏在激活时获得焦点

CMFCPopupMenu::SetForceMenuFocus(FALSE)

if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||

!m_wndToolBar.LoadToolBar(theApp.m_bHiColorIcons ? IDR_MAINFRAME_256 : IDR_MAINFRAME))

{

TRACE0("未能创建工具栏\n")

return -1 // 未能创建

}

if (!m_myToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||

!m_myToolBar.LoadToolBar(IDR_MYTOOLBAR ))

{

TRACE0("未能创建工具栏\n")

return -1 // 未能创建

}

CString strToolBarName

bNameValid = strToolBarName.LoadString(IDS_TOOLBAR_STANDARD)

ASSERT(bNameValid)

m_wndToolBar.SetWindowText(strToolBarName)

CString strCustomize

bNameValid = strCustomize.LoadString(IDS_TOOLBAR_CUSTOMIZE)

ASSERT(bNameValid)

m_wndToolBar.EnableCustomizeButton(TRUE, ID_VIEW_CUSTOMIZE, strCustomize)

// 允许用户定义的工具栏 *** 作:

InitUserToolbars(NULL, uiFirstUserToolBarId, uiLastUserToolBarId)

if (!m_wndStatusBar.Create(this))

{

TRACE0("未能创建状态栏\n")

return -1 // 未能创建

}

m_wndStatusBar.SetIndicators(indicators, sizeof(indicators)/sizeof(UINT))

// TODO: 如果您不希望工具栏和菜单栏可停靠,请删除这五行

m_wndMenuBar.EnableDocking(CBRS_ALIGN_ANY)

m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY)

m_myToolBar.EnableDocking(CBRS_ALIGN_ANY)

EnableDocking(CBRS_ALIGN_ANY)

DockPane(&m_wndMenuBar)

DockPane(&m_wndToolBar)

DockPane(&m_myToolBar)

// 启用 Visual Studio 2005 样式停靠窗口行为

CDockingManager::SetDockingMode(DT_SMART)

// 启用 Visual Studio 2005 样式停靠窗口自动隐藏行为

EnableAutoHidePanes(CBRS_ALIGN_ANY)

// 启用工具栏和停靠窗口菜单替换

EnablePaneMenu(TRUE, ID_VIEW_CUSTOMIZE, strCustomize, ID_VIEW_TOOLBAR)

// 启用快速(按住 Alt 拖动)工具栏自定义

CMFCToolBar::EnableQuickCustomization()

// if (CMFCToolBar::GetUserImages() == NULL)

// {

// // 加载用户定义的工具栏图像

// if (m_UserImages.Load(_T(".\\UserImages.bmp")))

// {

// m_UserImages.SetImageSize(CSize(16, 16), FALSE)

// CMFCToolBar::SetUserImages(&m_UserImages)

// }

// }

// 启用菜单个性化(最近使用的命令)

// TODO: 定义您自己的基本命令,确保每个下拉菜单至少有一个基本命令。

CList<UINT, UINT>lstBasicCommands

lstBasicCommands.AddTail(ID_FILE_NEW)

lstBasicCommands.AddTail(ID_FILE_OPEN)

lstBasicCommands.AddTail(ID_FILE_SAVE)

lstBasicCommands.AddTail(ID_FILE_PRINT)

lstBasicCommands.AddTail(ID_APP_EXIT)

lstBasicCommands.AddTail(ID_EDIT_CUT)

lstBasicCommands.AddTail(ID_EDIT_PASTE)

lstBasicCommands.AddTail(ID_EDIT_UNDO)

lstBasicCommands.AddTail(ID_APP_ABOUT)

lstBasicCommands.AddTail(ID_VIEW_STATUS_BAR)

lstBasicCommands.AddTail(ID_VIEW_TOOLBAR)

lstBasicCommands.AddTail(ID_VIEW_APPLOOK_OFF_2003)

lstBasicCommands.AddTail(ID_VIEW_APPLOOK_VS_2005)

lstBasicCommands.AddTail(ID_VIEW_APPLOOK_OFF_2007_BLUE)

lstBasicCommands.AddTail(ID_VIEW_APPLOOK_OFF_2007_SILVER)

lstBasicCommands.AddTail(ID_VIEW_APPLOOK_OFF_2007_BLACK)

lstBasicCommands.AddTail(ID_VIEW_APPLOOK_OFF_2007_AQUA)

CMFCToolBar::SetBasicCommands(lstBasicCommands)

int index = 0

RECT rect

//找到指定的工具项

while(m_myToolBar.GetItemID(index)!=ID_BUTTONCOMBO)

index++

//设置指定工具项的宽度并获取新的区域 80是宽度

m_myToolBar.SetButtonInfo(index, ID_BUTTONCOMBO, TBBS_SEPARATOR, 60)

m_myToolBar.GetItemRect(index, &rect)

//设置位置

// rect.top+=2

// rect.bottom += 200

rect.left = 0

rect.top = 2

rect.right = 60

rect.bottom = 200

// 创建并显示控件

if(!m_static.Create("static",WS_CHILD|WS_VISIBLE,rect,&m_myToolBar,100034))

return false

m_static.ShowWindow(SW_SHOW)

// if(!m_comboList.Create(WS_CHILD|WS_VISIBLE| CBS_AUTOHSCROLL| CBS_DROPDOWNLIST | CBS_HASSTRINGS , rect,

// &m_myToolBar, ID_BUTTONCOMBO))

// {

// TRACE0("Failed to create combo-box\n")

// return FALSE

// }

//

// //填充内容

//

// m_comboList.AddString("25%")

// m_comboList.AddString("50%")

// m_comboList.AddString("75%")

// m_comboList.AddString("100%")

// m_comboList.AddString("125%")

// m_comboList.AddString("150%")

// m_comboList.AddString("175%")

// m_comboList.AddString("200%")

//

// //选择默认项

// m_comboList.SetCurSel(3)

// m_comboList.ShowWindow(SW_SHOW)

return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11775309.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存