第一篇:九种js弹出对话框的方法总结
九种js弹出对话框的方法总结-
九种js弹出对话框的方法总结,需要的朋友可以参考一下-【
1、最基本的js弹出对话框窗口代码】
这是最基本的js弹出对话框,其实代码就几句非常简单:
复制代码 代码如下:
因为这是一段javascripts代码,所以它们应该放在之间。是对一些版本低的浏览器起作用,在这些老浏览器中不会将标签中的代码作为文本显示出来。要养成这个好习惯啊。
window.open(“page.html”)用于控制弹出新的窗口page.html,如果page.html不与主窗口在同一路径下,前面应写明路径,绝对路径(http://)和相对路径(../)均可。用单引号和双引号都可以,只是不要混用。
这一段代码可以加入HTML的任意位置,
和之间可以,间第二篇:九种最新微信推广实用方法总结
有的人写文章多是讲道理,而我多是讲方法。这大概是道与术的区别。我目前还不能达到讲道的境界,当然很多朋友也不是那么容易悟道。而且我关注的东西比较窄,什么行业趋势之类的文章不适合我写。而这些技巧类的往往还比较实用,只要努力去执行。
微信推广是现在很多人都非常关注的,也是非常难的一项工作。我以前也写过如何推广微信的文章,但是环境变化太快,基本上已经过时。我就结合现阶段的情况分析一些实用的微信推广方法。
第一招 软文推广
软文推广比较适合一些企业推广自己的公众号,自媒体类公众号也比较适合用软文方法推广。写好软文之后,发布到大流量的平台。点击量达到10万的话,也能吸引不少的粉丝关注,重点在于软文的质量,还有发布软文的平台。比如我自己的个人公众号(xiaoranxyx),平时没有推广,就是写文章的时候顺便提一下,也吸引了不少粉丝的关注。
第二招 微信推荐
虽然微信现在禁止互推,但是适当的推荐公众账号还是可以的,但是这得把握好尺度,否则被腾讯误判为互推就惨了。推荐公众号要隐蔽一些,别太直接,推荐一个账号就行,别推荐太多。比如管鹏的玩转微信经常利用软文的方式顺带推荐一些公众号,效果也是挺好的。
第三招 手机通讯录推广
也许有的企业或者个人拥有很多客户的手机号码资源,那么如何将这些资源转化到公众号上呢?群发短信有效吗?效果肯定不会好。这里提供一种方法供参考。可以将这些手机号批量导入QQ通讯录(通讯录工具),这里需要一个新的手机号码来绑定QQ通讯录,然后将这个手机号码绑定到微信小号,再利用微信小号来加通讯录里好友的微信。最后将私人微信的好友转化到公众号。这个方法比较复杂,步骤繁多,效果不会太好,不推荐。
第四招 QQ推广
这招也比较实用的,就是利用私人微信小号加QQ上的好友的微信,然后再将微信小号的好友转化到公众号上。这样就可以先加目标人群的QQ,这样你的客户既是你的QQ好友,又有机会成为微信粉丝,一举两得。我做本地微信号的时候也常用此方法。自媒体微信公众号用这个方法也很好。
第五招 软件推广
前不久,很多自动打招呼软件和站街软件在出售,我也购买了一套自动打招呼的软件来用。但是目前这些软件已经大部分不能用,即使能用效果也变得不好。主要方法是,利用私人微信小号加微信为好友,再将私人微信的好友转化到公众号。我前不久用的20个私人微信小号,目前全部被腾讯封了。用软件已经不太靠谱,不推荐。
第六招 利用已有资源推广
如果已经积累了很多客户资源,那么想办法利用这些资源推广也是个不错的方法。在我们自己的网站上、微博上、产品上都可以做适当的宣传。
第七招 活动推广
活动推广比较适合企业微信公众号的推广,可分为线上和线下,线上还包括互联网和微信活动,方式众多。比如在微博上发起活动,关注就有机会活动礼品。或者在微信里发起活动,介绍身边的朋友即可获得折扣礼品等等。线下方式可参考微博,比如餐厅需要推广自己的微信号,只要推出活动让每个来的客人关注微信即可享受折扣或送某某食物等等。
第八招 微信小号推广
利用微信本身的资源来推广公众号是最容易的方法,也是大部分人都在用的方法。可以利用小号加好友,每个小号可以加四五千好友都没问题(目前还不清楚小号加好友的上限)。然后再通过小号来转化。
第九招 内容为王 自然增长
现在很多公众号是可以实现自然增粉的,每天增加几十个甚至上百个粉丝都是有的。如何实现自然增长呢?有如下两个方法:
1、取一个好的名字,重点是名字中的关键字,然后认证微信号,如果微信排名靠前,这样被微信用户搜索到的关注概率就比较大了;
2、把内容做好,好的内容粉丝会主动分享到朋友圈,这样也能吸引粉丝关注。
如何转化微信好友
前面好几个方法都提到微信小号转化的问题。这个方法我也亲自去实践过,还是有很多技巧的。主要可以利用推荐名片和朋友圈等功能来推广公众号。具体方法可以关注我的博客或我的公众号(百度搜索“肖然博客”,里面有我的联系方式),空了详细写一篇文章。
以上是在腾讯禁止互推的环境下比较常用的推广方法,大部分方法我都尝试过,差不多把我知道的都写出来了。很多方法都是相通的,可以联合起来用。希望这篇文章能给大家一些推广的启示和灵感,肯定还有更好的方法,欢迎交流。
内涵趣闻网 www.52new.net
第三篇:MFC 对话框编程 -- 总结
MFC 对话框编程--总结
一、创建对话框对象
1.首先利用资源编辑器创建对话框资源,并针对该对话框资源定义一个对话框类:classCTestDlg :public CDialog
2.创建话话框对象
模态对话框的创建:
如:
CTestDlgdlg;
dlg.DoModal();
非模态对话框创建:
如:
CTestDlgdlg;
dlg.Create(IDD_DIALOG, this);
但这样是得不到一个正常显示的非模态对话框的。因为模态与非模态对话框的实现方式并不相同,这里我们还要注意几点。
非模态对话框创建完成后是隐藏着的,必须调用ShowWindow来进行显示。
对于模态对话框,当执行到DoModal 函数以创建对话框时,程序会暂停执行,直至模态对话框关闭。所以创建模态对话框可以采用局部对象。
但是,对于非模态对话框,当执行Create函数时并不会暂停执行,当执行到大括号“}后Dlg局部对象被销毁生命周期结束,于是异常出现了。
解决方法有两个:
一、在View类中定义一个CTestDlg 成员变量。
二、动态创建一个CTestDlg 变量,并重写CTestDlg 类的 PostNcDestroy函数,在该函数里销毁对象 deletethis;
无论创建的是模态对话框,还是非模态对话框,当我们单击确定或取消按钮后对话框都会消失。但这时低层的操作却是不同的。
对于模态对话框,此时对话框对象的确是被销毁了,但对于非模态对话框,这时只是隐藏起来不再显示。这需要我们自己调用DestoryWindow函数来进行销毁工作。
这时我们必须重写 CTestDlg 的 OnOK、OnCancel 两个函数(这两个是基类CDialog的虚函数),在这两个函数内调用DestroyWindow函数,并注意不再调用基类CDialog相应的函数。正确地创建非模态对话框的代码如下:
CTestDlg*pDlg = new CTestDlg;
pDlg->Create(IDD_DIALOG, this);
pDlg->ShowWindow(SW_SHOW);
同时,在CTestDlg 类的 PostNcDestroy函数中销毁对象:deletethis;
二、动态创建按钮
1.在对话框类CTestDlg 中定义一个 CButton 类对象,作为其成员变量。
2.在相应的消息处理中,调用 CButton类的Create函数创建按钮。
要注意两点:
如果在调用CButton::Create创建按钮时没有指定WS_VISIBLE 风格,那么随后一定要调用这个按钮对象的ShowWindow函数,来将该按钮显示出来。
为防止该CButton关联多个按钮,这里需要进行一些设置,如下:
if(!m_btn.m_hwnd)
{
// CButton 对象m_btn 未关联一个按钮
m_btn.Create(....);
}
else
{
// CButton 对象m_btn 已关联一个按钮
其他操作...}
当然,方法并不只这一种。但这是最漂亮的方法。
三、设置控件文本文字
1.下面列举几个用来设置控件文本文字的函数:
// 取得对话框中指定控件的窗口句柄。控件通过ID标识来指定
CWnd*GetDlgItem(int nID)const;
void CWnd::GetDlgItem(int nID, HWND* phWnd)const;
// 取得窗口文本
intGetWindowText(LPTSTR lpszStringBuf, int nMaxCount)const;
voidGetWindowText(CString& rString)const;
// 设置窗口文本
voidSetWindowText(LPCTSTR lpszString);
// 取得指定控件窗口文本。控件通过ID标识来指定
intGetDlgItemText(int nID, LPTSTR lpStr, int nMaxCount)const;
intGetDlgItemText(int nID, CString& rString)const;
// 设置指定控件窗口文本。控件通过ID标识来指定
void SetDlgItemText(int nID, LPCTSTR lpszString);
// 取得指定控件窗口文本,并转化为UINT 类型返回。控件通过ID标识来指定
UINT GetDlgItemInt(int nID, BOOL* lpTrans = NULL, BOOL bSigned = TRUE)const;// 设置指定控件窗口文本,由UINT类型转化为字符。控件通过ID标识来指定
voidSetDlgItemInt(int nID, UINT nValue, BOOL bSigned = TRUE);
2.可以为对话框控件关联一个变量,在CTestDlg 类的DoDataExchange来完成数据的更新与交换。这里我们需要重点说明 DoDataExChange 函数:
首先引用MSDN的一段解释吧:Called by the framework to exchange and validate dialog data。意指框架调用此函数来改写与确认对话框数据。
其实DoDataExChange函数主要是通过DDX_TEXT(....)或 DDX_CONTROL(....)来实现数据的实时关联的。
我从我的MSDN中随便拿来一个定义:
void AFXAPI DDX_Text(CDataExchange* pDX, int nIDC, BYTE& value);
其实这个要关联的话也很简单,没有那么复杂。如下:
value = GetDlgItemInt(nIDC);
SetDlgItemInt(nIDC, value);
而DoDataExchange 函数是在UpdateData函数内部调用的。
该函数只有一个布尔型参数,b31.org 它决定了数据传送的方向:
调用UpdateData(TRUE),将数据从对话框的控件中传送到对应的数据成员中。
调用UpdateData(FALSE),则将数据从数据成员中传送给对应的控件。
UpdateData(FALSE)是将变量的值传到控件.UpdateData(TRUE)是从控件中取值到关联的变量
四、对话框伸缩功能的实现
只关联到两个函数:
// 取得指定窗口边框折尺寸
void GetWindowRect(LPRECT lpRect)const;
// 设置指定窗口(控件)的位置同尺寸
BOOL SetWindowPos(const CWnd* pWndInsertAfter, intx, inty, int cx, intcy, UINTnFlags);
五、逃跑按钮的实现
1.创建一个基于对话框的MFC 程序,删除原有的控件后,再添加两个按钮,更改两按钮名为”你能抓到我吗?“
2.打开类视图,定义一个新类CNewButton,这个新类的基类为CButton。并为此类添加一个成员变量:CNewButton*m_pbtn;
3.打开资源视图,分别为两个按钮创建两个CNewButton类关联变量:m_btn1, m_btn2;
4.在CXXXDlg中改写其OnInitDialog函数。主要添加:
m_btn1.m_pbtn = &m_btn2;
m_btn2.m_pbtn = &m_btn1;
5.对于CNewButton 类,必定其OnMouseMove函数。主要添加:
ShowWindow(SW_HIDE);
m_pbtn->ShowWindow(SW_SHOW);
编译,连接。OK
六、属性页、属性表单与向导的建立
1.创建属性页
打开资源编辑器,点击Dialog 资源并在列出的选项中,选择:IDD_PROPPAGE_LARGE。建立属性页资源。
之后,我们就可以其上添加其他控件来完善我们的属性页。关于属性页的完善操作我们在后面会谈到。
属性页资源完善后,再为每一个属性页关联一个类。
2.创建属性表单
打开类视图,添加新类CPropSheet,其基类为CPropertySheet。
之后再为其添加属性页类对象,并在其构造函数中利用AddPage函数将属性页添加到表单上。
3.消息响应
再主菜单的最后再增加一个菜单项,并为此菜单添加消息响应函数。
在此响应函数中创建属性表单:
CPropSheetpropSheet(TEXT(”属性表单"));
propSheet.DoModal();
4.向导的创建
创建一个向导类型的对话框,应该遵循创建一个标准属性表单的步骤来实现。
但在调用属性表单对象的DoModal函数之前,应该先调用SetWizardMode函数,来声明建立的是一个作为向导的属性表单。
所以,应在DoModal函数之前添加如下代码:
propSheet.SetWizardMode();
5.属性页的完善操作
首先我们要注意到属性页,澳门新濠天地官网66bb.org 在三个不同时期的关键性操作:当属性表单中的某属性页被选中,从而成为一个活动的页面时,应用程序框架就会调用OnSetActive函数。
OnSetActive 是其基类的一个虚函数,我们可以重写这个函数并在其中进行一些操作。
假设当前我们处于属性表单中的某属性页,当我们点击下一步并将进入下一个属性页时,应用程序框架会调用OnWizardNext函数。
OnWizardNext 是其基类的一个虚函数,我们可以重写这个函数并在其中进行一些操作。类似的还有OnWizardBack 同 OnWizardFinish函数。
当一个属性页被创建时,会调用其OnInitDialog函数。
我们可以在这个函数里对属性页中的控件进行一些操作。如为列表框或下拉框添加字符串等。
第四篇:js总结
Js学习笔记
js的数据类型:number(数字和浮点型)
string 字符串 undefined 未定义的 object 对象数组 null 空字符串 boolean true和false 正则:var reg=/pattern/;两种写法
var reg=new RegExp(pattern);括号内为规则
reg.exec(str);检索字符串内是否有规则内的字符串 reg.test(str);检查该字符串是否有规则内的字符串,有为true没有为false;
正则常用通配符
.可以匹配任何字符
d 匹配0-9的所有数字 D 匹配非数字 s 所有空白字符
S 所有非空字符
w 所有单词字符,0-9‘26个英文字母和下划线’ W 所有非单词字符
b 单词边界 单词的开头和结尾
B 非单词边界
[abc] 查找方括号 之间的任何字符 [^abc]查找任何不在方括号之间的字符 [0-9]查找任何从0至9的数字 [a-z]查找任何从小a-z的字符 [A-Z] [A-z]
(red|blue|green)查找任何指定的选项
正则表达式量词
n+ 匹配任何包含至少一个n的字符串 n* 匹配任何包含零个或多个n的字符串 n? 匹配零个或一个n的字符 n{x} 匹配包含x个n的序列
n{x,y} 匹配包含x或y个n的序列字符串 n{x,}匹配包含至少x个n的序列的字符串 x$
匹配任何结尾为n的字符串 ^n
匹配任何开头为n的
正则表达式 修饰符 i 执行对大小写不敏感的匹配
g执行全局匹配(查找所有匹配而非再找到第一个匹配后停止)m 执行多行匹配
var reg=/^[0-9a-zA-Z_-]+@[0-9a-zA-Z_-]+.(com|cn|org)/;
alert(reg.test(“qwww.xiexiebang.com”));
var str=“wwww”;var reg=/bc/;alert(reg.test(str));
js 分支语句 if和switch语句 switch(表达式){
case 值:
break;} 循环
while循环
do while(先执行后判断)
for循环与java一样(循环次数确定)
for(变量 in 对象){
执行的语句块;
1.遍历数组的所有与元素 2.遍历对象的所有属性
}
continue 结束当前循环,直接进入下次循环
js 定义函数3种方式
注意:1.js中函数就是一个对象
2无返还类型但有返回值,
}
匿名函数
function构造匿名函数
语句是js的基本执行单位,每条语句都是以分号结束;
特殊语句
:语句块,空语句(多用于没有循环体的);
异常抛出;异常捕捉,with语句
{
with(docment){ new function(参数列表,函数执行体);
}
js常用内置对象: 对象是一种数据类型,是自我包含的集合;
date对象
new Date(yyyy,mth,dd,hh,mm,ss);new Date(month dd,yyyy hh:mm:ss);getTime
Math对象常用方法
abs(x)返回数的绝对值 ceil(x)对数进行上舍入 write(“什么鬼); write(”什么鬼); write("什么鬼);
floor(x)
下舍入
random()返回0-1之间的随机整数;
BOM(brower obiect model)浏览器对象模型
主要用于和浏览器窗口进行交互,包括
window document location navigator screen 等
window 对象,脚本运行的顶层对象
window 属性 document
location navigator
常用方法 alert()confirm()prompt()警告框,确认框 提示框
DOM是文档对象模型(document object model)当网页加载时,可以将结构化文档在内存中转换成对象树。
节点的集合,元素
文本
属性
动态修改html元素,须先访问html元素。dom提供两只种方式,来访问合同,html元素: 1.根据ID访问HTML元素
调用getElementById()方法查找具有唯一ID属性值得元素。2.利用节点关系访问html元素
document访问表单控件
Dom为列表框、下来菜单添加选项的方式: New option(text,value,defaultSelected,selected)参数说明:text 该选项的文本
Value 选中该选项的值
DefaultSelected 设置默认是否显示该选项 Selected 设置该选项当前是否被选中
js事件概念和事件监听
事件概念:可以被javascript侦测到的一种行为
事件流:主要分为冒泡型和捕获型事件,ie只支持冒泡型,支持标准dom的浏览器比如火狐,chrome,两者都支持 通用事件监听方法: 1:绑定html 元素属性 2.绑定Dom对象属性
Document.getElementById(“btn1”).onclick=test;test函数名; 非通用
Ie attachEvent(“事件类型”,“处理函数”);添加监听 DetachEvent取消监听
第五篇:Java Web 弹出框总结
Java Web 弹出框总结
在学习java web时想对于网页上的登录验证出错时采用弹窗的形式给于提示,于是走到下列大致7种方式的弹窗形式,有别于Alert弹窗,根据需求可以选择性使用
NO1.错误提示弹窗
JOptionPane.showMessageDialog(null, “alert”, “alert”, JOptionPane.ERROR_MESSAGE);
NO2.JOptionPane.showInternalMessageDialog(frame, “information”,“information”, JOptionPane.INFORMATION_MESSAGE);此处需要一个自定义的frame,不予演示
NO3.单选弹窗
JOptionPane.showConfirmDialog(null, “choose one”, “choose one”, JOptionPane.YES_NO_OPTION);
NO4.JOptionPane.showInternalConfirmDialog(frame,“please choose one”, “information”,JOptionPane.YES_NO_CANCEL_OPTION,JOptionPane.INFORMATION_MESSAGE);
此方法需要定义一个frame,此处不予演示
NO5.警告弹窗
Object[] options = { “OK”, “CANCEL” };
JOptionPane.showOptionDialog(null, “Click OK to continue”, “Warning”,JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE, null, options, options[0]);
NO6.输入弹窗
@SuppressWarnings(“unused”)String inputValue = JOptionPane.showInputDialog(“Please input a value”);
NO7.下拉选择弹窗
Object[] possibleValues = { “First”, “Second”, “Third” };
@SuppressWarnings(“unused”)Object selectedValue = JOptionPane.showInputDialog(null, “Choose one”, “Input”,JOptionPane.INFORMATION_MESSAGE, null, possibleValues, possibleValues[0]);