SelectObject和DeleteObject函数用法
js delete用法

js的delete用法详解
JavaScript中的delete关键字用于删除对象的属性或数组的元素。
以下是delete用法的一些详细解释:
1.删除对象属性
使用delete关键字可以删除对象的属性。
例如:
在上面的例子中,我们创建了一个名为obj的对象,并使用delete关键字删除了它的name属性。
2.删除数组元素
delete也可以用于删除数组的元素。
但是,与对象属性不同,数组元素被删除后,其索引将自动调整,以填补删除元素留下的空位。
例如:
在上面的例子中,我们创建了一个名为arr的数组,并使用delete关键字删除了索引为2的元素。
被删除的元素位置被替换为undefined。
需要注意的是,delete操作不会立即减小数组的长度。
即使删除了数组的元素,数组的长度仍然保持不变,直到该索引位置的元素被替换为其他值或重新分配新的索引。
3.删除全局变量和函数
使用delete关键字可以删除全局变量和函数。
例如:
在上面的例子中,我们创建了一个全局变量x和一个函数myFunc,并使用delete 关键字删除了它们。
需要注意的是,删除全局变量和函数并不会立即从内存中释放它们所占用的空间,而是将其标记为垃圾回收,以便将来进行内存清理。
需要注意的是,虽然delete可以用于删除对象的属性或数组的元素,但在实际开发中,我们应该尽量避免使用它来删除对象的属性或数组的元素,因为这可能会导致一些不可预见的问题。
相反,我们应该使用其他方法来操作对象的属性和数组的元素,例如使用对象字面量语法或数组方法来添加或删除属性或元素。
常用的GDI绘图函数(免费)

CreateHatchBrush 创建带有阴影图案的一个刷子(阴影图案见注解)
CreatePatternBrush 用指定了刷子图案的一幅位图创建一个刷子
GetObjectType 判断由指定句柄引用的GDI对象的类型
SelectObject 每个设备场景都可能有选入其中的图形对象。其中包括位图、刷子、字体、画笔以及区域等等。一次选入设备场景的只能有一个对象。选定的对象会在设备场景的绘图操作中使用。例如,当前选定的画笔决定了在设备场景中描绘的线段颜色及样式
ExtCreatePen 创建一个扩展画笔(装饰或几何)
GetStockObject 取得一个固有对象(Stock)。这是可由任何应用程序使用的windows标准对象之一
例1∶创建一个红色实线画笔,画笔宽度为3个像素点
背景模式∶阴影刷子、虚线画笔和文本都有一个背景。对于阴影刷,它是指阴影线之间的区域,对于虚线画笔,则指点和虚线之间的区域。而对于文本,它是指每个字符单元的背景。背景模式决定了WINDOWS如何处理这些背景区。它可以是不透明的,也可以是透明的。若是不透明的,则背景区设置为背景色;否则如果是透明的,则背景区域保持原状。
如果是的话,随便整好了。
OK,以下展示了使用GDI对象的API函数。
函 数 说 明
DeleteObject 用这个函数删除GDI对象,比如画笔、刷子、字体、位图、区域以及调色板等等。对象使用的所有系统资源都会被释放
GetBkMode 针对指定的设备场景,取得当前的背景填充模式
GetCurrentPositionEx 在指定的设备场景中取得当前的画笔位置
CDC类的主要绘图成员函数

