-
固定位置创建对话框
2013-04-27 21:27:19在单击按钮后,如何创建一个固定位置的对话框?我试过了在OnBtn中创建CDlg类实例,通该类的实例实现SetWindowPos或者MoveWindow时,会产生一个wincore的错误,该错误主要是由于SetWindowPos或者MoveWindow中的Is...在单击按钮后,如何创建一个固定位置的对话框?我试过了在OnBtn中创建CDlg类实例,通该类的实例实现SetWindowPos或者MoveWindow时,会产生一个wincore的错误,该错误主要是由于SetWindowPos或者MoveWindow中的IsWindow错误造成的,获取不到相应的窗口句柄。解决该问题可以通过动态创建一个实例: void CMyDlg::OnBtnCreatedia() { // TODO: Add your control notification handler code here dlgMode.Create(IDD_DIALOG_MODE, this); dlgMode.MoveWindow(100,100,300, 300); dlgMode.ShowWindow(SW_SHOW); }
class CMyDlg : public CDialog { // Construction public: CMyDlg(CWnd* pParent = NULL); // standard constructor // Dialog Data //{{AFX_DATA(CMyDlg) enum { IDD = IDD_MY_DIALOG }; // NOTE: the ClassWizard will add data members here //}}AFX_DATA // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CMyDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL // Implementation protected: HICON m_hIcon; // Generated message map functions //{{AFX_MSG(CMyDlg) virtual BOOL OnInitDialog(); afx_msg void OnSysCommand(UINT nID, LPARAM lParam); afx_msg void OnPaint(); afx_msg HCURSOR OnQueryDragIcon(); afx_msg void OnCreatedia(); afx_msg void OnCreatemodelessdia(); //}}AFX_MSG DECLARE_MESSAGE_MAP() private: CDlgMode dlgMode; };
// 固定位置显示对话框Dlg.cpp : implementation file // #include "stdafx.h" #include "固定位置显示对话框.h" #include "固定位置显示对话框Dlg.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif / // CAboutDlg dialog used for App About class CAboutDlg : public CDialog { public: CAboutDlg(); // Dialog Data //{{AFX_DATA(CAboutDlg) enum { IDD = IDD_ABOUTBOX }; //}}AFX_DATA // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CAboutDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL // Implementation protected: //{{AFX_MSG(CAboutDlg) //}}AFX_MSG DECLARE_MESSAGE_MAP() }; CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD) { //{{AFX_DATA_INIT(CAboutDlg) //}}AFX_DATA_INIT } void CAboutDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CAboutDlg) //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CAboutDlg, CDialog) //{{AFX_MSG_MAP(CAboutDlg) // No message handlers //}}AFX_MSG_MAP END_MESSAGE_MAP() / // CMyDlg dialog CMyDlg::CMyDlg(CWnd* pParent /*=NULL*/) : CDialog(CMyDlg::IDD, pParent) { //{{AFX_DATA_INIT(CMyDlg) // NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT // Note that LoadIcon does not require a subsequent DestroyIcon in Win32 m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); } void CMyDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CMyDlg) // NOTE: the ClassWizard will add DDX and DDV calls here //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CMyDlg, CDialog) //{{AFX_MSG_MAP(CMyDlg) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() ON_BN_CLICKED(IDC_CREATEDIA, OnCreatedia) ON_BN_CLICKED(IDC_CREATEMODELESSDIA, OnCreatemodelessdia) //}}AFX_MSG_MAP END_MESSAGE_MAP() / // CMyDlg message handlers BOOL CMyDlg::OnInitDialog() { CDialog::OnInitDialog(); // Add "About..." menu item to system menu. // IDM_ABOUTBOX must be in the system command range. ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX < 0xF000); CMenu* pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL) { CString strAboutMenu; strAboutMenu.LoadString(IDS_ABOUTBOX); if (!strAboutMenu.IsEmpty()) { pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); } } // Set the icon for this dialog. The framework does this automatically // when the application's main window is not a dialog SetIcon(m_hIcon, TRUE); // Set big icon SetIcon(m_hIcon, FALSE); // Set small icon // TODO: Add extra initialization here return TRUE; // return TRUE unless you set the focus to a control } void CMyDlg::OnSysCommand(UINT nID, LPARAM lParam) { if ((nID & 0xFFF0) == IDM_ABOUTBOX) { CAboutDlg dlgAbout; dlgAbout.DoModal(); } else { CDialog::OnSysCommand(nID, lParam); } } // If you add a minimize button to your dialog, you will need the code below // to draw the icon. For MFC applications using the document/view model, // this is automatically done for you by the framework. void CMyDlg::OnPaint() { if (IsIconic()) { CPaintDC dc(this); // device context for painting SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); // Center icon in client rectangle int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect; GetClientRect(&rect); int x = (rect.Width() - cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2; // Draw the icon dc.DrawIcon(x, y, m_hIcon); } else { CDialog::OnPaint(); } } // The system calls this to obtain the cursor to display while the user drags // the minimized window. HCURSOR CMyDlg::OnQueryDragIcon() { return (HCURSOR) m_hIcon; } void CMyDlg::OnCreatedia() { // TODO: Add your control notification handler code here dlgMode.Create(IDD_DIALOG_MODE, this); dlgMode.MoveWindow(100,100,300, 300); // dlgMode.DoModal(); dlgMode.ShowWindow(SW_SHOW); // dlgMode.SetWindowPos(this, 100,100,300, 300,SWP_SHOWWINDOW ); // dlgMode.DoModal(); } void CMyDlg::OnCreatemodelessdia() { // TODO: Add your control notification handler code here }
-
elementui 对话框中的popover位置不固定_Excel中“分列”功能的基本用法,简单实用!...
2021-01-16 19:48:31Excel分列功能非常强大,不仅仅可以将单元格数据拆分成多列,而且还可以利用列数据...利用“固定宽度”进行拆分单元格下图的数据是从网络拷贝过来的,现在所有的数据都放在了A列,我们如何将这些数据按照不同的字...Excel分列功能非常强大,不仅仅可以将单元格数据拆分成多列,而且还可以利用列数据格式来规范数据。
一、将单列单元格数据轻松拆分成多列
Excel分列主要功能就是将单列数据拆分成多列,它提供两种方式:
第一种利用“分隔符号”进行拆分;第二种就是利用“固定宽度”进行拆分。
以下分别说明:
1.利用“固定宽度”进行拆分单元格
下图的数据是从网络拷贝过来的,现在所有的数据都放在了A列,我们如何将这些数据按照不同的字段拆分成多列呢?
下面我们先利用“固定宽度”的方式来进行拆分。
1、选择“固定宽度”
2、在需要的位置上单击以建立分列线
3、不需要的数据可直接选中,然后单击“不导入此列(跳过)“忽略掉,另外可选择分列后数据的存放位置。
4、拆分完毕,完全按照不同的字段排列了。
2.利用“分隔符号”进行拆分
要求同上,下面我们来演示如何利用“分隔符号”进行同样的拆分。
所谓“分隔符号”,通常包括了空格,符号,以及文字。
我们通过观察发现,此例中利用“空格”这个分隔符号来进行拆分可以达到需要的而结果。
1、选择分隔符号
2、勾选“连续分隔符号视为单个处理”这点非常重要
3、位置可选择放在它处
4、殊途同归,也很方便。
二、轻松规范日期格式
通常在工作中,关于日期格式最为常见的错误有下图中的4种,这些错误会导致Excel表格无法统计。
现在我们利用分列功能就可以轻轻松松解决这些问题了。
很眼熟吧。
对于错误日期一, 很多同学都可以轻松解决。
直接选中这列数据,Ctrl+H打开替换对话框,查找对话框类输入英文半角句号“.",替换框内填入”-",单击全部替换即可。
其实对于这些奇奇怪怪的非标准日期格式,使用分列功能可以一次搞定。
三、轻松转换单元格格式的技巧
1.巧妙将文本型数字转换成数字型格式
文本型数字是无法求和的,因此在遇到需要统计的时候,通常需要将文本型数字转换成数字型数字,方法很多,今天我们利用分列来达成这一效果。
2.巧妙去除单元格中的多余空格
在Excel中,空格很不受待见,那么如何去除单元格的多余空格呢?下面我们来演示分列的方法。
一些系统中导出的Excel文件尤其需要去除类似的空格
要忽略空格那一列
-
word 图片位置固定方法
2016-08-18 17:21:05插入一幅图片,如何可以固定图片位置呢?对Word感兴趣的朋友可加Word学习交流群:180627193(www.itblw.com) word第一种图片位置固定方法: 右击图片,选“设置图片格式”,在“设置图片格式”对话框中,选中...我们在Word中给文档添加图片可以达到图文并茂,从而产生更好的效果。默认情况下,插入的图片总是随随文字移动而移动。插入一幅图片,如何可以固定图片位置呢?对Word感兴趣的朋友可加Word学习交流群:180627193(www.itblw.com)
word第一种图片位置固定方法:
右击图片,选“设置图片格式”,在“设置图片格式”对话框中,选中“版式”选项卡,环绕方式选“浮于文字上方”, 再点“高级”按钮,在“高级版式”对话框中的“图片位置”页把“对象随文字移动” 和“锁定标记”前面的勾去掉即可。
word第二种图片位置固定方法:
可以使用“文本框”方式。先单击选中已经插入的图片,选菜单“插入→文本框→横/竖排”命令后, 设置文本框边框线条色为“无”,再将光标置于文本框中的图片的后边,回车后输入要说明的文字并设置成属性,这样就把图片及其说明文字固定在了文本框中,无论你将文本框放在了Word文档中的什么位置,图片与其说明文字的相对位置是永远不变的。
-
6.17--如何 保持和恢复 工具栏 的位置和状态?
2010-03-17 13:32:00下面介绍如何使应用程序记住控制栏的状态和位置,包括其可视还是隐藏、固定还是浮动、水平还是垂直等信息。 很幸运,保持和恢复这些信息只需要简单的调用CFrameWnd::SaveBarState()和CFrameWnd::LoadBarState(),这...现在的Window程序经常被许多控制栏填充的满满的,像工具栏、状态栏、对话框栏和自定义栏等待。下面介绍如何使应用程序记住控制栏的状态和位置,包括其可视还是隐藏、固定还是浮动、水平还是垂直等信息。
很幸运,保持和恢复这些信息只需要简单的调用CFrameWnd::SaveBarState()和CFrameWnd::LoadBarState(),这两个函数的声明都很简单:
void CFrameWnd::SaveBarState(LPCTSTR lpszProfileName) const;
void CFrameWnd::LoadBarState(LPCTSTR lpszProfileName) const;
lpszProfileName是一个简单的字符串,在函数中用来保存和恢复信息的,在多窗口程序中,每个窗口都有保存自己的控制栏信息。
下面的步骤说明了如何为一个窗口保存控制栏状态:
第一步:用ClassWizard添加WM_CLOSE_消息句柄,在其中调用SaveBarState()函数
const CString strBarState = _T( "MainFrameBarState" );
void CMainFrame::OnClose()
{// Save bar state
SaveBarState(strBarState);
CMDIFrameWnd::OnClose();
}第二步:在OnCreate()函数的最后调用LoadBarState()函数
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CMDIFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;............
LoadBarState(strBarState);
return 0;
} -
底部PopupWindow+流布局的实现
2016-08-14 13:13:34PopupWindow简介 ...(1)AlterDialog的位置是固定的,而PopupWindow的位置是随意的。 (2)AlterDialog不会阻塞线程,而PopupWindow会阻塞线程。 2.那么如何使用 我们在下面会给出,就不过多介绍了,直接在项 -
专家门诊 Visual C++开发答疑300问 pdf书(含全部代码)
2009-11-16 22:20:23如何固定视图间的分隔线 如何动态改变切分窗口的大小 如何实现切分窗口中视图的动态切换 OnDraw和OnPaint之间有什么关系 如何弹出右键菜单 如何显示级联菜单 如何给系统菜单添加一个菜单项 如何将窗体顶端标题栏的... -
excel的使用
2012-11-25 17:06:01@符号的位置决定了Excel输入的数字数据相对于添加文本的位置。(3)创建条件格式 可以使用六种逻辑符号来设计一个条件格式:>(大于)、>=(大于等于)、<(小于)、(小于等于)、=(等于)、(不等于),如果你... -
Visual C++开发实战1200例(第1卷).(清华出版.刘锐宁.梁水.李伟明).part1
2016-06-16 01:35:396.6 对话框的位置控制 实例260 始终在最上面的窗体 实例261 如QQ般隐藏的窗体 实例262 晃动的窗体 实例263 磁性窗体 6.7 控制对话框的标题栏 实例264 闪烁标题栏的窗体 实例265 隐藏和显示标题栏 实例266 ... -
Visual C++开发实战1200例(第1卷).(清华出版.刘锐宁.梁水.李伟明).part2
2016-06-16 01:38:196.6 对话框的位置控制 实例260 始终在最上面的窗体 实例261 如QQ般隐藏的窗体 实例262 晃动的窗体 实例263 磁性窗体 6.7 控制对话框的标题栏 实例264 闪烁标题栏的窗体 实例265 隐藏和显示标题栏 实例266 ... -
第一部分 界面设计
2013-10-22 23:10:34实例102 如何修改文件打开对话框的按钮标题 实例103 如何使用查找与替换对话框 实例104 如何获取和设置当前目录 实例105 如何判断文件类型 实例106 如何获取系统所有文件类型 实例107 如何获取和设置文件属性 ... -
LINGO软件的学习
2009-08-08 22:36:50学完本节后,你对基于建模技术的集如何引入模型会有一个基本的理解。 2.1 为什么使用集 集是LINGO建模语言的基础,是程序设计最强有力的基本构件。借助于集,能够用一个单一的、长的、简明的复合公式表示一系列相似... -
VC之美化界面篇本文专题讨论VC中的界面美化,适用于具有中等VC水平的读者。读者最好具有以下VC基础:
2009-06-17 10:17:32WM_CTLCOLOR消息缺省处理函数CWnd::OnCtlColor返回一个HBRUSH类型的句柄,这样,就可以设置前景和背景文本颜色,并为控件或者对话框的非文本区域选定一个刷子。 WM_CTLCOLOR的映射函数原型如下: afx_msg HBRUSH ... -
工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究
2017-02-28 21:22:19尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得东南大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已... -
VBSCRIPT中文手册
2010-11-12 10:13:06InStrRev 函数 返回一个字符串在另一个字符串中出现的位置,是从字符串的末尾算起。 Int 函数 返回数的整数部分。 整数除法运算符(\) 两数相除,返回的商取其整数部分。 Is 运算符 比较两个对象引用变量。 ... -
vb Script参考文档
2009-07-28 22:13:02InStrRev 函数 返回一个字符串在另一个字符串中出现的位置,是从字符串的末尾算起。 Int 函数 返回数的整数部分。 整数除法运算符(\) 两数相除,返回的商取其整数部分。 Is 运算符 比较两个对象引用变量。 ... -
VBSCRIP5 -ASP用法详解
2010-09-23 17:15:46InStrRev 函数 返回一个字符串在另一个字符串中出现的位置,是从字符串的末尾算起。 Int 函数 返回数的整数部分。 整数除法运算符(\) 两数相除,返回的商取其整数部分。 Is 运算符 比较两个对象引用变量。 ... -
Visual C++ 编程资源大全(源码 窗体)
2007-10-19 22:27:22例如在你的\MSDEV\LIB(VC5.0在DevStudio\VC\Lib)目录下的Win32Api.CSV就是这样的文件(16KB)<END><br>53,scrl.zip 这是一个由Visual C++ 5.0开发的基于对话框的应用,它演示如何使用CListCtrl::Scroll()函数,它是... -
阿香婆截图软件v7.0中文注册版.rar
2019-09-03 22:01:36如何控制截图程序:捕获栏(屏幕顶部边缘)将鼠标指针移动到屏幕顶部边缘,捕获栏就会自动浮现,运用此技术,你可以方便的开始/停止捕获图像,或是访问程序设置,注意,你也可以根据需要自定义设置捕获栏的位置。... -
游戏资源提取工具
2012-10-12 14:59:15存储文件具有相同的名称和它的位置创建一个文件夹,如果一个。 如果下面的文件夹,设置如下的输出文件夹。 缓冲区大小内存,用于提取文件的大小。 -临时文件夹一个位置来提取临时视图,如果您通过双击播放。 当您... -
GNOME GTK+ 编程宝典.pdf
2012-11-19 15:28:083.2 对话框的工作方式 3.3 gnome定义的对话框 3.3.1 做一个简单的声明 3.3.2 询问一个简单的问题 3.3.3 确定对话框类型 3.3.4 键盘输入 3.3.5 传给回调的数据 3.3.6 进度条 3.4 创建弹出式窗口和... -
C# for CSDN 乱七八糟的看不懂
2012-06-03 15:40:47预定义类型 下表列出了预定义类型,并说明如何使用。 类型 object 说明 所有其他类型的最终 基类型 字符串类型; 字符串是 Unicode 字符序列 8 位有符号整型 16 位有符号整型 32 位有符号整型 64 位有符号整型 示例... -
vc++ 应用源码包_1
2012-09-15 14:22:12内部包含了atl控件的开发以及如何应用,演示了COM的包容与集合、自动化、事件和连接点、枚举器和集合以及线程管理等等。 ATL实现的CDHtmlDialog模板类v1.03 使用了六个类五个模块类演示了atl的调用方法 ... -
vc++ 应用源码包_2
2012-09-15 14:27:40内部包含了atl控件的开发以及如何应用,演示了COM的包容与集合、自动化、事件和连接点、枚举器和集合以及线程管理等等。 ATL实现的CDHtmlDialog模板类v1.03 使用了六个类五个模块类演示了atl的调用方法 ... -
vc++ 应用源码包_6
2012-09-15 14:59:46内部包含了atl控件的开发以及如何应用,演示了COM的包容与集合、自动化、事件和连接点、枚举器和集合以及线程管理等等。 ATL实现的CDHtmlDialog模板类v1.03 使用了六个类五个模块类演示了atl的调用方法 ... -
LINQPad_Premium_5.31.00_Beta_Any_CPU
2018-07-09 14:56:29单击此处获取有关如何向C#团队提供反馈的信息。 现在有一个vi仿真模式!转到编辑| 首选项| vi启用模式。请在此处报告任何问题。 LINQPad现在支持C#7.2。转到样本| C#7中有关C#7.2新功能演示的新功能。 F#... -
JavaScript王者归来
2014-11-05 13:59:2510.2.5 指定匹配的位置 10.2.6 标志——高级模式匹配的规则 10.3 模式匹配 10.3.1 用于模式匹配的String方法及其例子 10.3.2 用于模式匹配的RegExp方法 10.3.2.1 一个使用exec()方法从身份证号码获取生日的例子 10.3... -
vc++ 应用源码包_5
2012-09-15 14:45:16内部包含了atl控件的开发以及如何应用,演示了COM的包容与集合、自动化、事件和连接点、枚举器和集合以及线程管理等等。 ATL实现的CDHtmlDialog模板类v1.03 使用了六个类五个模块类演示了atl的调用方法 ... -
EXCEL 2007 宝典 附光盘文件
2010-04-02 14:43:05range copy.xlsm:一个包含复制一个大小不固定区域的VBA宏的工作簿。 range move.xlsm:一个包含移动单元格区域的VBA宏的工作簿。 select cells.xlsm:一个包含演示选中区域技巧的VBA宏的工作簿。 selection ... -
vc++ 应用源码包_4
2012-09-15 14:38:35内部包含了atl控件的开发以及如何应用,演示了COM的包容与集合、自动化、事件和连接点、枚举器和集合以及线程管理等等。 ATL实现的CDHtmlDialog模板类v1.03 使用了六个类五个模块类演示了atl的调用方法 ... -
vc++ 应用源码包_3
2012-09-15 14:33:15内部包含了atl控件的开发以及如何应用,演示了COM的包容与集合、自动化、事件和连接点、枚举器和集合以及线程管理等等。 ATL实现的CDHtmlDialog模板类v1.03 使用了六个类五个模块类演示了atl的调用方法 ...