梦想CAD控件图层COM接口知识点
一、新建图层
主要用到函数说明:
_DMxDrawX::AddLayer
增加新的图层。详细说明如下:
c#中实现代码说明:
private void CreateLayer()
{
// sNewLayerName 新创建的图层名
string sNewLayerName = "TestNewLayer";
MxDrawApplication app = new MxDrawApplication();
// 得到当前数据为的层表对象
MxDrawLayerTable layerTable = app.WorkingDatabase().GetLayerTable();
// 向层表中新增一个层表记录
MxDrawLayerTableRecord layerTableRec = layerTable.Add(sNewLayerName);
// 设置新图层的颜色。SetRGB
MxDrawMcCmColor color = new MxDrawMcCmColor();
color.SetRGB(255, 0, 0);
layerTableRec.Color = color;
// 把新建的层设置成当前层
app.WorkingDatabase().CurrentlyLayerName = sNewLayerName;
}
|
js中实现代码说明:
function CreateLayer() {
// 增加新的图层
var layerId = mxOcx.AddLayer( " 自定义图层" );
// 返回控件的数据库对象
var database = mxOcx.GetDatabase();
// 实体id返回实体对象
var layer = database.ObjectIdToObject(layerId);
// 返回图层的颜色
var newColor = layer.Color;
// 设置图层颜色
newColor.SetRGB(255,0,0);
// 将设置的颜色赋值给图层
layer.Color = newColor;
// 当前绘图函数的使用的图层名
mxOcx.LayerName = " 自定义图层" ;
// 当前控件绘图函数使用的CAD颜色索引值
mxOcx.DrawCADColorIndex = 256;
}
|
二、隐藏图层
主要用到函数说明:
IMxDrawLayerTable::GetAt
得到层表中的图层对象。详细说明如下:
参数
|
说明
|
[in] BSTR pName
|
图层名称
|
[in,defaultvalue(TRUE) ] VARIANT_BOOL isGetErased
|
图层被删除掉,是否也能成功得到
|
c#中实现代码说明:
private void HideLayer()
{
// 隐藏选择实体的层。
MxDrawUtility mxUtility = new MxDrawUtility();
MxDrawPoint getPt;
MxDrawEntity ent = mxUtility.GetEntity(out getPt, "\n 选择要关闭图层的实体:" );
if (ent == null )
{
return;
}
string sLayerName = ent.Layer;
MxDrawApplication app = new MxDrawApplication();
// 返回数据库中的层表对象
MxDrawLayerTable layerTable = app.WorkingDatabase().GetLayerTable();
// 关闭指定图层
MxDrawLayerTableRecord layerTableRec = layerTable.GetAt(sLayerName, false);
// 返回图层是否处于关闭状态
layerTableRec.IsOff = true;
}
|
js中实现代码说明:
function HideLayer() {
var winWidth = 440;
var winHeight = 140;
var winLeft = (screen.width - winWidth) / 2;
var winTop = (screen.height - winHeight) / 2 - 20;
var str = 'dialogHeight:' + winHeight + 'px;dialogWidth:' + winWidth + 'px;dialogTop:' + winTop + 'px;dialogLeft:' + winLeft + 'px;resizable:yes;center:yes;status:no;'
var rt = window.showModalDialog( "Gettext.htm?tmp=" + Math.random(), " 输入图层名" , str);
var txt;
if ( typeof (rt) == "undefined" ) {
return;
} else {
var arr = rt.split( "," );
txt = arr[0];
}
var database = mxOcx.GetDatabase();
// 返回数据库中的层表对象
var layerTable = database.GetLayerTable();
// 得到层表中的图层对象
var layerRec = layerTable.GetAt(txt, false );
if (layerRec == null )
return;
// 返回图层是否处于关闭状态
layerRec.IsOff = true;
alert(" 成功隐藏图层" );
}
|
三、显示图层
主要用到函数说明:
IMxDrawLayerTable::GetAt
得到层表中的图层对象。详细说明如下:
参数
|
说明
|
[in] BSTR pName
|
图层名称
|
[in,defaultvalue(TRUE) ] VARIANT_BOOL isGetErased
|
图层被删除掉,是否也能成功得到
|
c#中实现代码说明:
private void ShowLayer()
{
MxDrawApplication app = new MxDrawApplication();
// 返回数据库中的层表对象
MxDrawLayerTable layerTable = app.WorkingDatabase().GetLayerTable();
// 创建一个遍历层表中所有图层的遍历器
MxDrawLayerTableIterator iter = layerTable.NewIterator();
if (iter == null )
return;
// 移动当前遍历器位置
for (; !iter.Done(); iter.Step( true , false ))
{
// 返回遍历器当前位置的记录
MxDrawLayerTableRecord layerTableRec = iter.GetRecord();
// 返回图层是否处于关闭状态
layerTableRec.IsOff = false;
}
}
|
js中实现代码说明:
function ShowLayer() {
var winWidth = 440;
var winHeight = 140;
var winLeft = (screen.width - winWidth) / 2;
var winTop = (screen.height - winHeight) / 2 - 20;
var str = 'dialogHeight:' + winHeight + 'px;dialogWidth:' + winWidth + 'px;dialogTop:' + winTop + 'px;dialogLeft:' + winLeft + 'px;resizable:yes;center:yes;status:no;'
var rt = window.showModalDialog( "Gettext.htm?tmp=" + Math.random(), " 输入图层名" , str);
var txt;
if ( typeof (rt) == "undefined" ) {
return;
} else {
var arr = rt.split( "," );
txt = arr[0];
}
var database = mxOcx.GetDatabase();
// 返回数据库中的层表对象
var layerTable = database.GetLayerTable();
// 得到层表中的图层对象
var layerRec = layerTable.GetAt(txt, false );
if (layerRec == null )
return;
// 返回图层是否处于关闭状态
layerRec.IsOff = false;
alert(" 成功显示图层" );
}
|
四、得到所有图层名
主要用到函数说明:
IMxDrawLayerTableIterator::Step
得到层表中的图层对象。详细说明如下:
参数
|
说明
|
[in,defaultvalue(TRUE) ] VARIANT_BOOL forward
|
为ture向前移动一位,为false向后移动位
|
[in,defaultvalue(TRUE) ] VARIANT_BOOL skipDeleted
|
是否跳过删除的对象
|
c#中实现代码说明:
private void GetAllLayer()
{
MxDrawApplication app = new MxDrawApplication();
// 返回数据库中的层表对象
MxDrawLayerTable layerTable = app.WorkingDatabase().GetLayerTable();
// 创建一个遍历层表中所有图层的遍历器
MxDrawLayerTableIterator iter = layerTable.NewIterator();
if (iter == null )
return;
// 所有图层名
string sRet = null;
// 移动当前遍历器位置
for (; !iter.Done(); iter.Step( true , true ))
{
// 返回遍历器当前位置的记录
MxDrawLayerTableRecord layerTableRec = iter.GetRecord();
sRet = sRet + ',' + layerTableRec.Name;
}
MessageBox.Show(sRet);
}
|
js中实现代码说明:
function GetAllLayer() {
var database = mxOcx.GetDatabase();
// 得到所有图层名
var sRet = null ;
// 返回数据库中的层表对象
var spLayerTable = database.GetLayerTable();
// 创建一个遍历层表中所有图层的遍历器
var spIter = spLayerTable.NewIterator();
// 移动当前遍历器位置
for(;!spIter.Done();spIter.Step(true,true))
{
// 返回遍历器当前位置的记录
var spLayerRec = spIter.GetRecord();
// 符号表记录名属性
var sName = spLayerRec.Name;
// 0 零层不参加比较
if(sName != "0")
{
if(sRet == null)
sRet = sName;
else
{
sRet = sRet +","+sName;
}
}
}
alert(sRet);
}
|
五、锁定所有图层
c#中实现代码说明:
private void LockeAllLayer()
{
MxDrawDatabase database = (MxDrawDatabase)axMxDrawX1.GetDatabase();
// 返回数据库中的层表对象
MxDrawLayerTable layerTable = database.GetLayerTable();
// 创建一个遍历层表中所有图层的遍历器
MxDrawLayerTableIterator iter = layerTable.NewIterator();
if (iter == null )
return;
// 移动当前遍历器位置
for (; !iter.Done(); iter.Step( true , false ))
{
// 返回遍历器当前位置的记录
MxDrawLayerTableRecord layerTableRec = iter.GetRecord();
// 返回图层是否处于锁定状态
layerTableRec.IsLocked = true;
}
MessageBox.Show(" 锁定所有图层成功!" );
}
|
js中实现代码说明:
function LockeAllLayer() {
// 返回控件的数据库对象
var database = mxOcx.GetDatabase();
// 返回数据库中的层表对象
var layerTable = database.GetLayerTable();
// 创建一个遍历层表中所有图层的遍历器
var iter = layerTable.NewIterator();
for (; !iter.Done(); iter.Step())
{
// 返回遍历器当前位置的记录
var layerRec = iter.GetRecord();
layerRec.IsLocked = true;
alert(" 成功锁定图层" );
}
}
|
六、冻结图层
js中冻结图层实现代码说明:
var winWidth = 440;
var winHeight = 140;
var winLeft = (screen.width - winWidth) / 2;
var winTop = (screen.height - winHeight) / 2 - 20;
var str = 'dialogHeight:' + winHeight + 'px;dialogWidth:' + winWidth + 'px;dialogTop:' + winTop + 'px;dialogLeft:' + winLeft + 'px;resizable:yes;center:yes;status:no;'
var rt = window.showModalDialog( "Gettext.htm?tmp=" + Math.random(), " 输入图层名" , str);
var txt;
if ( typeof (rt) == "undefined" ) {
return;
} else {
var arr = rt.split( "," );
txt = arr[0];
}
var database = mxOcx.GetDatabase();
var layerTable = database.GetLayerTable();
var layerRec = layerTable.GetAt(txt, false );
if (layerRec == null )
return;
layerRec.IsFrozen = true ;
alert( " 成功冻结图层" );
|
js中冻结全部图层实现代码说明:
// 返回控件的数据库对象
var database = mxOcx.GetDatabase();
// 返回数据库中的层表对象
var layerTable = database.GetLayerTable();
// 创建一个遍历层表中所有图层的遍历器
var iter = layerTable.NewIterator();
for (; !iter.Done(); iter.Step())
{
// 返回遍历器当前位置的记录
var layerRec = iter.GetRecord();
layerRec.IsFrozen = true;
alert(" 成功冻结所有图层" );
}
|
七、隐藏选择实体的图层
js中实现代码说明:
// 隐藏选择实体的层。
var ent = mxOcx.GetEntity( " 选择要关闭图层的实体:" );
if (ent == null )
{
return;
}
if (ent == null )
{
return;
}
var sLayerName = ent.Layer;
var database = mxOcx.GetDatabase();
var layerTable = database.GetLayerTable();
var layerTableRec = layerTable.GetAt(sLayerName, false );
if (layerTable != null )
{
layerTableRec.IsOff = true;
}
|
八、设置图层亮度
主要用到函数说明:
MxDrawXCustomFunction::Mx_SetLayerBright
设置显示亮度,默认值为100%。详细说明如下:
参数
|
说明
|
LPCTSTR pszLayerName
|
图层名,为空,就设置所有图层
|
DOUBLE bright
|
亮度百分数,取值为0 ~100
|
LONG lisAutoUpDisplay
|
是否自动更新显示
|
c#中实现代码说明:
MxDrawResbuf param = new MxDrawResbuf();
// 图层名
param.AddString("222");
// 图层亮度.
param.AddDouble(50);
// 不自动调用更新函数。
param.AddLong(0);
axMxDrawX1.CallEx("Mx_SetLayerBright", param);
|
js中实现代码说明:
var param = mxOcx.NewResbuf();
// 图层名
param.AddStringEx( "222" );
// 图层亮度.
param.AddDoubleEx(100);
// 不自动调用更新函数。
param.AddLongEx(0);
mxOcx.CallEx( "Mx_SetLayerBright" , param);
|
九、得到图层亮度
主要用到函数说明:
MxDrawXCustomFunction::Mx_GetLayerBright
返回图层亮度,默认值为100%。详细说明如下:
参数
|
说明
|
LPCTSTR pszLayerName
|
图层名,为空,就设置所有图层
|
c#中实现代码说明:
MxDrawResbuf ret = (MxDrawResbuf)axMxDrawX1.Call("Mx_GetLayerBright", "0");
if (ret.AtString(0) == "Ok" )
{
MessageBox.Show(ret.AtDouble(1).ToString());
}
|
js中实现代码说明:
var ret = mxOcx.Call( "Mx_GetLayerBright" , "0" );
if (ret.AtString(0) == "Ok" )
{
alert(ret.AtDouble(1).toString());
}
|
十、设置图层颜色
主要用到函数说明:
IMxDrawMcCmColor::SetRGB
设置颜色的RGB色。详细说明如下:
参数
|
说明
|
[in] LONG lRed
|
红色
|
[in] LONG lGreen
|
绿色
|
[in] LONG lBlue
|
蓝色
|
js中实现代码说明:
var winWidth = 440;
var winHeight = 140;
var winLeft = (screen.width - winWidth) / 2;
var winTop = (screen.height - winHeight) / 2 - 20;
var str = 'dialogHeight:' + winHeight + 'px;dialogWidth:' + winWidth + 'px;dialogTop:' + winTop + 'px;dialogLeft:' + winLeft + 'px;resizable:yes;center:yes;status:no;'
var rt = window.showModalDialog( "Gettext.htm?tmp=" + Math.random(), " 输入图层名" , str);
var txt;
if ( typeof (rt) == "undefined" ) {
return;
} else {
var arr = rt.split( "," );
txt = arr[0];
}
var database = mxOcx.GetDatabase();
var layerTable = database.GetLayerTable();
var layerRec = layerTable.GetAt(txt, false );
if (layerRec == null )
return;
// 返回图层的颜色
var newColor = layerRec.Color;
// 设置图层颜色
newColor.SetRGB(255,255,0);
// 将设置的颜色赋值给图层
layerRec.Color = newColor;
alert( " 设置颜色成功" );
|
十一、得到图层颜色
js中实现代码说明:
var winWidth = 440;
var winHeight = 140;
var winLeft = (screen.width - winWidth) / 2;
var winTop = (screen.height - winHeight) / 2 - 20;
var str = 'dialogHeight:' + winHeight + 'px;dialogWidth:' + winWidth + 'px;dialogTop:' + winTop + 'px;dialogLeft:' + winLeft + 'px;resizable:yes;center:yes;status:no;'
var rt = window.showModalDialog( "Gettext.htm?tmp=" + Math.random(), " 输入图层名" , str);
var txt;
if ( typeof (rt) == "undefined" ) {
return;
} else {
var arr = rt.split( "," );
txt = arr[0];
}
var database = mxOcx.GetDatabase();
var layerTable = database.GetLayerTable();
var layerRec = layerTable.GetAt(txt, false );
if (layerRec == null )
return;
// 返回图层的颜色
var newColor = layerRec.Color;
var layercolor=newColor.colorIndex;
alert(layercolor);
|
十二、设置图层线型
主要用到函数说明:
IMxDrawLayerTableRecord::LinetypeObjectId
返回图层的线型样式id。
js中实现代码说明:
var winWidth = 440;
var winHeight = 140;
var winLeft = (screen.width - winWidth) / 2;
var winTop = (screen.height - winHeight) / 2 - 20;
var str = 'dialogHeight:' + winHeight + 'px;dialogWidth:' + winWidth + 'px;dialogTop:' + winTop + 'px;dialogLeft:' + winLeft + 'px;resizable:yes;center:yes;status:no;'
var rt = window.showModalDialog( "Gettext.htm?tmp=" + Math.random(), " 输入图层名" , str);
var txt;
if ( typeof (rt) == "undefined" ) {
return;
} else {
var arr = rt.split( "," );
txt = arr[0];
}
var database = mxOcx.GetDatabase();
var layerTable = database.GetLayerTable();
var layerRec = layerTable.GetAt(txt, false );
if (layerRec == null )
return;
// 定义虚线数据据,"MyLineType"是线型名,"6,-8"是虚线的一个单位定义,6是实线长,-8是空格长。
var linetypeid = mxOcx.AddLinetype( "MyLineType123" , "6,-10" );
alert(linetypeid);
layerRec.LinetypeObjectId = linetypeid;
alert( " 设置图层线型成功" );
|
设置线型后如下图所示:
十三、得到图层线型
主要用到函数说明:
IMxDrawLayerTableRecord::LinetypeObjectId
返回图层的线型样式id。
js中实现代码说明:
var winWidth = 440;
var winHeight = 140;
var winLeft = (screen.width - winWidth) / 2;
var winTop = (screen.height - winHeight) / 2 - 20;
var str = 'dialogHeight:' + winHeight + 'px;dialogWidth:' + winWidth + 'px;dialogTop:' + winTop + 'px;dialogLeft:' + winLeft + 'px;resizable:yes;center:yes;status:no;'
var rt = window.showModalDialog( "Gettext.htm?tmp=" + Math.random(), " 输入图层名" , str);
var txt;
if ( typeof (rt) == "undefined" ) {
return;
} else {
var arr = rt.split( "," );
txt = arr[0];
}
var database = mxOcx.GetDatabase();
var layerTable = database.GetLayerTable();
var layerRec = layerTable.GetAt(txt, false );
if (layerRec == null )
return;
var glinetype = layerRec.LinetypeObjectId;
alert(glinetype);
|
十四、得到某图层的所有实体
主要用到函数说明:
IMxDrawSelectionSet::Select2
构造选择集。详细说明如下:
参数
|
说明
|
[in] MCAD_McSelect Mode
|
构造选择集方式
|
[in] VARIANT point1
|
构造择择集时需要使用到的点对象
|
[in] VARIANT point2
|
构造择择集时需要使用到的点对象
|
[in,optional] VARIANT filterType
|
构造选择集的过滤数据的类型
|
[in,optional] VARIANT filterData
|
构造选择集的过滤数据
|
可以取如下值
|
mcSelectionSetWindow = 0, mcSelectionSetCrossing = 1, mcSelectionSetFence = 2, mcSelectionSetPrevious = 3, mcSelectionSetLast = 4, mcSelectionSetAll = 5, 选择图面上的所有实体 mcSelectionSetWindowPolygon = 6, mcSelectionSetCrossingPolygon = 7, mcSelectionSetUserSelect = 8 mcSelectionImpliedSelectSelect = 9,_I 返回当前图上已经选择的实体
|
js中使用如下:
function SelectAssign() {
// 实例化一个构造选择集进行过滤,该类封装了选择集及其处理函数。
var ss = mxOcx.NewSelectionSet();
// 构造一个过滤链表
var spFilte = mxOcx.NewResbuf();
// "0" ,是图层名,8是DXF码,代表"0"是个图层字符串。
// 选择 0层上的实体。
spFilte.AddStringEx("0", 8);
ss.Select2(5,null, null, null,spFilte);
for ( var i = 0; i < ss.Count; i++)
{
var ent = ss.Item(i);
alert(ent.ObjectName);
}
}
|
得到指定层指定条件的实体:
function SelectAssign() {
// 实例化一个构造选择集进行过滤,该类封装了选择集及其处理函数。
var ss = mxOcx.NewSelectionSet();
// 构造一个过滤链表
var spFilte = mxOcx.NewResbuf();
// "0" ,是图层名,8是DXF码,代表"0"是个图层字符串。
// 选择 0层上的实体。
spFilte.AddStringEx("0", 8);
// 选择直线或圆弧实体。5020是DXF码,代表"LINE"是类型字符串。
spFilte.AddStringEx("LINE,ARC", 5020);
// 选择红色的实体。1为颜色索引值,代表红色。 62是DXF码,但1是个颜色类型。
spFilte.AddLongEx(1,62);
ss.Select2(5,null, null, null,spFilte);
for ( var i = 0; i < ss.Count; i++)
{
var ent = ss.Item(i);
alert(ent.ObjectName);
}
}
|
十五、将图层设置为当前层
js中实现代码如下:
var winWidth = 440;
var winHeight = 140;
var winLeft = (screen.width - winWidth) / 2;
var winTop = (screen.height - winHeight) / 2 - 20;
var str = 'dialogHeight:' + winHeight + 'px;dialogWidth:' + winWidth + 'px;dialogTop:' + winTop + 'px;dialogLeft:' + winLeft + 'px;resizable:yes;center:yes;status:no;'
var rt = window.showModalDialog( "Gettext.htm?tmp=" + Math.random(), " 输入图层名" , str);
var txt;
if ( typeof (rt) == "undefined" ) {
return;
} else {
var arr = rt.split( "," );
txt = arr[0];
}
var database = mxOcx.GetDatabase();
var layerTable = database.GetLayerTable();
var layerRec = layerTable.GetAt(txt, false );
if (layerRec == null )
return;
// 符号表记录名属性
var sName = layerRec.Name;
database.CurrentlyLayerName = sName;
alert( " 设置图层为当前层成功" );
|
- 梦想CAD控件文字COM接口知识点
一.参数绘制文字 在CAD设计时,需要绘制文字,用户可以设置设置绘制文字的高度等属性. 主要用到函数说明: _DMxDrawX::DrawText 绘制一个单行文字.详细说明如下: 参数 说明 DOU ...
- 梦想CAD控件事件COM接口知识点
一.鼠标事件 _DMxDrawXEvents::MouseEvent 控件中的鼠标事件. 参数 说明 LONG lType 事件类型,1鼠标移动,2是鼠标左键按下,3是鼠标右键按下,4是鼠标左键双击 ...
- 梦想CAD控件图块COM接口知识点
梦想CAD控件图块COM接口知识点 图块是将多个实体组合成一个整体,并给这个整体命名保存,在以后的图形编辑中图块就被视为一个实体.一个图块包括可见的实体如线.圆.圆弧以及可见或不可见的属性数据.图块的 ...
- 如何在网页中浏览和编辑DWG文件 梦想CAD控件
如何在网页中浏览和编辑DWG文件 梦想CAD控件 www.mxdraw.com 梦想绘图控件5.2 是国内最强,最专业的CAD开发组件(控件),不需要AutoCAD就能独立运行.控件使用VC 201 ...
- 梦想CAD控件COM接口自定义命令
在CAD软件操作中,为方便使用者,使用自定义命令发出命令,完成CAD绘图,修改,保存等操作.点击此处下载演示实例. _DMxDrawX::RegistUserCustomCommand 向CAD控件注 ...
- 梦想CAD控件,用于浏览和编辑DWG文件,在脱离AUTOCAD的情况下独立运行,相当于简易CAD
(百度百科连接) 梦想绘图控件5.2 是国内最强,最专业的CAD开发组件(控件),不需要AutoCAD就能独立运行.控件使用VC 2010开发,最早从2007年第一个版本完成,经过多年的累积已经非常 ...
- 梦想CAD控件安卓参数绘图
在CAD绘图中,参数化绘图可以帮助我们极大缩短设计时间,用户可以按照设计意图控制绘图对象,这样即使对象发生了变化,具体的关系和测量数据仍将保持不变,能够对几何图形和标注进行控制,可以帮助用户应对耗时的 ...
- 梦想CAD控件网页版搜索图面上的文字
在网页中查找到CAD控件图纸上的文字.点击此处在线演示. 主要用到函数说明: _DMxDrawX::NewSelectionSet 实例化一个构造选择集进行过滤,该类封装了选择集及其处理函数. _DM ...
- 梦想CAD控件网页版关于自定义命令
在CAD控件操作中,为方便使用者,使用自定义命令发出命令,完成CAD绘图,修改,保存等操作.点击此处在线演示. _DMxDrawX::RegistUserCustomCommand 向CAD控件注册一 ...
随机推荐
- 网站访问分析对SEO的好处
统计剖析,应该说是每个SEO都必需要擅长的技艺.至于网站统计的剖析,根据自己的一些经验,与大家分享一下相关技巧.(发表于 2012-3-24 23:12) 申请一个统计帐号很容易,现在有很多的统计服务 ...
- tesnorflow conv deconv,padding
1.padding test input = tf.placeholder(tf.float32, shape=(1,2, 2,1)) simpleconv=slim.conv2d(input,1,[ ...
- luogu1966 火柴排队
题目大意 涵涵有两盒火柴,每盒装有 n 根火柴,每根火柴都有一个高度.现在将每盒中的火柴各自排成一列,同一列火柴的高度互不相同,两列火柴之间的距离定义为: $\sum_{i=1}^n(a_i-b_i) ...
- 呐喊-Skrik
尼斯,1892年1月22日,我和两个朋友还在散步,太阳已快下山了,天空突然间变得血一样红,我似乎感受到了一种悲伤忧郁的气息,我止住了脚步,轻轻地倚在篱笆边,极度的疲倦已使我快要窒息了.火焰般的云彩像血 ...
- Android6.0源码分析之录音功能(一)【转】
本文转载自:http://blog.csdn.net/zrf1335348191/article/details/54949549 从现在开始一周时间研究录音,下周出来一个完整的博客,监督,激励!!! ...
- iOS中打包.a静态库
1.新建.a静态库工程 需要选择Static Library静态库工程模板新建工程,如下图: 新建静态库工程 实现需要打包的类,如下图: 实现需要打包的类 2.设置需要暴露的头文件 添加Headers ...
- forceStopPackage与killBackgroundProcesses方法
最近了解一键清理功能,需要实现强制关闭进程的功能.下面介绍下killBackgroundProcesses()方法和forceStopPackage()方法. killBackgroundProces ...
- 并不对劲的[Noi2008]道路设计
Time Limit: 20 Sec Memory Limit: 162 MB Submit: 931 Solved: 509 [Submit][Status][Discuss] Descriptio ...
- [CF348B]Apple Tree
https://www.zybuluo.com/ysner/note/1300249 题面 给一棵大小为\(n\)的树,树的每个叶子节点上有权值. 定义一颗树平衡:对于每一个结点\(u\)的子树都拥有 ...
- bzoj2440 [中山市选2011]完全平方数——莫比乌斯+容斥
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2440 莫比乌斯...被难倒... 看TJ:http://hzwer.com/4827.htm ...