mfc 动态创建EDIT控件
知识点:
CWnd::Create
CWnd::CreateEx
Spy++工具
动态创建控件 一、 CWnd::Create 参数 virtual BOOL Create( LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext = NULL); BOOL CreateEx(DWORD dwExStyle, LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, LPVOID lpParam = NULL); dwExStyle
扩展样式 0x204 lpszClassName
类名 未知的话可以用spy++获取
lpszWindowName
窗口名
dwStyle
风格
rect
矩形
pParentWnd
父窗口
nID
窗口ID
pContext
窗口上下文环境 二、代码测试: int CDialog_Dynamics_Create::OnInitDialog(void)
{
CDialog::OnInitDialog();
// TODO: 在此添加控件通知处理程序代码
// myedt.Create(WS_BORDER|WS_CHILD|WS_VISIBLE|WS_TABSTOP|ES_AUTOHSCROLL|ES_CENTER,CRect(0,0,100,50),this,100081);
//myedt.CWnd::Create(L"Edit",L"myedit",0x50010080,CRect(0,0,100,50),this,100081);
//myedt.CWnd::CreateEx(0x204,L"Edit",L"myedit",0x50010080,CRect(0,0,100,50),this,100081);
myedt.CreateEx(WS_EX_CLIENTEDGE,L"Edit",L"myedit",WS_BORDER|WS_CHILD|WS_VISIBLE|WS_TABSTOP|ES_AUTOHSCROLL|ES_CENTER,CRect(,,,),this,);
myedt2.Create(WS_BORDER|WS_CHILD|WS_VISIBLE|WS_TABSTOP|ES_AUTOHSCROLL|ES_CENTER,CRect(,,,),this,);
return ;
} dwExStyle扩展窗口风格: •WS_EX_ACCEPTFILES 指明用这个风格创建的窗口能够接受拖放文件。
•WS_EX_CLIENTEDGE 指明窗口具有3D外观,这意味着,边框具有下沉的边界。
•WS_EX_CONTEXTHELP 在窗口的标题条中包含问号。当用户单击问号时,鼠标光标的形状变为带指针的问号。如果用户随后单击一个子窗口,子窗口将接收到一个WM_HELP消息。
•WS_EX_CONTROLPARENT 允许用户用TAB键遍历窗口的子窗口。
• WS_EX_DLGMODALFRAME 指明一个具有双重边界的窗口,当你在dwStyle参数中指定了WS_CAPTION风格标志时,它可以具有标题条(可选)。
• WS_EX_LEFT 指定窗口具有左对齐属性。这是缺省值。
• WS_EX_LEFTSCROLLBAR 将垂直滚动条放在客户区的左边。
• WS_EX_LTRREADING 按照从左到右的方式显示窗口文本。这是缺省方式。
• WS_EX_MDICHILD 创建一个MDI子窗口。
• WS_EX_NOPARENTNOTIFY 指定用这个风格创建的子窗口在被创建或销毁的时候将不向父窗口发送WM_PARENTNOTIFY消息。
•WS_EX_OVERLAPPEDWINDOW 组合了WS_EX_CLIENTEDGE和WS_EX_WIND-OWEDGE风格。
• WS_EX_PALETTEWINDOW 组合了WS_EX_WINDOWEDGE和WS_EX_TOPMOST风格。
• WS_EX_RIGHT 赋予窗口右对齐属性。这与窗口类有关。
• WS_EX_RIGHTSCROLLBAR 将垂直滚动条(如果有)放在客户区的右边。这是缺省方式。
• WS_EX_RTLREADING 按照从右到左的顺序显示窗口文本。
• WS_EX_STATICEDGE 创建一个具有三维边界的窗口,用于不接受用户输入的项。
• WS_EX_TOOLWINDOW 创建一个工具窗口,目的是被用作浮动工具条。工具窗口具有标题条,比通常的标题条要短,窗口的标题是用小字体显示的。工具窗口不出现在任务条或用户按下ALT+TAB时出现的窗口中。
• WS_EX_TOPMOST 指定用这个风格创建的窗口必须被放在所有非顶层窗口的上面,即使这个窗口已经不处于激活状态,它还是保留在最上面。应用程序可以用SetWindowsPos成员函数来加入或去掉这个属性。
• WS_EX_TRANSPARENT 指定了用这个风格创建的窗口是透明的。这意味着,在这个窗口下面的任何窗口都不会被这个窗口挡住。用这个风格创建的窗口只有当它下面的窗口都更新过以后才接收WM_PAINT消息。
• WS_EX_WINDOWEDGE 指定了具有凸起边框的窗口。 dwStyle窗口风格:
• WS_BORDER 创建一个有边界的窗口。
• WS_CAPTION 创建一个有标题条的窗口(隐含WS_BORDER风格)。不能与WS_DLGFRAME风格一起使用。
• WS_CHILD 创建一个子窗口。不能与WS_POPUP风格一起使用。
• WS_CLIPCHILDREN 当你在父窗口中绘图时,除去子窗口所占的区域。在创建父窗口的时候使用。
• WS_CLIPSIBLINGS 剪裁相关的子窗口,这意味着,当一个特定的子窗口接收到重绘消息时,WS_CLIPSIBLINGS风格将在子窗口要重画的区域中去掉与其它子窗口重叠的部分。(如果没有指定WS_CLIPSIBLINGS风格,并且子窗口有重叠,当你在一个子窗口的客户区绘图时,它可能会画在相邻的子窗口的客户区中。)只与WS_CHILD风格一起使用。
• WS_DISABLED 创建一个初始状态为禁止的窗口。
• WS_DLGFRAME 创建一个窗口,具有双重边界,但是没有标题条。
• WS_GROUP 指定一组控件中的第一个,用户可以用箭头键在这组控件中移动。在第一个控件后面把WS_GROUP风格设置为FALSE的控件都属于这一组。下一个具有WS_GROUP风格的控件将开始下一组(这意味着一个组在下一组的开始处结束)。
• WS_HSCROLL 创建一个具有水平滚动条的窗口。
• WS_MAXIMIZE 创建一个最大化的窗口。
• WS_MAXIMIZEBOX 创建一个具有最大化按钮的窗口。
• WS_MINIMIZE 创建一个初始状态为最小化的窗口。仅与WS_OVERLAPPED风格一起使用。
• WS_MINIMIZEBOX 创建一个具有最小化按钮的窗口。
• WS_OVERLAPPED 创建一个重叠窗口。重叠窗口通常具有标题条和边界。
• WS_OVERLAPPEDWINDOW 创建一个具有WS_OVERLAPPED,WS_CAPTION,WS_SYSMENU,WS_THICKFRAME,WS_MINIMIZEBOX和WS_MAXIMIZEBOX风格的重叠式窗口。
• WS_POPUP 创建一个弹出式窗口,不能与WS_CHILD风格一起使用。
• WS_POPUPWINDOW 创建一个具有WS_BORDER,WS_POPUP和WS_SYSMENU风格的弹出窗口。为了使控制菜单可见,必须与WS_POPUPWINDOW一起使用WS_CAPTION风格。
• WS_SYSMENU 创建一个在标题条上具有控制菜单的窗口。仅对带标题条的窗口使用。
• WS_TABSTOP 指定了一些控件中的一个,用户可以通过TAB键来移过它。TAB键使用户移动到下一个用WS_TABSTOP风格定义的控件。
• WS_THICKFRAME 创建一个具有厚边框的窗口,可以通过厚边框来改变窗口大小。
• WS_VISIBLE 创建一个最初可见的窗口。
• WS_VSCROLL 创建一个具有垂直滚动条的窗口。
mfc 动态创建EDIT控件的更多相关文章
- winform 用户控件、 动态创建添加控件、timer控件、控件联动
用户控件: 相当于自定义的一个panel 里面可以放各种其他控件,并可以在后台一下调用整个此自定义控件. 使用方法:在项目上右键.添加.用户控件,之后用户控件的编辑与普通容器控件类似.如果要在后台往窗 ...
- WinForm用户控件、动态创建添加控件、timer控件--2016年12月12日
好文要顶 关注我 收藏该文 徐淳 关注 - 1 粉丝 - 3 0 0 用户控件: 通过布局将多个控件整合为一个控件,根据自己的需要进行修改,可对用户控件内的所有控件及控件属性进行修 ...
- winform用户控件、动态创建添加控件、timer控件、控件联动
用户控件: 相当于自定义的一个panel 里面可以放各种其他控件,并可以在后台一下调用整个此自定义控件. 使用方法:在项目上右键.添加.用户控件,之后用户控件的编辑与普通容器控件类似.如果要在后台往窗 ...
- 用ATL和MFC来创建ActiveX控件
摘要:目前MFC和ATL代表了两种框架,分别面向不同类型的基于Windows的开发.MFC代表了创建独立的Windows应用的一种简单.一致的方法:ATL提供了一种框架来实现创建COM客户机和服务器所 ...
- MFC对话框的Edit控件实现响应Ctrl+A全选,并实现自动/手动换行+滚动条
首先是在Properties中设置控件属性的问题,首先必须得将Mutilines属性设为true,才能支持多行显示. 手动换行(按Enter键换行):将Want Return属性设为true 自动换行 ...
- MFC学习之EDIT控件初始化
//四种方法为EDIT控件初始化 //调用系统API HWND hEidt = ::GetDlgItem(m_hWnd,IDC_EDIT1); ::SetWindowText( ...
- 【VS开发】动态创建ActiveX控件
bool CCollectDataDlgDlg::CreateMyCtrl(LPRECT lpRect, UINT nID, CWnd *pParent) { CLSID clsid; wstri ...
- 在CTabCtrl上动态创建CListCtrl控件
m_List.Create(WS_OVERLAPPED|WS_CHILD|WS_VISIBLE|LVS_REPORT|LVS_AUTOARRANGE|LVS_SHOWSELALWAYS|LVS_EDI ...
- [UE4]认识CanvasPanelSlot,Construct Object From Class动态创建UI控件
Canvas Panel Slot是UserWidget的Canvas Panel组件容器内的组件特有的属性. 只有放置在Canvas Panel容器内才会有Canvas Panel Slot属性 可 ...
随机推荐
- ConstraintLayout (约束布局)属性详情
本文部分内容来自于网络,点击浏览原文 app:layout_constraintLeft_toLeftOf //Constrains the left side of a child to the l ...
- vm virtualBox下 centos7 Linux系统 与本地 window 系统 网络连接 配置
由于要模拟生产环境开发,所以要在自己的电脑上安装虚拟机,这里做一下记录. centos与本机网络连接 1. 环境 虚拟机 VirtualBox-5.2.0-118431-Win Linux镜像 Cen ...
- 移动端采坑:Position: fixed 在Safari上的Bug
Position: fixed 在IOS上的显示效果 会出现两种情况: 点击fixed定位的元素会出现fixed定位失效导致的元素贴向底部,即position: absolute,bottom: 0p ...
- UI第二组与数据库对接时遇到的问题记录
此为组内某一位做UI的同学的随笔. 之前的app由于没有加入数据库,所以每次重新启动里面的东西都会回到初始状态,即不能保存内容.我们的数据库小组已经很棒地基本完成了数据库的工作,于是我就准备加入数据库 ...
- maven学习笔记--maven项目创建
使用Maven命令和Eclipse的Maven插件,创建Maven项目 (1)maven命令生成项目 新建一个文件目录,dos进入该目录并执行下面命令: mvn archetype:c ...
- 解决在IDEA 的Maven下 出现 Cannot access in offline mode 问题
去掉maven前面的work offline模式
- C# 泛型约束 xxx<T> Where T:约束(一)
泛型约束 代码举例 发现我们游戏的代码中,主程写了很多类似这样的代码: public static T CreateObject<T>(out int objectId) where T ...
- linux常见问题解决
1.登录环境故障的原理及解决办法? -bash-4.1$ -bash-4.1$ cp /etc/skel/.bash* .
- jquery ajax 设置请求头header 参数
$.ajax( { url:'http://127.0.0.1:30080/api-a/quasiCustom/selectCustomList', type:'post', dateType:'js ...
- ansible(一)
Ansible简介 Ansible:Ansible的核心程序Host Lnventory:记录了每一个由Ansible管理的主机信息,信息包括ssh端口,root帐号密码,ip地址等等.可以通过fil ...