如何在WinCes6.0中为特定的子窗口获得n次字母混合图像?例如,如果我有一个vol图形窗口,用于音量的增加和减少,而这个窗口是在单击vol+或Vol-1按钮时更改的,那么如果我想将vol图形窗口保持为WinCes6.0中的字母混合图像,那么我应该如何获得?因为我在win32应用程序中尝试过,而且我能够这样做,但是我不能在WinCes6.0中执行同样的操作?
我在wince 6.0中使用了以下功能为volBarGraph绘制图像
void AdjustAlphablendImage(int imgId,char axis_id)
{
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”类型的“句柄”的数据成员。
下面介绍了我的结构“句柄”
结构处理
{
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(
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?中擦除背景图像
请回答
谢谢
发布于 2009-12-16 18:37:05
仅仅因为某些东西在桌面上工作并不意味着它将在Windows下工作。此外,由于CE是一个模块化的操作系统,如果它在一个设备上工作,并不意味着它将在另一个设备上工作。
是否将alpha混合添加到CE映像中?您的系统的显示驱动程序支持alpha混合吗?
这两个问题的答案必须是“是的”,然后你才能尝试向前迈进。
如果他们的答案是“是”,那么我们需要看到您已经尝试过的代码。
发布于 2009-12-17 10:45:23
我从文档中找不出为什么AlphaBlend不适用于WinCE的任何原因--但是CE有时会给您惊喜!另一种选择,稍微粗糙,但基本上保证工作,是回到旧的三元光栅操作码,并做一个部分blit,即使用刷子修改blit,使所有像素不显示。这是我在赢得3.1天后使用的一种老技术,据我所知,它可以在所有CE平台上工作--因此,请挖出您以前的Petzold编程书,看看您能找到什么!
https://stackoverflow.com/questions/1912993
复制相似问题