vc++ 设备上下文-关于VC++中dc设备上下文的理解,文本编程

问题描述

关于VC++中dc设备上下文的理解,文本编程

在孙鑫老师的VC++视频教程中学习文本编程看到下面的代码:
if (0x08 == nChar)
{
COLORREF clr = dc.SetTextColor (dc.GetBkColor ());
dc.TextOut (m_ptOrigin.x ,m_ptOrigin.y ,m_strLine);
m_strLine = m_strLine.Left (m_strLine.GetLength ()-1);
dc.SetTextColor (clr);
}

else
{
m_strLine += nChar;
}
其中取了背景色作为当前字体的颜色,最后又用dc.SetTextColor (clr);是什么意思,孙鑫老师在视频中说是要设置回先前的颜色,为什么要设置回,是因为怕以后调用的时候有影响么?还有为什么调用回原来的颜色,依然要取clr,clr中不是调用的是背景色么?要调回原来的颜色不是需要要原来的前景色么? 求解答!

解决方案

有人回答一下不 很感激啊

时间: 2025-01-01 14:12:08

vc++ 设备上下文-关于VC++中dc设备上下文的理解,文本编程的相关文章

VC 向windows系统菜单中添加菜单项---Windows shell扩展编程

vs2008的方法和vc6.0做法几乎一样.下面是转载一位新浪博客-丢丢的.   打开VC6,新建一个工程,选ATL COM APPWIZARD,工程名写BlogTest.然后OK.如果要用到MFC,那把Support MFC打上勾,然后按完成.     新工程生成完毕后,在Class View里根结点按右键,选New Atl Object...,再选Simple Object,在short name里填上类名(起的类型不要和工程名重了),我填Blog,其他会自动填写完毕,OK     在Blo

关于SQL Server数据库中转储设备分析

将转储设备加入到SQL Server备份数据库的地方.在SEM中转储设备是可见性的,并且在设备上的信息被存储在主要数据库的sysdevice表中.Sysadmin和diskadmin服务器成员允许加入并撤消此设备. 下面的脚本显示了如何加入这个设备.Sysdvices表得到设备上的信息然后撤消转储设备. EXEC sp_addumpdevice 'DISK', 'pubs_dump', 'c:pubs_dump.bak' GO BACKUP DATABASE pubs TO pubs_dump

浅谈Linux 中字符设备的注册

Linux中字符设备的注册过程是比较简单的.我们通常可以调用misc_register()函数来注册一个字符设备.Misc设备是一种字符设备,通过该设备可以将fops请求转发给注册的misc设备,从而实现字符设备的功能.用户调用该接口注册Misc字符设备时,可以动态分配设备Minor号,当获取Minor号之后调用class_simple_device_add()或者device_create()函数完成字符设备的创建.Misc字符设备注册函数如下所示: int misc_register(str

BIOS中设置设备启动顺序

  想把BIOS设置的合理,了解电脑的启动顺序是很有必要的.电脑启动都是要从第一启动的设备开始运行,然后是第二和第三启动设备.那么,如何设置设备的启动顺序呢? 首先在BIOS设置主页面中选择Advanced BIOS Feature项进入.然后在界面中选择First Boot Device项,按[Enter]键,在弹出的界面中用方向键进行设置.比如将CD-ROM设置,选择CD-ROM后按[Enter]键就可以.最后返回到主界面保存并退出. 第二设备指得是在系统的第一设备不能正常启动时,系统会自动

ios-iOS Devices中已有设备udid,新建Profile不添加该设备,也能在该设备上真机调试?

问题描述 iOS Devices中已有设备udid,新建Profile不添加该设备,也能在该设备上真机调试? iOS Devices中已有设备udid,新建Profile不添加该设备,也能在该设备上真机调试,这是为什么?按照正常的流程,应该是需要添加该设备到profile.之前没有发现这个问题,最近调试的时候发现的,这个是什么原因?并没有进行Fix之类的操作...

c# 4 0-C#调用VC++6.0的dll中问题

问题描述 C#调用VC++6.0的dll中问题 这是vc++中头文件#define GTDLL_API extern ""C"" __declspec(dllimport) short __stdcall我在C#中引用[DllImport(""GT400.dll"")] private extern static short GT_SetPos(int pos); 调用函数 private void SMotion() //S

移动开发-红米1s手机 开发时 eclipse中无设备显示,应该如何解决??

问题描述 红米1s手机 开发时 eclipse中无设备显示,应该如何解决?? 请高手解决 红米手机如何在eclipse中显示设备?? 请高手解决 红米手机如何在eclipse中显示设备?? 解决方案 你将手机插到电脑里,然后运行你的android程序,它会弹出一个运行设备选择,它会在最上面显示以你手机型号命名的一个设备,你点击运行就行了: 如果不行的话,就是你没有安装手机驱动了:你可以百度这个问题; 还有eclipse中没有显示的原因就是你的数据线连接有问题的,可以拔掉再插上多试几次; 如果回答

vc++-VC++MFC工程做自适应中值滤波

问题描述 VC++MFC工程做自适应中值滤波 求完整的自适应中值滤波程序,要求有源程序,可执行程序.之前在网上找的都不太好模仿,希望直接在view里做,不要各种引申函数,就在一个大括号里做完的.拜托拜托!!急啊! 解决方案 恕我直言题主,您的第二张图片中的代码完全看不清楚 解决方案二: CXXXXXDoc* pDoc = GetDocument(); int iH,iW; LPSTR lpDIB; LPSTR lpDIBBits; lpDIB = (LPSTR) ::GlobalLock((HG

大家好,请问如何获得设备管理器中各设备驱动的版本号啊?

问题描述 大家好,请问如何获得设备管理器中各设备驱动的版本号啊? 解决方案 解决方案二:各位大师请指点一下.我现在想获得电脑中所以设备驱动的版本信息,请问应该如何下手呢?????多谢.解决方案三:無人知道嗎????????????????????????????????????????????????????????????????