通过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);
}
}
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);
}
}
相关文章推荐
- .net通过iframe控件控制页面跳转
- ButterKnife 加载控件 + xUtils 获取数据+ Fresco 显示图片 + 通过事件分发控制移动 + 通过AIDL获取数据
- 通过监听Windows消息对复合控件进行整体控制(C#)一
- 通过xml文件控制控件的属性
- 联发科Linkit 7688 DUO(三): 通过 Arduino 控制外设和传感器
- 通过javascript来控制ASP.NET服务器控件状态
- android中通过edittext控件加载手机日历
- 通过派生CEdit类实现在VC的edit控件里输入小数
- 通过发送WM_GETTEXT命令获得EDIT中的信息
- 日积(Running)月累(ZSSURE):WCF学习之“通过事件绑定控制WinForm宿主程序主界面控件”
- MFC edit控件实现控制台式滚动输出
- 子类化实现DialogBox中Edit控件的WM_CHAR消息
- 通过button控制input控件上传文件
- Flex中如何通过focusRoundedCorners样式在TextInput控件获得焦点后控制矩形对角圆滑与否的例子
- 通过设置maskedit实现小数位的输入控制
- C# 通过委托控制进度条以及多线程更新控件
- WM_CTLCOLOR消息,绘制子控件背景问题
- Android中EditText控件横屏全屏模式时的控制
- pb中怎么通过嵌入ole来控制Ie浏览器控件?
- vc新线程、类外控制EDIT控件