bpopup源码解析(aop源码解析)
本文目录一览:
- 1、求C++小游戏源代码啊~
- 2、如何做Windows Phone的登录/注册功能
- 3、怎么防止网站代码被别人另存为?
- 4、求一个选号网源码
- 5、英语popup context menu怎么翻译?
- 6、unity中ngui中的popuplist为什么在三维场景中的二维画布上不显示
求C++小游戏源代码啊~
以下是贪吃蛇源代码:
#includeiostream.h
#includewindows.h
#includetime.h
#includestdlib.h
#includeconio.h
#define N 21
void gotoxy(int x,int y)//位置函数
{
COORD pos;
pos.X=2*x;
pos.Y=y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);
}
void color(int a)//颜色函数
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),a);
}
void init(int apple[2])//初始化函数(初始化围墙、显示信息、苹果)
{
int i,j;//初始化围墙
int wall[N+2][N+2]={{0}};
for(i=1;i=N;i++)
{
for(j=1;j=N;j++)
wall[i][j]=1;
}
color(11);
for(i=0;iN+2;i++)
{
for(j=0;jN+2;j++)
{
if(wall[i][j])
cout"■";
else cout"□" ;
}
coutendl;
}
gotoxy(N+3,1);//显示信息
color(20);
cout"按 W S A D 移动方向"endl;
gotoxy(N+3,2);
color(20);
cout"按任意键暂停"endl;
gotoxy(N+3,3);
color(20);
cout"得分:"endl;
apple[0]=rand()%N+1;//苹果
apple[1]=rand()%N+1;
gotoxy(apple[0],apple[1]);
color(12);
cout"●"endl;
}
int main()
{
int i,j;
int** snake=NULL;
int apple[2];
int score=0;
int tail[2];
int len=3;
char ch='p';
srand((unsigned)time(NULL));
init(apple);
snake=(int**)realloc(snake,sizeof(int*)*len);
for(i=0;ilen;i++)
snake[i]=(int*)malloc(sizeof(int)*2);
for(i=0;ilen;i++)
{
snake[i][0]=N/2;
snake[i][1]=N/2+i;
gotoxy(snake[i][0],snake[i][1]);
color(14);
cout"★"endl;
}
while(1)//进入消息循环
{
tail[0]=snake[len-1][0];
tail[1]=snake[len-1][1];
gotoxy(tail[0],tail[1]);
color(11);
cout"■"endl;
for(i=len-1;i0;i--)
{
snake[i][0]=snake[i-1][0];
snake[i][1]=snake[i-1][1];
gotoxy(snake[i][0],snake[i][1]);
color(14);
cout"★"endl;
}
if(kbhit())
{
gotoxy(0,N+2);
ch=getche();
}
switch(ch)
{
case 'w':snake[0][1]--;break;
case 's':snake[0][1]++;break;
case 'a':snake[0][0]--;break;
case 'd':snake[0][0]++;break;
default: break;
}
gotoxy(snake[0][0],snake[0][1]);
color(14);
cout"★"endl;
Sleep(abs(200-0.5*score));
if(snake[0][0]==apple[0]snake[0][1]==apple[1])//吃掉苹果后蛇分数加1,蛇长加1
{
score++;
len++;
snake=(int**)realloc(snake,sizeof(int*)*len);
snake[len-1]=(int*)malloc(sizeof(int)*2);
apple[0]=rand()%N+1;
apple[1]=rand()%N+1;
gotoxy(apple[0],apple[1]);
color(12);
cout"●"endl;
gotoxy(N+5,3);
color(20);
coutscoreendl;
}
if(snake[0][1]==0||snake[0][1]==N||snake[0][0]==0||snake[0][0]==N)//撞到围墙后失败
{
gotoxy(N/2,N/2);
color(30);
cout"失败!!!"endl;
for(i=0;ilen;i++)
free(snake[i]);
Sleep(INFINITE);
exit(0);
}
}
return 0;
}
如何做Windows Phone的登录/注册功能
但是登录注册其实是不太适合用Page来做,关于login screen/splash screen的分析,且看这篇著名博文Introducing the concept of “Places”,在看完后想想用popup来做.登录注册页面在很多地方会被调用到,使用page会导致页面间跳转逻辑比较乱。 思路二:popuppopup只是个容器,设置Child为什么都可以,然后IsOpen=true;就显示出来了。问题一:popup的Child可以是page吗?答案是可以的。signInUpPopup = new Popup(); //SignInUp为Page,改造过了 Guanjia.Views.SignInUp signInUp = new Guanjia.Views.SignInUp(this, signInUpPopup, 480, 728, 0);//this); //这个不用解释了 signInUpPopup.Child = signInUp; signInUpPopup.IsOpen = true; 然后更多问题出来了。 问题二:当按下BackKey键的时候,Popup出来的页面连同父Page全部关掉了,不是我们期望的Popup消失的效果。所以要处理下。private void doSignInUp() { signInUpPopup = new Popup(); //SignInUp为Page,改造过了 Guanjia.Views.SignInUp signInUp = new Guanjia.Views.SignInUp(this, signInUpPopup, 480, 728, 0);//this); //登录注册成功后回调了 signInUp.OnSuccess += new EventHandler(signInUp_OnSuccess); //这个不用解释了 signInUpPopup.Child = signInUp; //一下三行处理BackKey冲突 signInUpPopup.Loaded += new RoutedEventHandler(signInUpPopup_Loaded); signInUpPopup.Unloaded += new RoutedEventHandler(signInUpPopup_Unloaded); signInUpPopup.Closed += new EventHandler(signInUpPopup_Closed); signInUpPopup.IsOpen = true; } void signInUpPopup_Unloaded(object sender, RoutedEventArgs e) { //草草草 没被调用 Debug.WriteLine("Popup Unloaded here"); this.BackKeyPress += Main_BackKeyPress; } public void AddBackKeyPressHandle() { this.BackKeyPress += Main_BackKeyPress; } void signInUpPopup_Loaded(object sender, RoutedEventArgs e) { this.BackKeyPress -= Main_BackKeyPress; } void signInUpPopup_Closed(object sender, EventArgs e) { Debug.WriteLine("Popup closed here"); this.BackKeyPress += Main_BackKeyPress; } void signInUpPopup_Opened(object sender, EventArgs e) { this.BackKeyPress -= Main_BackKeyPress; } 问题三:Popup出来的Page的ApplicationBar不对(在父Page里我没设ApplicationBar,所以popup出来也没有 ApplicationBar),popup出来的page可以有ApplicationBar吗?我跑到stackoverflow一问: Is it possible to popup a sigin/up page(pivot) with appbar?。得到答案可以。 以下为改造过的登录页面public partial class SignInUp : PhoneApplicationPage { private PhoneApplicationPage page = null; private IApplicationBar parentAppBar = null; private Popup popup = null; //public static event EventHandler OnSuccess; public SignInUp() { InitializeComponent(); page = this; } public SignInUp(PhoneApplicationPage parentpage, Popup popup, int width, int height, int selectedIndex = 0) { InitializeComponent(); page = parentpage; this.popup = popup; this.Height = height; this.Width = width; //SignInUpPivot.SelectedIndex = selectedIndex; parentAppBar = parentpage.ApplicationBar; this.Loaded += (s, e) = { page.BackKeyPress += page_BackKeyPress; }; this.Unloaded += (s, e) = { page.ApplicationBar = parentAppBar; page.BackKeyPress -= page_BackKeyPress; }; } void page_BackKeyPress(object sender, System.ComponentModel.CancelEventArgs e) { popup.IsOpen = false; e.Cancel = true; }private void Pivot_SelectionChanged(object sender, SelectionChangedEventArgs e) { int selectedIndex = (sender as Pivot).SelectedIndex; if (selectedIndex == 0) { page.ApplicationBar = (Microsoft.Phone.Shell.ApplicationBar)Resources["SignInAppbar"]; } else if (selectedIndex == 1) { page.ApplicationBar = (Microsoft.Phone.Shell.ApplicationBar)Resources["SignUpAppbar"]; } } 问题4:无法使用Code4Fun toolkit里的ToastPrompt来进行提示。网上一搜,c4f的开发者说ToastPrompt是所在层级与popup不一样(在popup之下,page之上),看了一下源码它使用了自己实现的popup来实现ToastPrompt。把c4f里的ToastPrompt改造成使用的Popup来实现,效果不好,但总算能显示在弹出来的东西之上,效果不好。 问题5:注册页里的TextBox会被弹出来的键盘遮住,不能像page那样自动向上移动。
怎么防止网站代码被别人另存为?
1、禁示查看源代码 从"查看"菜单下的"源文件"中同样可以看到源代码,下面我们就来解决这个问题: 其实这只要使用一个含有frame/frame标记的网页便可以达到目的。 frameset frame src="你要保密的文件的URL" /frameset 这样当有人使用"查看"下的"源文件"的时候,看到的将是上面的那段代码,而你真正的文件又躲过一劫。 2、禁止右键 body oncontextmenu="window.event.returnValue=false" onkeypress="window.event.returnValue=false" onkeydown="window.event.returnValue=false" onkeyup="window.event.returnValue=false" ondragstart="window.event.returnValue=false" onselectstart="event.returnValue=false" /body 3、禁示另存为 通过上面的两步好像你的源代码已经安全了,但别忘了,别人还可以将你的页面保存下来,再慢慢分析。不过别担心,下面我们来解决这个问题。 在你要保密的网页中加入以下代码: noscript iframe src="*.htm"/iframe /noscript 现在如果有人想保存你的网页,等他保存到一部分的时候IE就会帮你告诉他,无法保存该WEB页,并将己保存的那部分文件删除。 noscriptiframe src=*/iframe/noscript 放在BODY/BODY之间 加了上面的代码后,文件是不可以另存,但是改变存储的属性,比如改存文本格式页面就可以另存了 [-关于保护-] 先通过代码来禁止IE的一些操作 :禁止另存为 NOSCRIPTIFRAME SRC=*.html/IFRAME/NOSCRIPT :取消选取、防止复制 不准粘贴 防止复制 BODY bgColor=#ffffff leftMargin=0 topMargin=0 :禁止右键 SCRIPT language=JavaScript !-- if (window.Event) document.captureEvents(Event.MOUSEUP); function nocontextmenu() { event.cancelBubble = true event.returnValue = false; return false; } function norightclick(e) { if (window.Event) { if (e.which == 2 || e.which == 3) return false; } else if (event.button == 2 || event.button == 3) { event.cancelBubble = true event.returnValue = false; return false; } } document.oncontextmenu = nocontextmenu; // for IE5+ document.onmousedown = norightclick; // for all others //-- /SCRIPT :状态栏固定 body bgcolor="#fef4d9" 后台/网站属性/开启新闻版权保护功能 :禁止缓存 在页面中使用HTML标记,如下面: HEAD META http-equiv=Pragma content=no-cache META http-equiv=Cache-Control content=no-cache META http-equiv=Expires content=0 -利用上面的代码可以禁止下面几种手段- 1:右键 - 查看原文件 3:文件 - 另存为 4:IE缓存 -用代码本身很难禁止下面的手段我门就迷惑的方法阻止调出原代码- 2:查看 - 原文件 5:还可以通过代码提取 URL欺骗(可以隐藏真实地址) 教程代码: meta http-equiv="refresh" content="0;url=’ http://东邪.明天毕竟又是新的一天@ ’" 注意代码中url=’ http://东邪.明天毕竟又是新的一天@ ’" @ 符号前面的[ http://东邪.明天毕竟又是新的一天]就是欺骗后在IE中出现的效果 也可以是 后面的不用说就是连接的真实地址 URL迷惑 meta http-equiv="refresh" content="0;url=’http://东邪.明天毕竟又是新的一天@.htm’" 注意这一段和上面的有什么不同对就是.htm 那.htm是什么呢呵呵其实就是真实地址 怎么访问呢 有.htm吗?呵呵我门要做的就就做一个没有名字的HTM 方法很简单先创建个XXX.htm 上传到 QQ网络硬盘 双激文件名将XXX删除 怎么样.htm出来了吧,这样就算得到原代码很难看出真实地址. 列1:http://东邪.明天毕竟又是新的一天@.htm 列2: 呵呵很难看出真实地址是什么吧 [JS禁止 用IE - 查看 - 原文件] 也是迷惑的方法 但是可以绝对禁止以上面的方式调用原文件 要用到JS 教程JS代码 var oPopup = window.createPopup(); var popTop=50; function popmsg(msgstr) { var winstr="table style=/"border: 1 solid #000000/" width=/"241/" height=/"172/" border=/"0/" cellpadding=/"0/" cellspacing=/"0/""; winstr+="trtd height=/"150/"/tdtd align=/"center/"table width=/"90%/" height=/"110/" border=/"0/" cellpadding=/"0/" cellspacing=/"0/""; winstr+="trtd valign=/"top/" style=/"font-size:12px; color: #F00000; face: Tahoma/""+msgstr+"/td/tr/table/td/tr/table"; oPopup.document.body.innerHTML = winstr; popshow(); } function popshow() { window.status=popTop; if(popTop1720){ clearTimeout(mytime); oPopup.hide(); return; } else if(popTop1520popTop1720) { oPopup.show(screen.width-250,screen.height,241,1720-popTop); } else if(popTop1500popTop1520) { oPopup.show(screen.width-250,screen.height+(popTop-1720),241,172); } else if(popTop180) { oPopup.show(screen.width-250,screen.height,241,popTop); } else if(popTop220) { oPopup.show(screen.width-250,screen.height-popTop,241,172); } popTop+=10000; var mytime=setTimeout("popshow();",1); } popmsg(" "); 另存为 17789897.js HTM调用JS代码 SCRIPT language=javascript src="17789897.js"/SCRIPT 呵呵有写朋友可能熟悉但是我要告诉你他现在的作用是禁止同过 [IE - 查看 - 原文件] 区别在这段代码 popTop+=10000; var mytime=setTimeout("popshow();",1); 看到了吗?速度是10000 不用我说也知道是什么意思了吧 把上面JS和HTM调用JS代码 加到网页里就可以禁止 [IE - 查看 - 原文件] 关于保护我知道的就这些. [-关于加密-] 我建议重要的代码采用复合加密 方式基本上有以下几种 JS编码 escape加密 8进制转义字符串 16进制转义字符串 10进制HTML编码如下 16进制HTML编码如下 都可以用script !-- document.write(unescape("加密后的代码")); //-- /script 由于他门的代码很大还有JS文件我就不给了 大家可以去baidu.com搜索 [-关于破解-] 正所谓魔高一尺,道高一丈,再复杂的加密,在多的迷惑,还是要用IE来解码 给大家个超级技巧 在地址栏或按Ctrl+O,输入: javascript:s=document.documentElement.outerHTML;document.write(body/body’);document.body.innerText=s; 源代码就出来了。不论加密如何复杂,最终都要还原成浏览器可以解析的html代码,而documentElement.outerHTML正是最终的结果. 经常在网上逛的朋友,一定有看到漂亮的图片就想保存;看到漂亮的页面就忍不住要瞅瞅源代码的情况,可惜有些网友用javascript小程序禁止了鼠标右键功能,使我们无法保存和查看。那么,如何才能禁止鼠标右键功能,又如何解除呢? 给你的网页添加禁止鼠标右键的功能 其实这只是利用JavaScript实现的一个很简单的锁住鼠标右键的功能,我们只需将下面一段程序,加到你的网页上就可以了。其中的文字部分“对不起……”你可以随意替换为你喜欢的文字,就可以了。 〈SCRIPT language=javascript〉function click(){if(event.button==2){alert('对不起,你的右键功能在这里不能使用')}}document.onmousedown=click〈/SCRIPT〉 这样就可以禁止右键功能了。当在你的网页点击右键时,会弹出一个含有确定按钮的文字窗口。 如何破解禁止鼠标右键的功能 同样也很简单就能使禁止鼠标右键功能失效,具体做法有两种: 一是首先在页面目标上按下鼠标右键,弹出窗口,这时不要松开右键。接着将鼠标移到窗口的确定按钮上,同时按下左键。好了,现在松开鼠标左键,这时窗口消失。最后,再将鼠标移到目标上松开鼠标右键。好了,你想要的功能全出来了。你就又可以拷贝,或者用新窗口打开联接了。 二是对一点鼠标右键就出现添加到收藏夹窗口的网页,用上述方法不能破解,因为你用鼠标左键点取消的同时就失去了右键的目标的交点,我们用另外一种方法制服它:首先还是在目标上点鼠标右键,出现添加到收藏夹的窗口,这时不要松开右键,也不要移动鼠标。接着使用键盘的Tab键,移动焦点到取消按钮上。按下空格键,窗口消失。最后松开右键,好了,你要的功能全出来了。
求一个选号网源码
HTML
HEAD
TITLE Office 风格颜色选择器/TITLE
META NAME="Generator" CONTENT="EditPlus"
META NAME="Author" CONTENT=""
META NAME="Keywords" CONTENT=""
META NAME="Description" CONTENT=""
/HEAD
BODY
script language=javascript
!--
//夜狼制作 OFFICE风格的色彩选择器
document.write("OBJECT id=\"dlgHelper\" CLASSID=\"clsid:3050f819-98b5-11cf-bb82-00aa00bdce0b\" width=\"0px\" height=\"0px\"/OBJECT");
var ocolorPopup = window.createPopup();
var ecolorPopup=null;
function colordialogmouseout(obj){
obj.style.borderColor="";
obj.bgColor="";
}
function colordialogmouseover(obj){
obj.style.borderColor="#0A66EE";
obj.bgColor="#EEEEEE";
}
function colordialogmousedown(color){
ecolorPopup.value=color;
//document.body.bgColor=color;
// ocolorPopup.document.body.blur();
ocolorPopup.hide();//这种也可以
}
function colordialogmore(){
var sColor=dlgHelper.ChooseColorDlg(ecolorPopup.value);
sColor = sColor.toString(16);
if (sColor.length 6) {
var sTempString = "000000".substring(0,6-sColor.length);
sColor = sTempString.concat(sColor);
}
ecolorPopup.value="#"+sColor.toUpperCase();
//document.body.bgColor="#"+sColor.toUpperCase();
ocolorPopup.document.body.blur();
}
function colordialog(){
var e=event.srcElement;
e.onkeyup=colordialog;
ecolorPopup=e;
var ocbody;
var oPopBody = ocolorPopup.document.body;
var colorlist=new Array(40);
oPopBody.style.backgroundColor = "#f9f8f7";
oPopBody.style.border = "solid #999999 1px";
oPopBody.style.fontSize = "12px";
colorlist[0]="#000000"; colorlist[1]="#993300"; colorlist[2]="#333300"; colorlist[3]="#003300";
colorlist[4]="#003366"; colorlist[5]="#000080"; colorlist[6]="#333399"; colorlist[7]="#333333";
colorlist[8]="#800000"; colorlist[9]="#FF6600"; colorlist[10]="#808000";colorlist[11]="#008000";
colorlist[12]="#008080";colorlist[13]="#0000FF";colorlist[14]="#666699";colorlist[15]="#808080";
colorlist[16]="#FF0000";colorlist[17]="#FF9900";colorlist[18]="#99CC00";colorlist[19]="#339966";
colorlist[20]="#33CCCC";colorlist[21]="#3366FF";colorlist[22]="#800080";colorlist[23]="#999999";
colorlist[24]="#FF00FF";colorlist[25]="#FFCC00";colorlist[26]="#FFFF00";colorlist[27]="#00FF00";
colorlist[28]="#00FFFF";colorlist[29]="#00CCFF";colorlist[30]="#993366";colorlist[31]="#CCCCCC";
colorlist[32]="#FF99CC";colorlist[33]="#FFCC99";colorlist[34]="#FFFF99";colorlist[35]="#CCFFCC";
colorlist[36]="#CCFFFF";colorlist[37]="#99CCFF";colorlist[38]="#CC99FF";colorlist[39]="#FFFFFF";
ocbody = "";
ocbody += "table CELLPADDING=0 CELLSPACING=3";
ocbody += "tr height=\"20\" width=\"20\"td align=\"center\"table style=\"border:1px solid #808080;\" width=\"12\" height=\"12\" bgcolor=\""+e.value+"\"trtd/td/tr/table/tdtd bgcolor=\"eeeeee\" colspan=\"7\" style=\"font-size:12px;\" align=\"center\"当前颜色/td/tr";
for(var i=0;icolorlist.length;i++){
if(i%8==0)
ocbody += "tr";
ocbody += "td width=\"14\" height=\"16\" style=\"border:1px solid;\" onMouseOut=\"parent.colordialogmouseout(this);\" onMouseOver=\"parent.colordialogmouseover(this);\" onMouseDown=\"parent.colordialogmousedown('"+colorlist[i]+"')\" align=\"center\" valign=\"middle\"table style=\"border:1px solid #808080;\" width=\"12\" height=\"12\" bgcolor=\""+colorlist[i]+"\"trtd/td/tr/table/td";
if(i%8==7)
ocbody += "/tr";
}
ocbody += "trtd align=\"center\" height=\"22\" colspan=\"8\" onMouseOut=\"parent.colordialogmouseout(this);\" onMouseOver=\"parent.colordialogmouseover(this);\" style=\"border:1px solid;font-size:12px;cursor:default;\" onMouseDown=\"parent.colordialogmore()\"其它颜色/td/tr";
ocbody += "/table";
oPopBody.innerHTML=ocbody;
ocolorPopup.show(e.offsetLeft, e.offsetTop+e.offsetHeight, 158, 147, document.body);
}
//--
/script
选择颜色:input name="sel1" type="text" onFocus="colordialog()"/BODY
/HTML
英语popup context menu怎么翻译?
英语popup context menu翻译成中文是:“弹出式关联菜单”。
重点单词:menu
单词音标:
英[ˈmenjuː] 美[ˈmenjuː]
单词释义:
n.菜单; (功能选择)菜单,选单;
短语搭配:
the breakfast menu 早餐菜单
a pop-up menu 弹出式选单
单词用法:
menu的基本意思是“菜单”,一般指饭店中开列各种菜肴名称的单子。menu还可指“饭菜”,可用作不可数名词,也可用作可数名词。
menu有时还可指在电脑程序运行中出现在屏幕上供选择用的“项目单,指令单”等。
双语例句:
We only have an a la carte menu.
我们只有分类菜单。
He called the waiter to bring the menu.
他叫侍者拿菜单来。
I haven't decided on the menu yet, let alone bought the food.
我还没决定吃什么菜呢,更不必说买好了。
Is fish on the menu today?
今天的菜单上有鱼吗?
The menu offers a broad choice of desserts.
菜单上有各式各样的甜点心。
unity中ngui中的popuplist为什么在三维场景中的二维画布上不显示
第一步:我们查看下popuplist的源码可以发现,他有个OnCLick点击事件,而里面实现的就是绘制所有下拉选项的,并且所有下拉选项的的父节点都是mChild这个私有字段,
第二步:我们只要给popuplist再附加一个我们自己写的脚本A,在这个脚本里面通过反射mChild的孩子,就可以找到所有的下拉选项了,我们知道,一个对象如果给他附加多个脚本,并且每个脚本里面都有OnClick事件的话,那么所有脚本的OnCLick事件都会被执行的!但是,这有个特别需要注意的地方,就是他们执行的顺序,脚本在Inspector面板中越靠上就越先执行,所以我们为popuplist附加的脚本必须在UIPopup List之后,如果不在此之后的话,那么就会去先执行我们定义的脚本(这里我定义的脚本名称为Mypopuplist),可我们脚本里面是对mChild的反射,这时是反射不到结果的,因为UIPopup List里面的mChild还没实例化好,所以必然为空,所以popuplist对象的组件顺序必须是这样的,UIPopup List先去实例化好下拉选项,Mypopuplist再去反射下拉选项: