MFC学习小范例(编辑框控件的使用)

上传人:桔**** 文档编号:494561990 上传时间:2023-11-27 格式:DOCX 页数:14 大小:64.10KB
返回 下载 相关 举报
MFC学习小范例(编辑框控件的使用)_第1页
第1页 / 共14页
MFC学习小范例(编辑框控件的使用)_第2页
第2页 / 共14页
MFC学习小范例(编辑框控件的使用)_第3页
第3页 / 共14页
MFC学习小范例(编辑框控件的使用)_第4页
第4页 / 共14页
MFC学习小范例(编辑框控件的使用)_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《MFC学习小范例(编辑框控件的使用)》由会员分享,可在线阅读,更多相关《MFC学习小范例(编辑框控件的使用)(14页珍藏版)》请在金锄头文库上搜索。

1、大家所熟知的编辑框即是 QQ 聊天窗口的输入编辑框,同样,MFC 中的编辑框也是类似的东西,下面请看这个程序实现之 后的截图分为上下两个编辑框窗口,上面的窗口实现输入,而点击显 示后实现的是下面窗口的显示,类似于 QQ 聊天窗口的发送 确定和取消实现的是关闭程序。请看截图:第一个截图是我在编辑框中输入一行语句,当然可以实现多 行输入,也可以实现汉语的输入,下面的截图是我点击显示 之后出现的运行画面。源代码如下:编辑框控件的使用.cpp/编辑框控件的使用.cpp :定义应用程序的类行为。/#include stdafx.h#in elude 编辑框控件的使用.h#include 编辑框控件的使用

2、 Dlg.h#ifdef _DEBUG#define new DEBUG_NEW#endif/ C 编辑框控件的使用 AppBEGIN_MESSAGE_MAP(C 编辑框控件的使用 App, CWinApp)ON_COMMAND(ID_HELP, &CWinApp:OnHelp)END_MESSAGE_MAP()/ C 编辑框控件的使用 App 构造C 编辑框控件的使用 App:C 编辑框控件的使用 App()/ TODO: 在此处添加构造代码,/ 将所有重要的初始化放置在 InitInstance 中/ 唯一的一个 C 编辑框控件的使用 App 对象C 编辑框控件的使用 App theApp

3、;/ C 编辑框控件的使用 App 初始化BOOL C 编辑框控件的使用 App:InitInstance()/ 如果一个运行在 Windows XP 上的应用程序清单指定 要/ 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化 方式,则需要InitCommonControlsEx()。否贝lj,将无法创建窗口。INITCOMMONCONTROLSEX InitCtrls;InitCtrls.dwSize = sizeof(InitCtrls);/ 将它设置为包括所有要在应用程序中使用的/ 公共控件类。InitCtrls.dwICC = ICC_WIN95_CLASSES;In

4、itCommonControlsEx(&InitCtrls);CWinApp:InitInstance();AfxEnableControlContainer();/ 标准初始化/ 如果未使用这些功能并希望减小/ 最终可执行文件的大小,则应移除下列/ 不需要的特定初始化例程/ 更改用于存储设置的注册表项/ TODO: 应适当修改该字符串,/ 例如修改为公司或组织名SetRegistryKey(_T(应用程序向导生成的本地应用程序);C 编辑框控件的使用 Dlgdlg; m_pMainWnd = &dlg;INT_PTR nResponse = dlg.DoModal();if (nRespon

5、se = IDOK)/ TODO: 在此放置处理何时用/ “确定”来关闭对话框的代码else if (nResponse = IDCANCEL)/ TODO: 在此放置处理何时用/ “取消”来关闭对话框的代码/ 由于对话框已关闭,所以将返回 FALSE 以便退出应用 程序,/ 而不是启动应用程序的消息泵。return FALSE;编辑框控件的使用 Dlg.cpp/ 编辑框控件的使用 Dlg.cpp : 实现文件/#include stdafx.h#in elude 编辑框控件的使用.h#include 编辑框控件的使用 Dlg.h#ifdef _DEBUG#define new DEBUG_N

6、EW#endif/ 用于应用程序“关于”菜单项的 CAboutDlg 对话框classCAboutDlg : public CDialogpublic:CAboutDlg();/ 对话框数据enum IDD = IDD_ABOUTBOX ;protected:virtual void DoDataExchange(CDataExchange* pDX); /DDX/DDV 支持/ 实现protected:DECLARE_MESSAGE_MAP();CAboutDlg:CAboutDlg() : CDialog(CAboutDlg:IDD)voidCAboutDlg:DoDataExchange

7、(CDataExchange* pDX)CDialog:DoDataExchange(pDX);BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)END_MESSAGE_MAP()/ C 编辑框控件的使用 Dlg 对话框C 编辑框控件的使用 Dlg:C 编辑框控件的使用 Dlg(CWnd* pParent /*=NULL*/): CDialog(C 编辑框控件的使用 Dlg:IDD, pParent)m_hIcon = AfxGetApp()-LoadIcon(IDR_MAINFRAME);void C 编 辑 框 控 件 的 使 用 Dlg:DoDataExchang

