您的位置:首页 > 其它

通过WM_CTLCOLOREDIT 控制EDIT控件外观

2008-02-25 19:51 351 查看
在建立一个对话框窗口之后通过拦截WM_CTLCOLOREDIT返回用CreatePatternBrush建立的画刷.之后EDIT控件画刷就会用该画刷中所加载的图片平铺整个控件所在区域.当然需要把wParam所指向的HDC通过SetBkMode设置为透明模式




static LRESULT MyDeskProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)




...{


#define ICON_SIZE 96


static POINT icoPos;


static dx=13,dy=7;




switch(message)...{


case WM_KEYDOWN:




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:




switch(wParam)...{


case 100:CreateMainMenu();break;


}


//SetCursorPos(LOWORD(lParam),HIWORD(lParam));


break;


case WM_CTLCOLOREDIT:




...{


static HBRUSH hb=0;


extern HINSTANCE hInstDVBRes;




if(hb==0)...{


HBITMAP b=(HBITMAP)LoadImage(hInstDVBRes,0x05,IMAGE_BITMAP,0,0,0);


hb=CreatePatternBrush(b);


}


SetBkMode((HDC)wParam,TRANSPARENT);


return hb;


}




case WM_DESTROY:


case WM_CLOSE:break;


default:


return DefWindowProc(hwnd,message,wParam,lParam);


}


}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: