在建立一个对话框窗口之后通过拦截WM_CTLCOLOREDIT返回用CreatePatternBrush建立的画刷.之后EDIT控件画刷就会用该画刷中所加载的图片平铺整个控件所在区域.当然需要把wParam所指向的HDC通过SetBkMode设置为透明模式
![带背景的编辑筐控件](https://p-blog.csdn.net/images/p_blog_csdn_net/houzh/editbkgnd.jpg)
static
LRESULT MyDeskProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
...
{
#define ICON_SIZE 96
static POINT icoPos;
static dx=13,dy=7;
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
switch(message)...{
case WM_KEYDOWN:
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
switch(wParam)...{
case VK_MENU:
case VK_F1:
CreateMainMenu();
break;
case VK_RETURN:
CreateFavoriteWnd();
break;
case VK_UP:
CreateEPGPFWnd();
//CreatePFWnd();
break;
case VK_ESCAPE:
//DoPropertySheet(hwnd);
break;
}break;
case WM_COMMAND:
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
switch(wParam)...{
case 100:CreateMainMenu();break;
}
//SetCursorPos(LOWORD(lParam),HIWORD(lParam));
break;
case WM_CTLCOLOREDIT:
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
static HBRUSH hb=0;
extern HINSTANCE hInstDVBRes;
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
if(hb==0)...{
HBITMAP b=(HBITMAP)LoadImage(hInstDVBRes,0x05,IMAGE_BITMAP,0,0,0);
hb=CreatePatternBrush(b);
}
SetBkMode((HDC)wParam,TRANSPARENT);
return hb;
}
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
case WM_DESTROY:
case WM_CLOSE:break;
default:
return DefWindowProc(hwnd,message,wParam,lParam);
}
}