8、e(CDataExchange* pDX)CDialog:DoDataExchange(pDX);DDX_Control(pDX, IDC_EDIT1, m_edit1);DDX_Control(pDX, IDC_EDIT2, m_edit2);BEGIN_MESSAGE_MAP(C 编辑框控件的使用 Dlg, CDialog) ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON() /AFX_MSG_MAPON_BN_CLICKED(IDC_BUTTON1, &C 编辑框控件 的使用Dlg:OnBnClickedButton1)END_MES

9、SAGE_MAP()/ C编辑框控件的使用Dig消息处理程序BOOL C 编辑框控件的使用 Dlg:OnInitDialog()CDiaiog:OnInitDiaiog();/ 将“关于.”菜单项添加到系统菜单中。/ IDM_ABOUTBOX 必须在系统命令范围内。ASSERT(IDM_ABOUTBOX & 0xFFF0) = IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX AppendMenu(MF_SEPARATOR);pSysMenu-AppendMenu(MF_STRING,IDM_ABOUTBOX, strAboutMenu);/ 设置此对话框的图标。当应用程序主

10、窗口不是对话框时,框架将自动/ 执行此操作SetIcon(m_hIcon, TRUE); / 设置大图标SetIcon(m_hIcon, FALSE); / 设置小图标/ TODO: 在此添加额外的初始化代码return TRUE; / 除非将焦点设置到控件,否则返回TRUEvoid C 编辑框控件的使用 Dlg:OnSysCommand(UINT nID,LPARAM lParam)if (nID& 0xFFF0) = IDM_ABOUTBOX)CAboutDlgdlgAbout;dlgAbout.DoModal();elseCDialog:OnSysCommand(nID, lParam)

11、;/ 如果向对话框添加最小化按钮,则需要下面的代码/ 来绘制该图标。对于使用文档/视图模型的 MFC 应用程 序,/ 这将由框架自动完成。void C 编辑框控件的使用 Dlg:OnPaint()if (IsIconic()CPaintDC dc(this); / 用于绘制的设备上下文SendMessage(WM_ICONERASEBKGND,reinterpret_cast(dc.GetSafeHdc(), 0);/ 使图标在工作区矩形中居中intcxIcon = GetSystemMetrics(SM_CXICON); intcyIcon = GetSystemMetrics(SM_CYI

12、CON); CRectrect;GetClientRect(&rect);int x = (rect.Width() - cxIcon + 1) / 2;int y = (rect.Height() - cyIcon + 1) / 2;/ 绘制图标dc.DrawIcon(x, y, m_hIcon);elseCDialog:OnPaint();/当用户拖动最小化窗口时系统调用此函数取得光标/显示。HCURSOR C 编辑框控件的使用 Dlg:OnQueryDragIcon() returnstatic_cast(m_hIcon); void C 编辑框控件的使用 Dlg:OnBnClickedButton1() /清除编辑框 2 的内容/将编辑框 1中的内容复制到/清除编辑框 1的内容/将剪贴板中的内容粘贴到编m_edit2.SetSel(0,-1); m_edit2.ReplaceSel(L);m_edit1.SetSel(0,-1);m_edit1.Copy();剪贴板m_edit1.ReplaceSel(L);m_edit2.Paste();辑框 2 中/ TODO: 在此添加控件通知处理程序代码这些是主要的源代码,一些头文件的定义并不出现在以上的 源代码中,需要的请联系我QQ:546190761(写好备注)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号