CDC类的主要绘图成员函数CDC类中常用绘图函数1)绘制像素函数原型:COLORREF SetPixel(int x,int y,COLORREF crColor );设置某像素点的RGB值2)获取像素颜色函数原型:COLORREF GetPixel(int x,int y)const;返回值:指定像素的RGB值。
参数说明:得到指定像素的RGB颜色值一、画笔函数画笔是用来绘制直线、曲线或图形的边界线,是绘图工具类之一画笔通常具有线型、宽度和颜色三种属性画笔的线型通常有实线、虚线、点线、点划线、双点划线、不可见线和内框架线7种,这些线型都是以PS_为前缀的预定义标识符默认的画笔是一个像素单位的黑色实线要想更换画笔,可以在创建新画笔对象后,将其选入设备上下文,就可使用新画笔进行绘图。
1)创建画笔函数原型:BOOL CreatePen(int nPenStyle,int nWidth,COLORREF crColor);返回值:非零。
参数说明:第一个参数nPenStyle是画笔的风格代码第二个参数nWidth是画笔的宽度第三个参数crColor是画笔的颜色。
PS_SOLID;实线;宽度任意指定PS_DASH;虚线;宽度1(不可任意指定)PS_DOT;点线;宽度1(不可任意指定)PS_DASHDOT;点划线;宽度1(不可任意指定)PS_DASHDOTDOT;双点画线;宽度1(不可任意指定)PS_NULL;不可见线;宽度1(不可任意指定)PS_INSIDEFRAME;内框架线;宽度任意指定2)选择画笔函数原型:Cpen *SelectObject(Cpen *pPen);返回值:被替代画笔的指针。
参数说明:参数pPen是Cpen类的被选中的新画笔对象指针。
本函数把原画笔换成新画笔,同时返回指向原画笔的指针。
3)删除画笔函数原型:BOOL DeleteObject( );返回值:非零。
参数说明:画笔使用完毕,把已成自由状态的画笔从系统内存中清除。
wps中deleteobject函数

wps中deleteobject函数在WPS中,DeleteObject函数用于删除工作簿中的对象,包括图表、图片、自选图形和OLE对象等。
使用DeleteObject函数可以方便地删除不需要的对象,从而精简工作簿、提高工作效率。
下面是关于WPS中DeleteObject函数的详解,共计1200字以上。
一、DeleteObject函数的语法和参数解释:DeleteObject(对象名称)其中,对象名称是要删除的对象的名称。
对象名称可以是一个字符串,也可以是一个对象变量。
二、DeleteObject函数的使用方法:1.删除图表:在WPS的工作表中,我们可以创建各种不同类型的图表,如折线图、柱状图、饼图等。
如果要删除一些图表,可以使用DeleteObject函数。
例如,要删除图表1,可以使用以下代码:DeleteObject("图表 1")2.删除图片:在WPS的工作簿中,我们可以插入图片来进行展示和说明。
如果要删除一些图片,可以使用DeleteObject函数。
例如,要删除名为图片1的图片,可以使用以下代码:DeleteObject("图片 1")3.删除自选图形:在WPS的工作簿中,我们可以插入各种自选图形来进行装饰和标识。
如果要删除一些自选图形,可以使用DeleteObject函数。
例如,要删除名为自选图形1的自选图形,可以使用以下代码:DeleteObject("自选图形 1")4.删除OLE对象:DeleteObject("OLE对象 1")三、DeleteObject函数的使用示例:以删除图表为例,假设我们在WPS的工作表中有一个名为“图表1”的图表,并且我们想删除这个图表。
可以使用以下代码:Sub DeleteChartDeleteObject("图表 1")End Sub在上述示例中,首先定义了一个名为DeleteChart的子过程,然后在子过程中调用DeleteObject函数,将要删除的对象名称设置为"图表 1"。
getobject deleteobject -回复

getobject deleteobject -回复“getobject deleteobject" 是一个非常基础的程序命令,它在许多编程语言中都有使用到。
本文将深入探讨这些命令的含义、用法和实际应用场景,帮助读者更好地理解并学会如何运用它们。
首先,我们来分别解释一下"getobject" 和"deleteobject" 这两个命令。
1. "getobject" 命令"getobject" 是一个用于获取(或提取)对象的命令。
在编程中,对象是指一种数据类型,它可以包含多个属性和方法。
通过使用"getobject" 命令,程序可以从内存中检索出特定的对象,并将其保存到一个变量中以供后续操作使用。
"getobject" 命令的一般语法如下:getobject <object_name> [from <source>]其中,"<object_name>" 表示要获取的对象的名称,而"[from<source>]" 可选部分表示对象所在的来源(如数据库、文件等)。
下面是一个具体的例子,来演示"getobject" 命令的应用:pythoncustomer = getobject "John Smith" from database# 获取名为"John Smith" 的顾客对象,并保存到名为"customer" 的变量中在这个例子中,程序通过"getobject" 命令从数据库中获取了一个名为"John Smith" 的顾客对象,并将其保存到了"customer" 变量中。
显示程序实验_实验报告

