- 浏览: 1088446 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (695)
- 心情日记 (14)
- AS开发工具 (12)
- 文章转载 (99)
- AIR (5)
- 问题总结 (46)
- SWF格式 (7)
- 测试总结 (10)
- 外文资料 (9)
- 算法技术 (33)
- AS3常用开源库 (43)
- 源码范例 (102)
- FLEX (72)
- FLASH 优化 (33)
- 游戏开发 (49)
- 开发技术 (11)
- 工作应用 (34)
- AS3收集 (140)
- WebBase (0)
- 开发构想 (4)
- 设计模式 (2)
- 框架和框架范例 (19)
- RED5 (3)
- java开发 (3)
- JAVA (1)
- FLASH-3D (23)
- 3D (6)
- 书籍 (10)
- 业界信息资料 (3)
- C# (1)
- JavaScript (12)
- HTML5 (6)
- Flixel (1)
- D5Power RPG网页游戏引擎 (0)
- ColorMatrixFilter - 获得相应颜色的色调 函数 (0)
- Starling (0)
最新评论
-
老顽童203:
字体
水果忍者鼠标跟随特效制作[转载] -
hairball00:
[转] 放出超多的Flash组件源代码 -
he74552775:
flash AS3 RegExp简单功能用法(转) -
hanshuai1232000:
第四点,有利也有弊,等你做了大型的aprg,你就知道了
[转]位图数据内存优化 -
yangfantao:
太感谢
[转] 放出超多的Flash组件源代码
From:http://www.ourbrander.com/artical_content.asp?id=263&classid=21
/web_admin/eWebEditor/uploadfile/200912223162421.swf
源代码:
package com.ourbrander.webObj.component.scrollBar{
/*
奥博瑞德滚动条 1(AS3)
版本:奥博瑞德显示对象的滚动条1.0
QQ:14238910 Q群:技术不是唯一:1934054 网站地址:
使 用方法:
构造函数:ctScrollbar(target:*)
设置皮 肤:setInterface(target:MovieClip) target包括upBtn(按钮)、downBtn(按钮)、bg(电影剪辑)、dragMc(电影剪辑)。
设 置滚动条滑动按钮高度是否锁定 public function set _lockBarHeight(value:Boolean)
设 置滚动条的高度 public function set _height(value:Number)
获取滚动条的高度 public function get _height()
设置上下按钮按下时滑动按钮移动的距离 public function set barspeed()
获取上下按钮按下时滑动按钮移动的距离 public function get barspeed()
事 件:
public static scrollBar.LOCKED 改变滑动条状态为锁定高度时发出
public static scrollBar.UNLOCK 改变滑动条状态为不锁定高度时发出
public static scrollBar.SETINTERFACE 改变了滚动条样式时发出
public static scrollBar.BGCLICKED 滚动条背景被点击时发出
public static scrollBar.BARSCROLLING 滚动条滑动按钮开始被拖拽时发出(鼠标滚动滑动文本框不发送此事件)
public static scrollBar.BARSCROLLSTOPED 滚动条滑动按钮停止拖拽时发出(鼠标滚动滑动文本框不发送此事件)
public static scrollBar.SETBARSPEED 上下按钮按下时滑动按钮移动的速度改变的时候发出此事件
注意:要对被滚动的容器状 态进行监控,只需要侦听被滚动的容器发出的事件即可,这里就不多余添加了。
*/
import flash.display.Sprite;
import flash.display.MovieClip;
import flash.display.SimpleButton;
import flash.events.MouseEvent;
import flash.geom.Rectangle;
import flash.events.Event;
import flash.ui.Mouse;
import flash.events.EventDispatcher;
public class ctScrollbar extends MovieClip {
//视图设定
private var _Skin:MovieClip;
private var _targetContainer:*;
private var _upBtn:SimpleButton;
private var _downBtn:SimpleButton;
private var _bg:MovieClip;
private var _dragMc:MovieClip;
private var _msk:*
//变量设定
private var _dx:Number;//滚动条相对文本框的X坐标距离
private var _dy:Number;//滚动条相对文本框的X坐标距离
private var HEIGHT:*//滚动条的高度
private var _lockBarHeight:Boolean;
private var _dheight:Number
private var _dwidth:Number
private var _direction:String//垂直或水平方向的滚动条
private var _barSpeed:Number;//上下按钮按下时滑动按钮移动的距离
//滚动条滑动按钮高度锁定状态,默认为false
public static const SETINTERFACE="setInterface"
public static const LOCKED="locked";
public static const UNLOCK="unlock";
public static const BGCLICKED="bgclicked"
public static const BARSCROLLING="barscrolling"
public static const BARSCROLLSTOPED="barscrollstop"
public static const SETBARSPEED="setbarspeed"
public function ctScrollbar(target:*,tmpDirection:String=null) {//构造函数
_targetContainer=target;
_direction=(tmpDirection!=null)?tmpDirection:"V"
DataInit();
}
public function setInterface(target:MovieClip) {//更换滚动条的皮肤
if (_Skin==null) {
} else {
this.removeChild(_Skin);
dispatchEvent(new Event(SETINTERFACE));
}
_Skin=target;
_upBtn=_Skin.upBtn;
_downBtn=_Skin.downBtn;
_bg=_Skin.bg;
_dragMc=_Skin.dragMc;
setSkin();
_downBtn.addEventListener(MouseEvent.MOUSE_DOWN,function(){_downBtn.addEventListener(Event.ENTER_FRAME,rollDown);});
_downBtn.addEventListener(MouseEvent.MOUSE_UP,function (){_downBtn.removeEventListener(Event.ENTER_FRAME,rollDown)});
_upBtn.addEventListener(MouseEvent.MOUSE_DOWN,function(){_upBtn.addEventListener(Event.ENTER_FRAME,rollUp);});
_upBtn.addEventListener(MouseEvent.MOUSE_UP,function (){_upBtn.removeEventListener(Event.ENTER_FRAME,rollUp)});
_dragMc.buttonMode=true;
_dragMc.addEventListener(MouseEvent.MOUSE_DOWN,dragScroll);
_dragMc.addEventListener(MouseEvent.MOUSE_UP,stopdragScroll);
_targetContainer.addEventListener(MouseEvent.MOUSE_WHEEL,wheeling)
//_targetContainer.addEventListener(Event.SCROLL,rolling);
// _targetContainer.addEventListener(Event.CHANGE,rolling);
_bg.addEventListener(MouseEvent.CLICK,bgclick);
setdragMc();
addChild(_Skin);
}
private function DataInit() {
_msk=_targetContainer.mask
_lockBarHeight=false;
_barSpeed=5
if(_direction=="V"){
this.rotation=0
}else{
this.rotation=-90
}
}
private function setSkin() {
_upBtn.x=0;
_upBtn.y=0;
if (_upBtn.getRect(this).y<0) {
_upBtn.y=- _upBtn.getRect(_Skin).y;
}
var tmpLen=(_direction=="V")?_msk.height:_msk.width//判断是水平滚动条还是垂直滚动条
var tmp_h=(HEIGHT!=undefined)?HEIGHT:tmpLen;
var h=Math.round(tmp_h-_upBtn.height-_downBtn.height);
_bg.x=0;
_bg.height=h
_bg.y=_upBtn.height+0;
_downBtn.x=0;
_downBtn.y=_bg.y+_bg.height;
}
private function wheeling(e){//滚动鼠标滚轮时
var d=-e.delta
moveDrag(d)
};
private function moveDrag(d:Number){//移动滑动按钮
var tmpY=_dragMc.y+d
if(tmpY<_bg.y){
tmpY=_bg.y
}
if(tmpY+_dragMc.height>_bg.y+_bg.height){
tmpY=_bg.y-_dragMc.height+_bg.height
}
_dragMc.y=tmpY
setdragMc()
}
public function set _height(_value:Number) {//设置滚动条的高度
HEIGHT=_value;//为 了避免拖动滑动按钮的时候出现BUG,startDrag对于不是整数的Rectangle不准确,似乎会自动用Math.floor()转换值整数
_bg.height=Math.round(HEIGHT-_upBtn.height-_downBtn.height);
_downBtn.y=_bg.y+_bg.height;
setdragMc()
}
public function get _height() {
var tmpheight=HEIGHT;
return tmpheight;
}
public function set lockBarHeight(_value:Boolean) {//滚动条滑动按钮高度锁定状态
_lockBarHeight=_value;
if (_lockBarHeight==true) {
dispatchEvent(new Event(LOCKED));
} else {
dispatchEvent(new Event(UNLOCK));
}
}
public function get lockBarHeight() {
var tmp_lockBarHeight=_lockBarHeight;
return tmp_lockBarHeight;
}
private function rollUp(e) {
moveDrag(_barSpeed*-1)
}
private function rollDown(e) {
moveDrag(_barSpeed*1)
}
public function set barspeed(_value:Number){//设置上下按钮按下时滚动条移动的距离
_barSpeed=_value
dispatchEvent(new Event(SETBARSPEED));
}
public function get barspeed(){
var tmpbarSpeed=_barSpeed
return tmpbarSpeed
}
private function checkContainer(){
//检查容器内的元件的状态和属性,单独使用此滚动条的时候用的,在接下来的组件 Container组件里将不使用此方法
var tmpMax=(_direction=="V")?_targetContainer.height:_targetContainer.width
var tmpLen=(_direction=="V")?_targetContainer.height:_targetContainer.width
if(tmpMax-tmpLen>=0){
// 遮罩比装载的元件大,不需要滚动条
this.visible=false
}else{
this.visible=true
}
}
private function dragScroll(e) {
var rec:Rectangle=new Rectangle(_bg.x,_bg.y,0,_bg.height-e.target.height);
e.target.startDrag(false,rec);
this.addEventListener(Event.ENTER_FRAME,rolling);
stage.addEventListener(MouseEvent.MOUSE_UP,stopdragScroll);
dispatchEvent(new Event(BARSCROLLING));
}
private function stopdragScroll(e=null) {
_dragMc.stopDrag();
if(Math.abs(_dragMc.y-(_bg.y+_bg.height)+_dragMc.height)<1){
_dragMc.y=_bg.y+_bg.height-_dragMc.height
setdragMc();
}
this.removeEventListener(Event.ENTER_FRAME,rolling);
stage.removeEventListener(MouseEvent.MOUSE_UP,stopdragScroll);
dispatchEvent(new Event(BARSCROLLSTOPED));
}
private function rolling(e=null) {
trace(Math.abs(_dragMc.y-(_bg.y+_bg.height)+_dragMc.height))
/*if(Math.abs(_dragMc.y-(_bg.y+_bg.height)+_dragMc.height)<1){
_dragMc.y=_bg.y+_bg.height-_dragMc.height
}*/
setdragMc();
}
private function setdragMc(e=null) {
//_targetContainer
if (_lockBarHeight==false) {//如果滚动条的按钮高度没有被锁定
var tmpHeight=Math.round((_msk.height/_targetContainer.height)*_bg.height)
_dragMc.height=(tmpHeight>5)?tmpHeight:5
}else{
}
//trace(_dragMc.y+"/"+(_bg.y+_bg.height-_dragMc.height))
srollContainer()
}//end function
private function srollContainer(){//滚动容器
var p=(_dragMc.y-_upBtn.height)/(_bg.height-_dragMc.height)
if(_direction=="V"){
_targetContainer.y=_msk.y-p*(_targetContainer.height-_msk.height)
}else{
_targetContainer.x=_msk.x-p*(_targetContainer.width-_msk.width)
}
}
private function bgclick(e) {//滚动条背景点击文本框快速定位
if (this.mouseY<=_dragMc.y) {
_dragMc.y=this.mouseY;
trace(this.mouseY+"/"+e.localY);
} else {
_dragMc.y=(this.mouseY-_dragMc.y-_dragMc.height)+_dragMc.y;
}
setdragMc()
dispatchEvent(new Event(BGCLICKED));
}
}
}
/web_admin/eWebEditor/uploadfile/200912223162421.swf
源代码:
package com.ourbrander.webObj.component.scrollBar{
/*
奥博瑞德滚动条 1(AS3)
版本:奥博瑞德显示对象的滚动条1.0
QQ:14238910 Q群:技术不是唯一:1934054 网站地址:
使 用方法:
构造函数:ctScrollbar(target:*)
设置皮 肤:setInterface(target:MovieClip) target包括upBtn(按钮)、downBtn(按钮)、bg(电影剪辑)、dragMc(电影剪辑)。
设 置滚动条滑动按钮高度是否锁定 public function set _lockBarHeight(value:Boolean)
设 置滚动条的高度 public function set _height(value:Number)
获取滚动条的高度 public function get _height()
设置上下按钮按下时滑动按钮移动的距离 public function set barspeed()
获取上下按钮按下时滑动按钮移动的距离 public function get barspeed()
事 件:
public static scrollBar.LOCKED 改变滑动条状态为锁定高度时发出
public static scrollBar.UNLOCK 改变滑动条状态为不锁定高度时发出
public static scrollBar.SETINTERFACE 改变了滚动条样式时发出
public static scrollBar.BGCLICKED 滚动条背景被点击时发出
public static scrollBar.BARSCROLLING 滚动条滑动按钮开始被拖拽时发出(鼠标滚动滑动文本框不发送此事件)
public static scrollBar.BARSCROLLSTOPED 滚动条滑动按钮停止拖拽时发出(鼠标滚动滑动文本框不发送此事件)
public static scrollBar.SETBARSPEED 上下按钮按下时滑动按钮移动的速度改变的时候发出此事件
注意:要对被滚动的容器状 态进行监控,只需要侦听被滚动的容器发出的事件即可,这里就不多余添加了。
*/
import flash.display.Sprite;
import flash.display.MovieClip;
import flash.display.SimpleButton;
import flash.events.MouseEvent;
import flash.geom.Rectangle;
import flash.events.Event;
import flash.ui.Mouse;
import flash.events.EventDispatcher;
public class ctScrollbar extends MovieClip {
//视图设定
private var _Skin:MovieClip;
private var _targetContainer:*;
private var _upBtn:SimpleButton;
private var _downBtn:SimpleButton;
private var _bg:MovieClip;
private var _dragMc:MovieClip;
private var _msk:*
//变量设定
private var _dx:Number;//滚动条相对文本框的X坐标距离
private var _dy:Number;//滚动条相对文本框的X坐标距离
private var HEIGHT:*//滚动条的高度
private var _lockBarHeight:Boolean;
private var _dheight:Number
private var _dwidth:Number
private var _direction:String//垂直或水平方向的滚动条
private var _barSpeed:Number;//上下按钮按下时滑动按钮移动的距离
//滚动条滑动按钮高度锁定状态,默认为false
public static const SETINTERFACE="setInterface"
public static const LOCKED="locked";
public static const UNLOCK="unlock";
public static const BGCLICKED="bgclicked"
public static const BARSCROLLING="barscrolling"
public static const BARSCROLLSTOPED="barscrollstop"
public static const SETBARSPEED="setbarspeed"
public function ctScrollbar(target:*,tmpDirection:String=null) {//构造函数
_targetContainer=target;
_direction=(tmpDirection!=null)?tmpDirection:"V"
DataInit();
}
public function setInterface(target:MovieClip) {//更换滚动条的皮肤
if (_Skin==null) {
} else {
this.removeChild(_Skin);
dispatchEvent(new Event(SETINTERFACE));
}
_Skin=target;
_upBtn=_Skin.upBtn;
_downBtn=_Skin.downBtn;
_bg=_Skin.bg;
_dragMc=_Skin.dragMc;
setSkin();
_downBtn.addEventListener(MouseEvent.MOUSE_DOWN,function(){_downBtn.addEventListener(Event.ENTER_FRAME,rollDown);});
_downBtn.addEventListener(MouseEvent.MOUSE_UP,function (){_downBtn.removeEventListener(Event.ENTER_FRAME,rollDown)});
_upBtn.addEventListener(MouseEvent.MOUSE_DOWN,function(){_upBtn.addEventListener(Event.ENTER_FRAME,rollUp);});
_upBtn.addEventListener(MouseEvent.MOUSE_UP,function (){_upBtn.removeEventListener(Event.ENTER_FRAME,rollUp)});
_dragMc.buttonMode=true;
_dragMc.addEventListener(MouseEvent.MOUSE_DOWN,dragScroll);
_dragMc.addEventListener(MouseEvent.MOUSE_UP,stopdragScroll);
_targetContainer.addEventListener(MouseEvent.MOUSE_WHEEL,wheeling)
//_targetContainer.addEventListener(Event.SCROLL,rolling);
// _targetContainer.addEventListener(Event.CHANGE,rolling);
_bg.addEventListener(MouseEvent.CLICK,bgclick);
setdragMc();
addChild(_Skin);
}
private function DataInit() {
_msk=_targetContainer.mask
_lockBarHeight=false;
_barSpeed=5
if(_direction=="V"){
this.rotation=0
}else{
this.rotation=-90
}
}
private function setSkin() {
_upBtn.x=0;
_upBtn.y=0;
if (_upBtn.getRect(this).y<0) {
_upBtn.y=- _upBtn.getRect(_Skin).y;
}
var tmpLen=(_direction=="V")?_msk.height:_msk.width//判断是水平滚动条还是垂直滚动条
var tmp_h=(HEIGHT!=undefined)?HEIGHT:tmpLen;
var h=Math.round(tmp_h-_upBtn.height-_downBtn.height);
_bg.x=0;
_bg.height=h
_bg.y=_upBtn.height+0;
_downBtn.x=0;
_downBtn.y=_bg.y+_bg.height;
}
private function wheeling(e){//滚动鼠标滚轮时
var d=-e.delta
moveDrag(d)
};
private function moveDrag(d:Number){//移动滑动按钮
var tmpY=_dragMc.y+d
if(tmpY<_bg.y){
tmpY=_bg.y
}
if(tmpY+_dragMc.height>_bg.y+_bg.height){
tmpY=_bg.y-_dragMc.height+_bg.height
}
_dragMc.y=tmpY
setdragMc()
}
public function set _height(_value:Number) {//设置滚动条的高度
HEIGHT=_value;//为 了避免拖动滑动按钮的时候出现BUG,startDrag对于不是整数的Rectangle不准确,似乎会自动用Math.floor()转换值整数
_bg.height=Math.round(HEIGHT-_upBtn.height-_downBtn.height);
_downBtn.y=_bg.y+_bg.height;
setdragMc()
}
public function get _height() {
var tmpheight=HEIGHT;
return tmpheight;
}
public function set lockBarHeight(_value:Boolean) {//滚动条滑动按钮高度锁定状态
_lockBarHeight=_value;
if (_lockBarHeight==true) {
dispatchEvent(new Event(LOCKED));
} else {
dispatchEvent(new Event(UNLOCK));
}
}
public function get lockBarHeight() {
var tmp_lockBarHeight=_lockBarHeight;
return tmp_lockBarHeight;
}
private function rollUp(e) {
moveDrag(_barSpeed*-1)
}
private function rollDown(e) {
moveDrag(_barSpeed*1)
}
public function set barspeed(_value:Number){//设置上下按钮按下时滚动条移动的距离
_barSpeed=_value
dispatchEvent(new Event(SETBARSPEED));
}
public function get barspeed(){
var tmpbarSpeed=_barSpeed
return tmpbarSpeed
}
private function checkContainer(){
//检查容器内的元件的状态和属性,单独使用此滚动条的时候用的,在接下来的组件 Container组件里将不使用此方法
var tmpMax=(_direction=="V")?_targetContainer.height:_targetContainer.width
var tmpLen=(_direction=="V")?_targetContainer.height:_targetContainer.width
if(tmpMax-tmpLen>=0){
// 遮罩比装载的元件大,不需要滚动条
this.visible=false
}else{
this.visible=true
}
}
private function dragScroll(e) {
var rec:Rectangle=new Rectangle(_bg.x,_bg.y,0,_bg.height-e.target.height);
e.target.startDrag(false,rec);
this.addEventListener(Event.ENTER_FRAME,rolling);
stage.addEventListener(MouseEvent.MOUSE_UP,stopdragScroll);
dispatchEvent(new Event(BARSCROLLING));
}
private function stopdragScroll(e=null) {
_dragMc.stopDrag();
if(Math.abs(_dragMc.y-(_bg.y+_bg.height)+_dragMc.height)<1){
_dragMc.y=_bg.y+_bg.height-_dragMc.height
setdragMc();
}
this.removeEventListener(Event.ENTER_FRAME,rolling);
stage.removeEventListener(MouseEvent.MOUSE_UP,stopdragScroll);
dispatchEvent(new Event(BARSCROLLSTOPED));
}
private function rolling(e=null) {
trace(Math.abs(_dragMc.y-(_bg.y+_bg.height)+_dragMc.height))
/*if(Math.abs(_dragMc.y-(_bg.y+_bg.height)+_dragMc.height)<1){
_dragMc.y=_bg.y+_bg.height-_dragMc.height
}*/
setdragMc();
}
private function setdragMc(e=null) {
//_targetContainer
if (_lockBarHeight==false) {//如果滚动条的按钮高度没有被锁定
var tmpHeight=Math.round((_msk.height/_targetContainer.height)*_bg.height)
_dragMc.height=(tmpHeight>5)?tmpHeight:5
}else{
}
//trace(_dragMc.y+"/"+(_bg.y+_bg.height-_dragMc.height))
srollContainer()
}//end function
private function srollContainer(){//滚动容器
var p=(_dragMc.y-_upBtn.height)/(_bg.height-_dragMc.height)
if(_direction=="V"){
_targetContainer.y=_msk.y-p*(_targetContainer.height-_msk.height)
}else{
_targetContainer.x=_msk.x-p*(_targetContainer.width-_msk.width)
}
}
private function bgclick(e) {//滚动条背景点击文本框快速定位
if (this.mouseY<=_dragMc.y) {
_dragMc.y=this.mouseY;
trace(this.mouseY+"/"+e.localY);
} else {
_dragMc.y=(this.mouseY-_dragMc.y-_dragMc.height)+_dragMc.y;
}
setdragMc()
dispatchEvent(new Event(BGCLICKED));
}
}
}
发表评论
-
greenSock新老库
2012-08-07 13:25 0老库-做项目的时候比新库完全不抖啊 -
Starling开发的游戏源码
2012-07-26 17:13 0Starling开发的游戏源码 -
一个基于STARLING的TOWER塔防游戏
2012-07-24 15:27 0一个基于STARLING的TOWER塔防游戏 -
HttpStatusConfig --一个HTTP 协议返回的 解析说明类
2012-04-18 16:40 0package guwanyuan.qicool.game ... -
[转] [Flash/Flex] 加载SWF性能VS影片剪辑性能
2012-03-15 22:29 0http://bbs.9ria.com/viewthread. ... -
水果忍者鼠标跟随特效制作[转载]
2012-03-01 16:06 2457实现这效果其实比较简单,主要是思路~! package ... -
greensock-as3
2012-02-23 21:26 0greensock-as3 -
禁止输入文本可以粘贴
2012-02-10 13:15 2323//禁止输入文本粘贴动作 private static ... -
江湖情缘游戏里的跳的类
2012-02-08 23:55 0package com.app.role.montions ... -
ColorMatrixFilter - 获得相应颜色的色调 函数
2012-02-08 23:03 0/**获得相应颜色的色调的滤镜**/ public sta ... -
[教程] 路点导航(Waypoint Navigation)
2011-12-31 00:51 0前言:这个不难,所以知道的童鞋不要喷,不知道的童鞋也不要怕,要 ... -
ARPG游戏引擎设计思路
2011-12-31 00:48 00.整体结构 下载 (32.92 KB ... -
Flash_Rich_Text_Editor(完美的富文本编辑器)
2011-12-27 17:55 0Flash_Rich_Text_Editor(完美的富文 ... -
弹弹堂测试
2011-12-08 04:21 0弹弹堂测试弹弹堂测试 -
一些DEMO
2011-11-28 17:42 0一些DEMO一些DEMO -
[转]三次贝尔曲线
2011-11-10 01:09 1932http://bbs.9ria.com/viewt ... -
[心得] 完美解决as3在ie中初始化时stageWidth和stageHeight为0的问题
2011-11-03 00:46 2944先看下面的一段脚本,这是比较经典的初始化脚本: pa ... -
五子棋算法详解
2011-10-31 04:14 0五子棋算法详解五子棋算法详解五子棋算法详解 -
[转]服务器端ActionScript语言参考
2011-10-31 00:29 0服务器端ActionScript语言参考 -
Flash Player和Adobe AIR内部的垃圾回收机制
2011-10-29 22:37 0资讯类型: 翻译 来源页面: http://www.ad ...
相关推荐
实例041 全屏显示无边框有滚动条的窗口 63 实例042 应用CSS+DIV实现指定尺寸无边框无滚动条窗口 65 实例043 应用JavaScript实现指定尺寸无边框无滚动条窗口 67 1.8 水平导航条应用 69 实例044 图片按钮导航条 69 ...
04_ScrollBarDemo 演示滚动条控件的使用方法。 05_SpinDemo 演示数值调节按钮的使用方法。 06_ProgressDemo 演示进度条控件的使用方法。 07_SliderDemo 演示滑块控件的使用方法。 08_HotkeyDemo 演示...
- **多媒体应用**: 如利用 Silverlight 创建动态的媒体播放器,支持拖动滚动条控制媒体播放等功能。 - **示例程序**: 提供了多个 Silverlight 应用程序示例,帮助理解实际开发中的实现细节。 #### 4. Silverlight ...
精灵系统,一套MFC渲染引擎,含2D/3D等渲染,效果看源码,IFEngine是整个引擎接口,IFSystem是硬件查询系统,IFApplication是应用程序对象基类。 FlashPlayer播放器4.0的VC++源代码 如题。 FreeBird2011最初版(模仿...
任务管理器应该大家都很熟悉,论坛里也有好多的任务管理器的源码,解决CListCtr刷新时滚动条跳到开始处。 VC++实现网络连接查看器源码 非常好的一个实例,把网络连接的UDP/TCP都插入到CList控件中显示出来。 VC++...
任务管理器应该大家都很熟悉,论坛里也有好多的任务管理器的源码,解决CListCtr刷新时滚动条跳到开始处。 VC++实现网络连接查看器源码 非常好的一个实例,把网络连接的UDP/TCP都插入到CList控件中显示出来。 VC++...
任务管理器应该大家都很熟悉,论坛里也有好多的任务管理器的源码,解决CListCtr刷新时滚动条跳到开始处。 VC++实现网络连接查看器源码 非常好的一个实例,把网络连接的UDP/TCP都插入到CList控件中显示出来。 VC++...
任务管理器应该大家都很熟悉,论坛里也有好多的任务管理器的源码,解决CListCtr刷新时滚动条跳到开始处。 VC++实现网络连接查看器源码 非常好的一个实例,把网络连接的UDP/TCP都插入到CList控件中显示出来。 VC++...
任务管理器应该大家都很熟悉,论坛里也有好多的任务管理器的源码,解决CListCtr刷新时滚动条跳到开始处。 VC++实现网络连接查看器源码 非常好的一个实例,把网络连接的UDP/TCP都插入到CList控件中显示出来。 VC++...
[显示全部] 《CSS网站布局实录:基于Web标准的网站设计指南(第2版)》图书目录: 第1章 Web标准与CSS布局概述 1.1 Web标准的历史及发展 1.1.1 什么是Web标准 1.1.2 Web表现层技术 1.1.3 Web标准的历史 1.2 Web标准的...