① 网页设计,怎么插入局部框架的背景图片
如果你是用框架做的,那就找到需要插入背景图片的html 文件,在该文件中设置网页背景图片。如果你是用表格做的,那就找到需要设置背景图片的单元格,然后设置单元格的背景图片即可~
② 如何在网页中添加背景图片及框架
一、添加背景图片:body { background: url("xxx.jpg"); }
原本<body>卷标提供了以下几种设定:
<body
alink=colorvalue
background=url
bgcolro=colorvalue
link=colorvalue
text=colorvalue
bgproperties=fixed /*背景固定
leftmargin=pixels /*离浏览器显示窗左边的距离
topmargin=fixels /*离浏览器显示窗上面的距离
>
background-image:url(n.jpg)
/*背景图档
background-repeat:repeat|repeat-x|repeat-y|no-repeat
/* 重复显示全影幕|水平方向重复|垂直方向重复|不重复显示
background-attachment:scroll|fixed
/*卷动或固定
background-position:x%,y%|x,y|top|left|center|bottom|right
/*背景图文件位置
二、添加框架:
①打开Dreamweaver,新建一个网页。点击布局中的框架按钮,选择要实现的框架类型。
②这样就创建了两个页面,分布命名。点击中间的线就是选中了整个页面,点击文件\保存框架页,进行命名。左右两个页面分别选中再保存,操作一样。
③点击中间的边框,就选中了整个页面,可以对整个页面的属性进行更改,可以移动中间的边框,也可以点击查看\可视化助理,勾选框架边框来显示或隐藏边框。
④再分别更正左右两个页面的页面属性。
③ IE6 不支持背景图片透明!怎么解决!
<!--解决IE 6不支持png格式的代码-->
<!--[if IE 6]>
<script src="js/DD_belatedPNG_0.0.8a.js?v=b4e86b02"></script>
<script> DD_belatedPNG.fix('.pngfix'); </script>
<![endif]-->
还有一个js
var DD_belatedPNG={ns:"DD_belatedPNG",imgSize:{},delay:10,nodesFixed:0,createVmlNameSpace:function(){if(document.namespaces&&!document.namespaces[this.ns]){document.namespaces.add(this.ns,"urn:schemas-microsoft-com:vml");}},createVmlStyleSheet:function(){var _1,_2;_1=document.createElement("style");_1.setAttribute("media","screen");document.documentElement.firstChild.insertBefore(_1,document.documentElement.firstChild.firstChild);if(_1.styleSheet){_1=_1.styleSheet;_1.addRule(this.ns+"\\:*","{behavior:url(#default#VML)}");_1.addRule(this.ns+"\\:shape","position:absolute;");_1.addRule("img."+this.ns+"_sizeFinder","behavior:none; border:none; position:absolute; z-index:-1; top:-10000px; visibility:hidden;");this.screenStyleSheet=_1;_2=document.createElement("style");_2.setAttribute("media","print");document.documentElement.firstChild.insertBefore(_2,document.documentElement.firstChild.firstChild);_2=_2.styleSheet;_2.addRule(this.ns+"\\:*","{display: none !important;}");_2.addRule("img."+this.ns+"_sizeFinder","{display: none !important;}");}},readPropertyChange:function(){var el,_4,v;el=event.srcElement;if(!el.vmlInitiated){return;}if(event.propertyName.search("background")!=-1||event.propertyName.search("border")!=-1){DD_belatedPNG.applyVML(el);}if(event.propertyName=="style.display"){_4=(el.currentStyle.display=="none")?"none":"block";for(v in el.vml){if(el.vml.hasOwnProperty(v)){el.vml[v].shape.style.display=_4;}}}if(event.propertyName.search("filter")!=-1){DD_belatedPNG.vmlOpacity(el);}},vmlOpacity:function(el){if(el.currentStyle.filter.search("lpha")!=-1){var _7=el.currentStyle.filter;_7=parseInt(_7.substring(_7.lastIndexOf("=")+1,_7.lastIndexOf(")")),10)/100;el.vml.color.shape.style.filter=el.currentStyle.filter;el.vml.image.fill.opacity=_7;}},handlePseudoHover:function(el){setTimeout(function(){DD_belatedPNG.applyVML(el);},1);},fix:function(_9){if(this.screenStyleSheet){var _a,i;_a=_9.split(",");for(i=0;i<_a.length;i++){this.screenStyleSheet.addRule(_a[i],"behavior:expression(DD_belatedPNG.fixPng(this))");}}},applyVML:function(el){el.runtimeStyle.cssText="";this.vmlFill(el);this.vmlOffsets(el);this.vmlOpacity(el);if(el.isImg){this.ImageBorders(el);}},attachHandlers:function(el){var _e,_f,_10,_11,a,h;_e=this;_f={resize:"vmlOffsets",move:"vmlOffsets"};if(el.nodeName=="A"){_11={mouseleave:"handlePseudoHover",mouseenter:"handlePseudoHover",focus:"handlePseudoHover",blur:"handlePseudoHover"};for(a in _11){if(_11.hasOwnProperty(a)){_f[a]=_11[a];}}}for(h in _f){if(_f.hasOwnProperty(h)){_10=function(){_e[_f[h]](el);};el.attachEvent("on"+h,_10);}}el.attachEvent("onpropertychange",this.readPropertyChange);},giveLayout:function(el){el.style.zoom=1;if(el.currentStyle.position=="static"){el.style.position="relative";}},ImageBorders:function(el){var _16,s;_16={"borderStyle":true,"borderWidth":true,"borderColor":true};for(s in _16){if(_16.hasOwnProperty(s)){el.vml.color.shape.style[s]=el.currentStyle[s];}}},vmlFill:function(el){if(!el.currentStyle){return;}else{var _19,_1a,lib,v,img,_1e;_19=el.currentStyle;}for(v in el.vml){if(el.vml.hasOwnProperty(v)){el.vml[v].shape.style.zIndex=_19.zIndex;}}el.runtimeStyle.backgroundColor="";el.runtimeStyle.backgroundImage="";_1a=true;if(_19.backgroundImage!="none"||el.isImg){if(!el.isImg){el.vmlBg=_19.backgroundImage;el.vmlBg=el.vmlBg.substr(5,el.vmlBg.lastIndexOf("\")")-5);}else{el.vmlBg=el.src;}lib=this;if(!lib.imgSize[el.vmlBg]){img=document.createElement("img");lib.imgSize[el.vmlBg]=img;img.className=lib.ns+"_sizeFinder";img.runtimeStyle.cssText="behavior:none; position:absolute; left:-10000px; top:-10000px; border:none; margin:0; padding:0;";_1e=function(){this.width=this.offsetWidth;this.height=this.offsetHeight;lib.vmlOffsets(el);};img.attachEvent("onload",_1e);img.src=el.vmlBg;img.removeAttribute("width");img.removeAttribute("height");document.body.insertBefore(img,document.body.firstChild);}el.vml.image.fill.src=el.vmlBg;_1a=false;}el.vml.image.fill.on=!_1a;el.vml.image.fill.color="none";el.vml.color.shape.style.backgroundColor=_19.backgroundColor;el.runtimeStyle.backgroundImage="none";el.runtimeStyle.backgroundColor="transparent";},vmlOffsets:function(el){var _20,_21,_22,_23,bg,bgR,dC,_27,b,c,v;_20=el.currentStyle;_21={"W":el.clientWidth+1,"H":el.clientHeight+1,"w":this.imgSize[el.vmlBg].width,"h":this.imgSize[el.vmlBg].height,"L":el.offsetLeft,"T":el.offsetTop,"bLW":el.clientLeft,"bTW":el.clientTop};_22=(_21.L+_21.bLW==1)?1:0;_23=function(vml,l,t,w,h,o){vml.coordsize=w+","+h;vml.coordorigin=o+","+o;vml.path="m0,0l"+w+",0l"+w+","+h+"l0,"+h+" xe";vml.style.width=w+"px";vml.style.height=h+"px";vml.style.left=l+"px";vml.style.top=t+"px";};_23(el.vml.color.shape,(_21.L+(el.isImg?0:_21.bLW)),(_21.T+(el.isImg?0:_21.bTW)),(_21.W-1),(_21.H-1),0);_23(el.vml.image.shape,(_21.L+_21.bLW),(_21.T+_21.bTW),(_21.W),(_21.H),1);bg={"X":0,"Y":0};if(el.isImg){bg.X=parseInt(_20.paddingLeft,10)+1;bg.Y=parseInt(_20.paddingTop,10)+1;}else{for(b in bg){if(bg.hasOwnProperty(b)){this.figurePercentage(bg,_21,b,_20["backgroundPosition"+b]);}}}el.vml.image.fill.position=(bg.X/_21.W)+","+(bg.Y/_21.H);bgR=_20.backgroundRepeat;dC={"T":1,"R":_21.W+_22,"B":_21.H,"L":1+_22};_27={"X":{"b1":"L","b2":"R","d":"W"},"Y":{"b1":"T","b2":"B","d":"H"}};if(bgR!="repeat"||el.isImg){c={"T":(bg.Y),"R":(bg.X+_21.w),"B":(bg.Y+_21.h),"L":(bg.X)};if(bgR.search("repeat-")!=-1){v=bgR.split("repeat-")[1].toUpperCase();c[_27[v].b1]=1;c[_27[v].b2]=_21[_27[v].d];}if(c.B>_21.H){c.B=_21.H;}el.vml.image.shape.style.clip="rect("+c.T+"px "+(c.R+_22)+"px "+c.B+"px "+(c.L+_22)+"px)";}else{el.vml.image.shape.style.clip="rect("+dC.T+"px "+dC.R+"px "+dC.B+"px "+dC.L+"px)";}},figurePercentage:function(bg,_32,_33,_34){var _35,_36;_36=true;_35=(_33=="X");switch(_34){case "left":case "top":bg[_33]=0;break;case "center":bg[_33]=0.5;break;case "right":case "bottom":bg[_33]=1;break;default:if(_34.search("%")!=-1){bg[_33]=parseInt(_34,10)/100;}else{_36=false;}}bg[_33]=Math.ceil(_36?((_32[_35?"W":"H"]*bg[_33])-(_32[_35?"w":"h"]*bg[_33])):parseInt(_34,10));if(bg[_33]%2===0){bg[_33]++;}return bg[_33];},fixPng:function(el){el.style.behavior="none";var lib,els,_3a,v,e;if(el.nodeName=="BODY"||el.nodeName=="TD"||el.nodeName=="TR"){return;}el.isImg=false;if(el.nodeName=="IMG"){if(el.src.toLowerCase().search(/\.png$/)!=-1){el.isImg=true;el.style.visibility="hidden";}else{return;}}else{if(el.currentStyle.backgroundImage.toLowerCase().search(".png")==-1){return;}}lib=DD_belatedPNG;el.vml={color:{},image:{}};els={shape:{},fill:{}};for(v in el.vml){if(el.vml.hasOwnProperty(v)){for(e in els){if(els.hasOwnProperty(e)){_3a=lib.ns+":"+e;el.vml[v][e]=document.createElement(_3a);}}el.vml[v].shape.stroked=false;el.vml[v].shape.appendChild(el.vml[v].fill);el.parentNode.insertBefore(el.vml[v].shape,el);}}el.vml.image.shape.fillcolor="none";el.vml.image.fill.type="tile";el.vml.color.fill.on=false;lib.attachHandlers(el);lib.giveLayout(el);lib.giveLayout(el.offsetParent);el.vmlInitiated=true;lib.applyVML(el);}};try{document.execCommand("BackgroundImageCache",false,true);}catch(r){}DD_belatedPNG.createVmlNameSpace();DD_belatedPNG.createVmlStyleSheet();
然后在你的图片那块加上 class=“pngfix” 然后就可以了
④ 如何用c语言编写图形操作的软件呢
学MFC吧~~你的困惑一下子就会解除的~~~
用纯C语言编带界面的也不是不可能~~就是要用到WINDOWS API~~给你一段代码试试吧~~是我做的一个OPENGL的程序~~~在VISUAL STUDIO.NET 2003下编译通过~~代码如下~~
#define WM_TOGGLEFULLSCREEN (WM_USER+1) // 定义全屏/窗口切换消息
#define TIMER1 101 // 定义时钟代号,设置为101号
#define TITLE "5DG'S Color Shading" // 定义窗口标题
#define CLASSNAME "5DG_OPENGL" // 定义窗口类名
#define WIDTH 640 // 定义窗口宽度
#define HEIGHT 480 // 定义窗口高度
#define BPP 16 // 定义每象素的位数
#define NUM 200 // 定义绘制圆时用的顶点数(用顶点组成的线段逼近圆)
// 在此处引用程序要求的头文件:
#include <windows.h> // Windows的头文件
#include <gl\gl.h> // OpenGL32库的头文件
#include <gl\glu.h> // Glu32库的头文件
#include <math.h> // 数学函数库的头文件
// 在此处加入程序要求的库到链接器中:
#pragma comment(lib, "opengl32.lib") // 链接时查找OpenGL32.lib
#pragma comment(lib, "glu32.lib") // 链接时查找glu32.lib
// 在此处定义与窗口相关的结构体:
typedef struct { // 定义处理键盘的结构体
BOOL keyDown [256]; // 存储键盘按键状态的数组
} Keys;
typedef struct { // 定义存储应用程序实例的结构体
HINSTANCE hInstance; // 应用程序实例
const char* className; // 应用程序类名
} Application;
typedef struct { // 定义初始化窗口所需信息
Application* application; // 所属的应用程序
char* title; // 窗口标题
int width; // 窗口宽度
int height; // 窗口高度
int bitsPerPixel; // 每像素的位数
BOOL isFullScreen; // 是否全屏
} GL_WindowInit;
typedef struct { // 定义窗口结构体
Keys* keys; // 键盘
HWND hWnd; // 窗口句柄
HDC hDC; // 设备描述表
HGLRC hRC; // 绘制描述表
GL_WindowInit init; // 提供Window初始化信息的结构体
} GL_Window;
// 此代码模块中包含的函数的前向声明:
BOOL Initialize(GL_Window* window, Keys* keys); // 设置你绘制前的初始化值
void DrawSceneGL(void); // 在这里完成场景的绘制
void Update(void); // 在此处更新对消息的动作
void Deinitialize(void); // 在此处做退出前扫尾工作
// 在此处定义全局变量:
GL_Window* OGL_window; // 存储窗口信息
Keys* OGL_keys; // 存储按键信息
// 在此处定义用户变量:
void ResizeWindowGL(int width, int height) // 重新设置窗口大小
{
glViewport(0, 0, (GLsizei)(width), (GLsizei)(height)); // 重置当前视口大小
glMatrixMode(GL_PROJECTION); // 切换到投影矩阵模式
glLoadIdentity(); // 重置投影矩阵
gluPerspective(45, (float)width/(float)height, 0.1, 100); // 设置透视投影
glMatrixMode(GL_MODELVIEW); // 切换到模型视图矩阵
glLoadIdentity(); // 重置模型视图矩阵
}
BOOL ChangeScreenResolution(int width, int height, int bitsPerPixel) // 修改屏幕分辨率
{
DEVMODE dmScreenSettings; // 设备设置模式
ZeroMemory(&dmScreenSettings, sizeof(DEVMODE)); // 清空
dmScreenSettings.dmSize = sizeof(DEVMODE); // Devmode结构的大小
dmScreenSettings.dmPelsWidth = width; // 设置为屏幕宽度
dmScreenSettings.dmPelsHeight = height; // 设置为屏幕高度
dmScreenSettings.dmBitsPerPel = bitsPerPixel; // 设为指定位长;
dmScreenSettings.dmFields = DM_BITSPERPEL | DM_PELSWIDTH | DM_PELSHEIGHT;
// 尝试设置显示模式并返回结果。注: CDS_FULLSCREEN 移去了状态栏
if (ChangeDisplaySettings(&dmScreenSettings, CDS_FULLSCREEN) != DISP_CHANGE_SUCCESSFUL)
{
return FALSE; // 分辨率修改失败,返回 False
}
return TRUE; // 分辨率修改成功,返回 True;
}
BOOL CreateWindowGL(GL_Window* window) // 建立OpenGL窗口
{
DWORD windowStyle = WS_OVERLAPPEDWINDOW; // 设置窗口样式
DWORD windowExtendedStyle = WS_EX_APPWINDOW; // 设置窗口扩展样式
PIXELFORMATDESCRIPTOR pfd = // 像素格式描述符(pfd)的设置
{
sizeof(PIXELFORMATDESCRIPTOR), // 像素的尺寸
1, // 版本号
PFD_DRAW_TO_WINDOW | // pfd必须支持窗口绘制
PFD_SUPPORT_OPENGL | // pfd必须支持OpenGL
PFD_DOUBLEBUFFER, // pfd必须支持双缓存
PFD_TYPE_RGBA, // 像素格式为RGBA
window->init.bitsPerPixel, // 设置颜色深度
0, 0, 0, 0, 0, 0, // 忽略颜色位数
0, // 无Alpha缓存
0, // 忽略偏移位
0, // 无累积缓存
0, 0, 0, 0, // 忽略累积缓存位
16, // 深度缓存为16位
0, // 无模板缓存
0, // 无辅助缓存
PFD_MAIN_PLANE, // 主要绘制层
0, // 保留位
0, 0, 0 // 忽略层遮罩
};
RECT windowRect = {0, 0, window->init.width, window->init.height}; // 定义窗口大小
GLuint PixelFormat; // 保存像素格式
if (window->init.isFullScreen == TRUE) // 切换全屏
{
if (ChangeScreenResolution(window->init.width, window->init.height, window->init.bitsPerPixel) == FALSE)
{
// 全屏切换失败
MessageBox(HWND_DESKTOP, "无法切换到全屏模式,在窗口模式下运行.\nMode Switch Failed,Running In Windowed Mode.", "Error", MB_OK | MB_ICONEXCLAMATION);
window->init.isFullScreen = FALSE; // 设置 isFullscreen 为False
}
else // 全屏切换成功
{
ShowCursor (FALSE); // 隐藏鼠标
windowStyle = WS_POPUP; // 设置窗口样式
windowExtendedStyle |= WS_EX_TOPMOST; // 设置窗口扩展样式
}
}
else
{
// 调整窗口大小,包括窗口边界
AdjustWindowRectEx(&windowRect, windowStyle, 0, windowExtendedStyle);
}
// 开始创建 OpenGL 窗口
window->hWnd = CreateWindowEx(windowExtendedStyle, // 窗口扩展样式
window->init.application->className,// 应用程序类名
window->init.title, // 窗口标题
windowStyle, // 窗口样式
0, 0, // 窗口的 X,Y 坐标位置
windowRect.right - windowRect.left, // 窗口宽度
windowRect.bottom - windowRect.top, // 窗口高度
HWND_DESKTOP, // 父窗口为桌面
0, // 无菜单
window->init.application->hInstance,// 传入应用程序实例
window);
if (window->hWnd == 0) // 窗口是否成功创建
{
return FALSE; // 若失败,则返回FALSE
}
window->hDC = GetDC(window->hWnd); // 取得当前窗口的设备描述表
if (window->hDC == 0) // 若未得到设备描述表
{
DestroyWindow(window->hWnd); // 销毁该窗口
window->hWnd = 0; // 窗口句柄清零
return FALSE; // 返回FALSE
}
PixelFormat = ChoosePixelFormat(window->hDC, &pfd); // 选择兼容的像素格式
if (PixelFormat == 0) // 若选择失败
{
ReleaseDC(window->hWnd, window->hDC); // 释放设备描述表
window->hDC = 0; // 将设备描述表清零
DestroyWindow(window->hWnd); // 销毁窗口
window->hWnd = 0; // 窗口句柄清零
return FALSE; // 返回FALSE
}
if (SetPixelFormat(window->hDC, PixelFormat, &pfd) == FALSE) // 设置像素格式并判断是否失败
{
ReleaseDC(window->hWnd, window->hDC); // 释放设备描述表
window->hDC = 0; // 将设备描述表清零
DestroyWindow(window->hWnd); // 销毁窗口
window->hWnd = 0; // 窗口句柄清零
return FALSE; // 返回FALSE
}
window->hRC = wglCreateContext(window->hDC); // 取得绘制描述表
if (window->hRC == 0) // 若未得到绘制描述表
{
ReleaseDC(window->hWnd, window->hDC); // 释放设备描述表
window->hDC = 0; // 将设备描述表清零
DestroyWindow(window->hWnd); // 销毁窗口
window->hWnd = 0; // 窗口句柄清零
return FALSE; // 返回FALSE
}
if (wglMakeCurrent(window->hDC, window->hRC) == FALSE) // 设置绘制描述表并判断是否失败
{
wglDeleteContext(window->hRC); // 删除绘制描述表
window->hRC = 0; // 将绘制描述表清零
ReleaseDC(window->hWnd, window->hDC); // 释放设备描述表
window->hDC = 0; // 将设备描述表清零
DestroyWindow(window->hWnd); // 销毁窗口
window->hWnd = 0; // 窗口句柄清零
return FALSE; // 返回FALSE
}
ShowWindow(window->hWnd, SW_NORMAL); // 显示窗口
ResizeWindowGL(window->init.width, window->init.height); // 重设窗口
ZeroMemory(window->keys, sizeof (Keys)); // 清空键盘缓冲区
return TRUE; // 窗口创建成功
}
BOOL DestroyWindowGL(GL_Window* window) // 销毁窗口并释放程序所用的资源
{
if (window->hWnd != 0) // 窗口释放有句柄?
{
if (window->hDC != 0) // 窗口是否有得到绘制描述表?
{
wglMakeCurrent(window->hDC, 0); // 将当前描述表指针置为0
if (window->hRC != 0) // 该窗口是否有绘制描述表
{
wglDeleteContext(window->hRC); // 释放绘制描述表
window->hRC = 0; // 将绘制描述表清零
}
ReleaseDC(window->hWnd, window->hDC); // 释放设备描述表
window->hDC = 0; // 将设备描述表清零
}
DestroyWindow(window->hWnd); // 销毁窗口
window->hWnd = 0; // 将窗口句柄清零
}
if (window->init.isFullScreen) // 若窗口在全屏模式下
{
ChangeDisplaySettings(NULL ,0); // 切换为桌面分辨率
ShowCursor(TRUE); // 显示鼠标
}
return TRUE; // 返回TRUE
}
LRESULT CALLBACK WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)// 窗口消息处理
{
GL_Window* window = (GL_Window*)(GetWindowLong(hWnd, GWL_USERDATA));// 取得窗口信息
switch (uMsg) // 取得Window的消息
{
case WM_SYSCOMMAND: // 截取系统命令
{
switch (wParam) // 监听系统调用
{
case SC_SCREENSAVE: // 要运行屏保?
case SC_MONITORPOWER: // 显示器进入节电模式?
return 0; // 提前返回0,防止系统调用执行
}
break; // 退出
}
case WM_CREATE: // 创建窗口
{
CREATESTRUCT* creation = (CREATESTRUCT*)(lParam); // 保存窗口结构指针
window = (GL_Window*)(creation->lpCreateParams);
SetWindowLong(hWnd, GWL_USERDATA, (LONG)(window)); // 改变窗口属性
return 0; // 返回
}
case WM_TIMER: // TIMER事件
{
InvalidateRect(window->hWnd, NULL, FALSE); // 使窗口失效
break;
}
case WM_PAINT: // PAINT消息处理,在此处绘图
{
DrawSceneGL(); // 在此处绘图
SwapBuffers(window->hDC); // 交换缓存
ValidateRect(window->hWnd, NULL); // 使窗口有效
break;
}
case WM_CLOSE: // 关闭窗口
{
PostMessage(window->hWnd, WM_QUIT, 0, 0); // 结束程序
return 0;
}
case WM_SIZE: // 窗口大小变化
{
ResizeWindowGL(LOWORD(lParam), HIWORD(lParam)); // 修改窗口大小为 Width = LoWord, Height = HiWord
return 0; // 返回
}
case WM_KEYDOWN: // 按键按下时更新键盘缓冲
if ((wParam >= 0) && (wParam <= 255)) // 按键是否合法?
{
window->keys->keyDown[wParam] = TRUE; // 设相应键为 True
return 0; // 返回
}
break; // 退出
case WM_KEYUP: // 按键松开时更新键盘缓冲
if ((wParam >= 0) && (wParam <= 255)) // 按键是否合法?
{
window->keys->keyDown[wParam] = FALSE; // 设相应键为为 FALSE
return 0; // 返回
}
break; // 退出
case WM_TOGGLEFULLSCREEN: // 开关全屏模式
{
Deinitialize(); // 做扫尾工作
DestroyWindowGL(window); // 销毁窗口
window->init.isFullScreen = !window->init.isFullScreen; // 改变窗口模式
CreateWindowGL(window); // 重新创建窗口
Initialize(window, window->keys); // 初始化OpenGL绘制程序
break; // 退出
}
default:
break;
}
return DefWindowProc(hWnd, uMsg, wParam, lParam); // 将本程序不处理的消息传给 DefWindowProc
}
BOOL RegisterWindowClass(Application* application) // 为本应用程序注册一个类
{
WNDCLASSEX windowClass; // 窗口类
ZeroMemory (&windowClass, sizeof(WNDCLASSEX)); // 清空内存
windowClass.cbSize = sizeof(WNDCLASSEX); // 窗口类的大小
windowClass.style = CS_HREDRAW | CS_VREDRAW | CS_OWNDC; // 在窗口移动,改变大小的时候重绘
windowClass.lpfnWndProc = (WNDPROC)(WindowProc); // 用WindowProc函数处理消息
windowClass.hInstance = application->hInstance; // 设置实例
windowClass.hbrBackground = (HBRUSH)(COLOR_APPWORKSPACE); // 类背景的画刷颜色
windowClass.hCursor = LoadCursor(NULL, IDC_ARROW); // 载入鼠标指针
windowClass.lpszClassName = application->className; // 设置应用程序的类名
if (RegisterClassEx(&windowClass) == 0) // 注册类失败?
{
MessageBox(HWND_DESKTOP, "应用程序类注册失败!\nRegisterClassEx Failed!", "Error", MB_OK | MB_ICONEXCLAMATION);
return FALSE; // 返回False (注册失败)
}
return TRUE; // 返回True (注册成功)
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
Application application; // 应用程序
GL_Window window; // 窗口
Keys keys; // 键盘按键
MSG msg; // Window消息
BOOL bRet; // 保存消息获得是否成功
// 给应用程序赋值
application.className = CLASSNAME; // 程序类名字
application.hInstance = hInstance; // 程序入口
// 窗口相关信息设置
ZeroMemory(&window, sizeof(GL_Window)); // 清零窗口变量的内存空间
window.keys = &keys; // 设置按键
window.init.application = &application; // 设置窗口程序
window.init.title = TITLE; // 设置标题
window.init.width = WIDTH; // 设置窗口宽度
window.init.height = HEIGHT; // 设置窗口高度
window.init.bitsPerPixel = BPP; // 设置每像素的位数
window.init.isFullScreen = FALSE; // 设置初始窗口是否全屏否(FALSE)
ZeroMemory(&keys, sizeof(Keys)); // 键盘缓冲清零
if (RegisterWindowClass(&application) == FALSE) // 注册类是否失败
{
MessageBox(HWND_DESKTOP, "窗口类注册失败!\nError Registering Window Class!", "Error", MB_OK | MB_ICONEXCLAMATION);
return -1; // 结束程序
}
if (CreateWindowGL(&window) == TRUE) // 创建窗口是否成功
{
if (Initialize(&window, &keys) == FALSE) // 初始化OpenGL绘制程序
{
PostMessage(window.hWnd, WM_QUIT, 0, 0); // 抛出消息WM_QUIT
}
}
else
{
return 0; // 退出程序
}
while ((bRet = GetMessage(&msg, NULL, 0, 0) != 0)) // 循环直到收到消息为WM_QUIT
{
if (bRet != -1)
{
Update(); // 更新处理消息事件
TranslateMessage(&msg); // 传递消息
DispatchMessage(&msg); // 分派消息
}
else
{
break; // 退出循环
}
}
// 退出消息循环,准备退出程序
Deinitialize(); // 做退出前的扫尾工作
DestroyWindowGL(&window); // 销毁窗口
UnregisterClass(application.className, application.hInstance); // 注销窗口类
return 0; // 退出程序
}
BOOL Initialize(GL_Window* window, Keys* keys) // 用户绘制场景相关的函数在此处定义
{
// 设置全局变量
OGL_window = window;
OGL_keys = keys;
// 建立时钟
SetTimer(window->hWnd, TIMER1, 33, NULL);
// 在此处初始化绘制场景
glClearColor(0.0f, 0.0f, 0.0f, 0.5f); // 清屏为黑色
glClearDepth(1.0f); // 设置深度缓存
glDepthFunc(GL_LEQUAL); // 选择深度测试方式
glEnable(GL_DEPTH_TEST); // 开启深度测试
glShadeModel(GL_SMOOTH); // 阴暗处理采用平滑方式
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); // 最精细的透视计算
return TRUE; // 初始化成功返回TRUE
}
void DrawSceneGL(void) // 绘制场景
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // 清除颜色和深度缓存
glLoadIdentity(); // 重置当前矩阵
//在此处添加代码进行绘制:
glShadeModel(GL_SMOOTH); // 阴暗处理采用平滑方式(Smooth Shading)
glTranslatef(-1.5f, 1.0f, -6.0f); // 坐标原点往左移1.5f,往上移1.0f,往内移6.0f
glBegin(GL_TRIANGLES); // 开始绘制一个三角形
glColor3ub(255, 0, 0); // 定义上顶点为红色
glVertex3f(0.0f, 1.0f, 0.0f); // 绘制上顶点
glColor3ub(0, 255, 0); // 定义左下顶点为绿色
glVertex3f( -1.0f, -1.0f, 0.0f); // 绘制左下顶点
glColor3ub(255, 255, 0); // 定义右下顶点为黄色
glVertex3f(1.0f, -1.0f, 0.0f); // 绘制右下顶点
glEnd();
glTranslatef(3.0f, 0.0f, 0.0f); // 向右平移3.0f
glColor3ub(0, 255, 255); // 定义正方形的颜色
glBegin(GL_QUADS); // 开始绘制一个正方形
glVertex3f(-1.0f, 1.0f, 0.0f); // 绘制左上角顶点
glVertex3f(-1.0f,-1.0f, 0.0f); // 绘制左下角顶点
glVertex3f( 1.0f,-1.0f, 0.0f); // 绘制右下角顶点
glVertex3f( 1.0f, 1.0f, 0.0f); // 绘制右上角顶点
glEnd();
glTranslatef(-1.5f, -2.0f, 0.0f); // 向左移1.5f,向下移2.0f
glColor3f(0.0f, 0.8f, 0.2f); // 绿色
glBegin(GL_LINE_LOOP); // 绘制圆
for (int i=0; i<NUM; i++)
{
glVertex3f(1.5f*(float)sin(2.0f*3.14f*i/NUM), 0.0f, 1.5f*(float)cos(2.0f*3.14f*i/NUM));
}
glEnd();
glFlush(); // 刷新GL命令队列
}
void Update(void) // 在此处更新对消息的动作
{
if (OGL_keys->keyDown[VK_ESCAPE] == TRUE) // 判断ESC键是否按下
{
PostMessage(OGL_window->hWnd, WM_QUIT, 0, 0); // 结束程序
}
if (OGL_keys->keyDown[VK_F1] == TRUE) // 判断F1是否按下
{
PostMessage(OGL_window->hWnd, WM_TOGGLEFULLSCREEN, 0, 0); // 在全屏/窗口模式间切换
}
}
void Deinitialize(void) // 在此处做退出前扫尾工作
{
KillTimer(OGL_window->hWnd, TIMER1); // 释放时钟
}
⑤ els档需要将表格的底色去掉,只保留有颜色的数字(颜色要去掉,只保留数字)
【Ctrl+A】全选-文件-----点【格式】菜单-----【单元格】下拉菜单里的【图案】------选【无颜色】---确定。---------OK
⑥ 请教css二级导航背景替换的问题,是有关JS的。谢谢!
实际上这一效果在非IE浏览器下可以用CSS解决,但可惜的是在IE下有个BUG,所以我们只能借助js. 这里我给你一个代码,并且给你一个解释。
sfHover = function() {
var sfEls = document.getElementById("xxx").getElementsByTagName("LI");
//上面那句代码,其中xxx部分请用你最外层的ul标签的ID替换掉
//代码的意思找到id为xxx的标签,并且找到此标签下所有的LI标签
for (var i=0; i<sfEls.length; i++) {
sfEls[i].onmouseover=function() {
this.className+=" sfhover";
//遍历所有的LI标签,如果当用户鼠标hover的时候,在当前的标签下添加//css的class “sfhover”这个sfhover class请你自行去设计,例如你要添//加的替换背景的效果
}
sfEls[i].onmouseout=function() {
this.className=this.className.replace(new RegExp(" sfhover\\b"),
//当鼠标移开以后,去掉这个class
"");
}
}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);
//将此方法绑定到页面。
实际上你稍微改一下我的方法就可以做到了。
至于你说的方法里面,你可以
this.style.backgroundColor= "#ffffff" 其中 ffffff 改成你想要的颜色代码
这应该可以了吧?
⑦ 《艾尔之光》中“x图”什么意思
1、就是每个村庄的副本困难模式全部通关后出来的隐藏副本:二村的是瓦力的地下室、三村的是骨龙、四村的是小绿、五村的是拜德幻境、六村的是巨神。
2、一般情况下几村的隐藏副本图就叫做几X,比如说二村的是2X以此类推三村就是3X
⑧ 华为ELs-AN00怎么装卡
有说明书,可以看说明安装!如果是新的手机背面有保护膜,上面也印刷装卡图片!就是没有这些,你用顶针打开卡槽,看卡的槽,把斜面对好,也不会错,操作一下,很简单的!
⑨ 去美国留学,去那里学els,需要在这边做什么
需要准备教育背景证明,成绩单,毕业证书,财力证明。即使托福成绩不够也可直接进入大学,如果可能,最好还是提供你托福考试成绩。
美国大学ELS就是常说的美国留学语言学校,申请美国大学双录取项目的同学需要先去美国大学ELS学习语言,也有一部分同学是想要提高自己的英文水平而去语言学校进修。
语言学校一般分为下列数种:
(1)附设在大学校园里,由大学另设立部门管理;
(2)由私人企业管理,替大学开设语言课程,设立在大学校园、高中学校、或于校外独立建筑;
(3)由私人企业开设经营,向各州的州政府申请立案,雷斯语言辅导班;
(4)附设在成人教育中心或非盈利事业组织下提供英语进修课程等。
第一类的语言学校因为由大学独立部门直接管理,课程包含各项考试进修、英语程度进级,目的在帮助学生通过考试、提升学生英文程度使其能顺利进修大学课程;这类语言学校不仅开设英语考试课程、语文进阶课程、尚有专业科目语文进修,例如商用英语、法律英语等。到大学附设的语言学校就读,另一项优点是可以充分利用学校资源,例如图书馆、健身中心、运动场、资讯室等。
第二类语言学校为私人企业管理,为了确保优良品质和好的声誉,通常治学严谨又活泼,除了一般语言课程外,常有不同的团体文化活动,使学生在互动中增强学习能力。学生达到语言标准后,立刻进入大学正规课程。
第三类的语言学校类似语言补习班,为了具备市场竞争力,对学生照顾特别周全,这类学校附设辅导升学的服务,与很多美国大学联盟,免费辅导学生申请大学,并确保学生语言程度达到标准后,能顺利进入某所适合学生条件的美国大学就读。
第四类语言学校附设在各地市政府或社区服务中心内,免费或以非常低廉的费用提供失学成人或新移民学习英语及其它课程。
在美国有不同的机构负责语言学校的认证,语言学校也互相结合成为协会,选出理事成员,经常开会研究语言教学品质,及心得教学内容和方法,例如具知名度的协会American Association of Intensive English Program 【AAIEP】和Teacher of English to Speakers of Other Language 【TESOL】,被协会认证通过的语言学校,信誉品质可以被信任。
⑩ 怎么把elsx页面变色
题主想问的是怎么把xlsx页面变色吗?
1、打开需要设置的表格。选择需要设置颜色的区域,全选的话,可以点击表格左上角的空格。
2、选择好后,在工具栏的“开始”中找到“填充颜色”,并点击,选择背景颜色,背景颜色设置就完成了。
3、但是表格就没有了边框线怎么办?放心。小编给你支招。首先,也是对表格全选。接着就在“填充颜色”旁边就有“边框”,可以选择权“全边框”就可以了。