一、实验目的1. 了解显示程序的基本原理和实现方法。
2. 掌握使用C语言编写显示程序的基本步骤。
3. 熟悉计算机显示系统的组成和功能。
4. 培养实际编程能力,提高动手操作能力。
二、实验环境1. 操作系统:Windows 102. 编译器:Visual Studio 20193. 显示器:普通显示器三、实验原理显示程序是指将计算机中的数据以图形或文字形式展示在显示器上的程序。
在计算机系统中,显示程序主要涉及以下原理:1. 图形显示原理:通过将图像数据转换成显示器可以识别的信号,驱动显示器显示图像。
2. 文字显示原理:通过字符编码将文字信息转换成显示器可以识别的信号,驱动显示器显示文字。
四、实验步骤1. 创建一个新的C语言项目,命名为“显示程序实验”。
2. 在项目文件夹中创建一个名为“display.c”的源文件。
3. 在“display.c”文件中编写以下代码:```c#include <stdio.h>#include <windows.h>int main() {// 创建一个窗口HWND hwnd = CreateWindow("static", "显示程序实验",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT, CW_USEDEFAULT, 640, 480, NULL, NULL, NULL, NULL);ShowWindow(hwnd, SW_SHOW);// 创建一个设备上下文HDC hdc = GetDC(hwnd);// 创建一个画笔HPEN hPen = CreatePen(PS_SOLID, 1, RGB(255, 0, 0));// 选择画笔SelectObject(hdc, hPen);// 绘制矩形Rectangle(hdc, 100, 100, 300, 300);// 绘制文字TextOut(hdc, 50, 50, "Hello, World!", strlen("Hello, World!")); // 释放画笔DeleteObject(hPen);// 释放设备上下文ReleaseDC(hwnd, hdc);// 等待用户关闭窗口MSG msg;while (GetMessage(&msg, NULL, 0, 0)) {TranslateMessage(&msg);DispatchMessage(&msg);}return 0;}```4. 编译并运行程序,观察显示效果。
【Windows编程】系列第五篇:GDI图形绘制

【Windows编程】系列第五篇:GDI图形绘制上两篇我们学习了以及,知道如何⽤常见Win32输出⽂本字符串,这⼀篇我们来学习Windows编程中另⼀个⾮常重要的部分GDI图形绘图。
Windows的GDI函数包含数百个API可供我们使⽤,本篇把最常⽤的GDI绘图做⼀个讲解。
GDI可以绘制点、直线曲线、填充封闭区域、位图以及⽂本,其中⽂本部分已经在上⼀篇中将了,请参考。
跟前⾯的GDI对象⼀样,本篇的这些绘图函数也必须要设备上下⽂句柄(HDC)作为函数参数,从前⽂我们知道,HDC可以在处理WM_PAINT的时候⽤BeginPaint函数获取,也可以从GetDC、GetWindowDC拿到。
既然是画图,就少不了颜⾊的描述,Windows中的颜⾊有⼏种表⽰,其中COLORREF在GDI绘制中⽤的最多,它实际上是⼀个⽆符号32为整型。
其中红、绿、蓝各占⼀个字节,最⾼字节不使⽤,如下图所⽰:该值可以⽤Windows提供的RGB宏来⽣成,Windows中RGB的定义为:#define RGB(r,g,b) ((COLORREF)(((BYTE)(r)|((WORD)((BYTE)(g))<<8))|(((DWORD)(BYTE)(b))<<16)))除此之外,Windows还有结构体RGBQUAD也表⽰颜⾊,这种⼀般⽤于位图结构信息中。
画像素点Windows提供了SetPixel和GetPixel函数来设定和获取像素点的颜⾊。
函数原型为:COLORREF SetPixel(HDC hdc, int X, int Y, COLORREF crColor);COLORREF GetPixel(HDC hdc, int nXPos, int nYPos);该函数并不常使⽤。
画笔画刷在图形绘制之前,可以创建画笔给后续的画图使⽤,创建画笔的API函数为:HPEN CreatePen(int fnPenStyle, int nWidth, COLORREF crColor);HBRUSH CreateSolidBrush(COLORREF crColor);HBRUSH CreatePatternBrush(HBITMAP hbmp);HBRUSH CreateHatchBrush(int fnStyle, COLORREF clrref);它可以指定画笔风格,宽度和颜⾊。
delete函数用法

