社区
ATL
帖子详情
如何给OLE_COLOR类型的赋值?
ywwj5858792qd
2011-06-30 02:53:56
在ActiveX中接口中添加一个方法,void CNJDC2Ctrl::SetPart2Cor(
OLE_COLOR
part2cor)
参数是一个颜色值,这里参数类型却只能是OLE_COLOR,在容器的程序去调用这个方法时,只能给一个OLE_COLOR类型的实参,不知道这个OLE_COLOR类型实参该怎么赋值了?或者有没有改进方法,能否在自动生成后手动把OLE_COLOR变为COLORREF,然后赋值时直接赋个COLORREF类型的就行了?
...全文
405
2
打赏
收藏
如何给OLE_COLOR类型的赋值?
在ActiveX中接口中添加一个方法,void CNJDC2Ctrl::SetPart2Cor(OLE_COLOR part2cor) 参数是一个颜色值,这里参数类型却只能是OLE_COLOR,在容器的程序去调用这个方法时,只能给一个OLE_COLOR类型的实参,不知道这个OLE_COLOR类型实参该怎么赋值了?或者有没有改进方法,能否在自动生成后手动把OLE_COLOR变为COLORREF,然后赋值时直接赋个COLORREF类型的就行了?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zgl7903
2011-06-30
打赏
举报
回复
OLE_COLOR就定义为DWORD的
typedef DWORD OLE_COLOR;
fishion
2011-06-30
打赏
举报
回复
http://support.microsoft.com/kb/131101/zh-cn
void CMyOleControl::ConversionTest()
{
OLE_COLOR ocBack = GetBackColor();
// Convert OLE_COLOR to COLORREF
COLORREF clrBack = TranslateColor(ocBack);
// Convert COLORREF to OLE_COLOR
OLE_COLOR ocConverted = (OLE_COLOR)clrBack;
}
这样看的话,你倒是可以类似这样给他赋值
COLORREF clrBack;
SetPart2Cor((OLE_COLOR)clrBack);
最好不要自己把这函数的参数改了
OLE
技术@面向对象
一部分
OLE
,一部分面向对象资料。是我自己整理的。内容可靠
基于VB的文字动画特效
基于VB的文字动画特效代码Private Sub TextEffect( _ ByVal sText As String, _ ByVal lX As Long, ByVal lY As Long, _ Optional ByVal bLoop As Bo
ole
an = False, _ Optional ByVal lStartSpacing As Long = 128, _ Optional ByVal lEndSpacing As Long = -1, _ Optional ByVal o
Color
As
OLE
_
COLOR
= vbWindowText _ ) Dim i As Long Dim x As Long Dim lLen As Long Dim lHDC As Long Dim hBrush As Long '定义各种变量 Static tR As RECT Dim iDir As Long Dim bNotFirstTime As Bo
ole
an Dim lTime As Long Dim lIter As Long Dim bSlowDown As Bo
ole
an Dim l
COlor
As Long Dim bDoIt As Bo
ole
an iDir = -1 i = lStartSpacing '为变量
赋值
tR.left = lX: tR.tOp = lY: tR.Right = lX: tR.Bottom = lY
Ole
Translate
Color
o
Color
, 0, l
COlor
hBrush = CreateSolidBrush(GetSys
Color
(
COLOR
_BTNFACE)) lLen = Len(sText) lHDC = Me.hdc SetText
Color
lHDC, l
COlor
'设置文字颜色 bDoIt = True Do While m_bDoEffect And bDoIt lTime = timeGetTime If (i < -3) And Not (bLoop) And Not (bSlowDown) Then bSlowDown = True iDir = 1 lIter = (i + 4) End If If (i > 128) Then iDir = -1 If Not (bLoop) And iDir = 1 Then If (i = lEndSpacing) Then bDoIt = False Else lIter = lIter - 1 If (lIter <= 0) Then i = i + iDir lIter = (i + 4) End If End If Else i = i + iDir End If FillRect lHDC, tR, hBrush '调用FillRect函数 x = 32 - (i * lLen) SetTextCharacterExtra lHDC, i DrawText lHDC, sText, lLen, tR, DT_CALCRECT '调用API函数DrawText tR.Right = tR.Right + 4 If (tR.Right > Me.ScaleWidth \ Screen.TwipsPerPixelX) Then tR.Right = Me.ScaleWidth \ Screen.TwipsPerPixelX DrawText lHDC, sText, lLen, tR, DT_LEFT Me.Refresh '窗体刷新 Do DoEvents '后台运行 Loop While (timeGetTime - lTime) < 20 Loop DeleteObject hBrush End Sub
从网页上获取图片显示到Picture中的软件源码
从网页上获取图片显示到Picture中整理了一下本人硬盘里实用的编程资料和源码,全部是VB代码,希望大家能喜欢.
2021-2022计算机二级等级考试试题及答案No.12612.docx
2021-2022计算机二级等级考试试题及答案No.12612.docx
2021-2022计算机二级等级考试试题及答案No.9159.docx
2021-2022计算机二级等级考试试题及答案No.9159.docx
ATL
3,248
社区成员
48,529
社区内容
发帖
与我相关
我的任务
ATL
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
复制链接
扫一扫
分享
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章