首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在wince 6.0中获得字母混合?如何在wince 6.0中擦除背景图像?

如何在wince 6.0中获得字母混合?如何在wince 6.0中擦除背景图像?
EN

Stack Overflow用户
提问于 2009-12-16 07:44:03
回答 2查看 1.3K关注 0票数 0

如何在WinCes6.0中为特定的子窗口获得n次字母混合图像?例如,如果我有一个vol图形窗口,用于音量的增加和减少,而这个窗口是在单击vol+或Vol-1按钮时更改的,那么如果我想将vol图形窗口保持为WinCes6.0中的字母混合图像,那么我应该如何获得?因为我在win32应用程序中尝试过,而且我能够这样做,但是我不能在WinCes6.0中执行同样的操作?

我在wince 6.0中使用了以下功能为volBarGraph绘制图像

void AdjustAlphablendImage(int imgId,char axis_id)

{

代码语言:javascript
复制
LogEntry(L"Entered in AdjustAlphablendImage Function");
BLENDFUNCTION bf;
bf.BlendOp=AC_SRC_OVER;
bf.BlendFlags=0;
bf.SourceConstantAlpha=55;
bf.AlphaFormat=0;
HBITMAP bmp = LoadBitmap(handles.hInstance, 
    MAKEINTRESOURCE(imgId));
HDC wdc = GetWindowDC(handles.parent);
HDC tdc = CreateCompatibleDC(wdc);
SelectObject(tdc,bmp);
AlphaBlend(wdc ,
    imgs[axis_id].x,
    imgs[axis_id].y,
    imgs[axis_id].width ,
    imgs[axis_id].height,
        tdc ,0 ,0 ,
    imgs[axis_id].widthSrc, 
    imgs[axis_id].heightSrc,
            bf);
DeleteDC(wdc);
DeleteDC(tdc);
DeleteObject(bmp);
ReleaseDC(handles.parent,wdc);
LogEntry(L"Exited from AdjustAlphablendImage Function");

}

这里“句柄”是“句柄”类型的对象,“父”是“HWND”类型的“句柄”的数据成员。

下面介绍了我的结构“句柄”

结构处理

{

代码语言:javascript
复制
    HINSTANCE hInstance;
HWND parent;
HWND volUp;
HWND volDown;
HWND volOnOff;
HWND chUp;
HWND chDown;
HWND tvOnOff;
HWND tvTitle;
HWND volBarGraph; // I am doing alphablending on this...................
HWND chNo;
HWND chNoBcg;
HWND audioStatus;
HWND subTitleStatus;
HWND message;
HWND prevHandle;
WNDPROC oldButtonWndProc;
HWND pressedButton;
int prevButtonId;
char prevButtonAxis;
char screenMode;

};

//下面的函数用于为AdjustAlphablendImage调用volBarGraph函数。

AdjustAlphablendImage(

代码语言:javascript
复制
                   volumeStatus.volume + volumeStatus.status + INITIAL_VOLUME,  // This is used for taking proper image on particular click of vol+ or vol- Button.
                   AXIS_VOL_BAR_GRAPH                     
                  );

如何在WinS6.0?中擦除背景图像

请回答

谢谢

EN

回答 2

Stack Overflow用户

发布于 2009-12-16 18:37:05

仅仅因为某些东西在桌面上工作并不意味着它将在Windows下工作。此外,由于CE是一个模块化的操作系统,如果它在一个设备上工作,并不意味着它将在另一个设备上工作。

是否将alpha混合添加到CE映像中?您的系统的显示驱动程序支持alpha混合吗?

这两个问题的答案必须是“是的”,然后你才能尝试向前迈进。

如果他们的答案是“是”,那么我们需要看到您已经尝试过的代码。

票数 1
EN

Stack Overflow用户

发布于 2009-12-17 10:45:23

我从文档中找不出为什么AlphaBlend不适用于WinCE的任何原因--但是CE有时会给您惊喜!另一种选择,稍微粗糙,但基本上保证工作,是回到旧的三元光栅操作码,并做一个部分blit,即使用刷子修改blit,使所有像素不显示。这是我在赢得3.1天后使用的一种老技术,据我所知,它可以在所有CE平台上工作--因此,请挖出您以前的Petzold编程书,看看您能找到什么!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1912993

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档