delete函数详解1. 定义delete函数是一种用于删除指定位置或范围的元素的方法。
它可以用于删除数组、字符串和对象中的元素。
delete函数返回一个布尔值,表示删除成功与否。
2. 用途delete函数主要用于以下几个方面:•删除数组中的元素•删除字符串中的字符•删除对象中的属性3. 工作方式3.1 删除数组中的元素在删除数组元素时,delete函数会将指定位置的元素设置为undefined,并不会改变数组的长度。
例如:let arr = [1, 2, 3, 4, 5];delete arr[2];console.log(arr); // [1, 2, undefined, 4, 5]可以看到,第3个位置上的元素被设置为了undefined。
3.2 删除字符串中的字符在删除字符串中的字符时,delete函数同样会将指定位置上的字符设置为undefined,并不会改变字符串的长度。
例如:let str = "Hello World";delete str[6];console.log(str); // "Hello W rld"可以看到,第7个位置上的字符被设置为了undefined。
需要注意的是,使用delete删除字符串中某个字符后,并不能改变字符串本身,只能改变指定位置上的字符。
3.3 删除对象中的属性在删除对象属性时,delete函数会完全删除该属性。
例如:let obj = { name: "Alice", age: 20 };delete obj.age;console.log(obj); // { name: "Alice" }可以看到,对象中的age属性被成功删除。
需要注意的是,delete函数只能删除对象自身的属性,不能删除继承来的属性。
并且,delete函数无法删除那些被定义为不可配置(non-configurable)的属性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#031 rcText.top = 10;
#032 rcText.right = 300;
#033 rcText.bottom = 40;
#034
#035 //显示字符串在四边形的中间位置.
#036 DrawText(hDC,strShow.c_str(),(int)strShow.length(),&rcText,
WINGDIAPI HGDIOBJ WINAPI SelectObject(__in HDC hdc, __in HGDIOBJ h); WINGDIAPI BOOL WINAPI DeleteObject( __in HGDIOBJ ho); hDC 是当前设备的句柄。 h,ho 是设备对象,其实它就是内存的地址。
另一列: //////////////////////////////////////////////////
CRect rect; CDC* pDC=GetDC(); GetWindowRect(&rect); CPen spen;
//被选中,显示红色,否则显示灰色 if(bIsSelect)spen.CreatePen(PS_SOLID,3,RGB(0,255,0)); else spen.CreatePen(PS_SOLID,3,RGB(192,192,192)); pDC->SelectObject(&spen); pDC->SelectObject(GetStockObject(NULL_BRUSH));//选择透明填充 pDC->Rectangle(0,0,rect.Width()-3,rect.Height()-3); ReleaseDC(pDC);
////////////////////////////////////////////////// BoundsChecker 发 现有 错误 发 生: Argument 1 in DeleteObject(字 体对 象句 柄 值) is still
selected in to hDC 0x01010058
修改 : //////////////////////////////////////////////////
//字体大小 CFont font; font.CreatePointFont(g_myFont,_T("宋体")); CFont *pOldFont=pDC->SelectObject(&font); GetDlgItem(IDC_STATIC_TITLE)->SetFont(&font);//为控件附上字号 pDC->SelectObject(pOldFont); DeleteObject(font);//释放资源 //////////////////////////////////////////////////
#037
DT_CENTER|DT_VCENTER|DT_SINGLELINE|DT_END_ELLIPSIS);
#038
#039
#040 rcText.left = 10;
#041 rcText.top = 40;
#042 rcText.right = 300;
#043 rcText.bottom = 80;
#044 //设置透明背景
#045 int nOldMode = SetBkMode(hDC,TRANSPARENT);
#046
#047 //设置新字体.
#048 HGDIOBJ hOldFont = SelectObject(hDC,GetFont());
#049
#050 //显示字符串在四边形的中间位置.
调用这个函数的例子如下:
#001 // #002 //界面显示输出.
#003 // #004 //蔡军生 2007/09/01 QQ:9073204 深圳
#005 //
#006 void CCaiWinMsg::OnDraw(HDC hDC)
#007 {
#008 //
#009 std::wstring strShow(_T("C++窗口类的实现,2007-09-04")); #010 #011 //设置输出字符串的颜色. #012 COLORREF crOld = SetTextColor(hDC,RGB(255,0,0)); #013 #014 RECT rcText; #015 rcText.left = 10; #016 rcText.top = 10; #017 rcText.right = 300; #018 rcText.bottom = 80; #019 #020 //创建黑色的画刷, #021 HBRUSH hbrush = CreateSolidBrush(RGB(0, 0, 0)); #022 #023 //用黑色的画刷填充四边形的颜色. #024 FillRect(hDC,&rcText,hbrush); #025 #026 //删除画刷. #027 DeleteObject(hbrush); #028 #029 #030 r1 DrawText(hDC,strShow.c_str(),(int)strShow.length(),&rcText,
#052
DT_CENTER|DT_VCENTER|DT_SINGLELINE|DT_END_ELLIPSIS);
#053 #054 //恢复原来的字体. #055 HGDIOBJ hFont = SelectObject(hDC,hOldFont); #056 DeleteObject(hFont); #057 #058 //恢复原来的模式. #059 SetBkMode(hDC,nOldMode); #060 #061 //恢复原来的颜色. #062 SetTextColor(hDC,crOld); #063 }
//////////////////////////////////////////////// CFont font; font.CreatePointFont(g_myFont,_T("宋体")); GetDlgItem(IDC_STATIC_TITLE)->SetFont(&font); CFont *pOldFont=pDC->SelectObject(&font); DeleteObject(pOldFont);
SelectObject 和 DeleteObject 函数 用法第一个站进入, 快速成为做挂达人。
Windows 显示设备的属性,共有下面几种:位图、画刷、字体、画笔、区域。如果要 设置它们到当前设备里,就需要使用 SelectObject 函数,比如上面介绍的字体设置,就会用 到这个函数。当你创建一个位图时,这时 Windows 就会在内存里分配一块内存空间,用来 保存位图的数据。
pDC->SelectObject(pSpen); DeleteObject(spen);//释放资源 ReleaseDC(pDC); //////////////////////////////////////////////////
//被选中,显示红色,否则显示灰色 if(bIsSelect)spen.CreatePen(PS_SOLID,3,RGB(0,255,0)); else spen.CreatePen(PS_SOLID,3,RGB(192,192,192)); CPen *pSpen = pDC->SelectObject(&spen); pDC->SelectObject(GetStockObject(NULL_BRUSH));//选择透明填充 pDC->Rectangle(0,0,rect.Width()-3,rect.Height()-3);
当你创建字体时,也会分配一块内存空间保存字体。如果程序只是分配,而不去删除, 就会造成内存使用越来越多,最后导到 Windows 这幢大楼倒下来。如果你忘记删除它,就 造成了内存泄漏。因此,当你创建显示设备资源时,一定要记得删除它们啊,否则运行你的 程序越长,就导致系统不稳定。记得使用 DeleteObject 函数去删除它们,把占用的内存释放 回去给系统。 函数 SelectObject 和 DeleteObject 声明如下:
//////////////////////////////////////////////////
修改: ////////////////////////////////////////////////// CRect rect; CDC* pDC=GetDC(); GetWindowRect(&rect); CPen spen;