可以考虑自己写一个控件,看你现在用的是基于Dialog的项目,可以从 CWnd 这种窗口上来继承实现,通过自绘,这样整个界面我们都可以自由接管,自己想怎么处理,怎么绘制,都很方便
另外,关于十六进制编辑的实现,网上例子也很多,也可以参考下别人的思路
哈哈PreSubclassWindow
PreSubclassWindow是一个很好的定制控件的位置。如果我们通过重载CWnd::PreCreateWindow定制控件,而用户在对话框中使用控件。由于对话框中的控件窗口是通过CreateDlgIndirect创建,不经过CWnd::CreateEx函数,PreCreateWindow函数不会被调用。
其实,用户要在对话框中使用定制控件,必须用DDX或者SubclassDlgItem函数子类化控件,这时PreSubclassWindow一定会被调用。
如果用户直接创建定制控件窗口,CWnd::CreateEx函数就一定会被调用,控件窗口一定会被子类化以安装MFC消息泵。所以在MFC中,PreSubclassWindow是创建窗口的必经之路。
所以重写PreSubclassWindow就可以啦-_-
在OnCtlColor事件中处理代码就可以实现改变文本框颜色和文字颜色例如代码[摘选自我的程序]:if (pWnd->GetDlgCtrlID() == IDC_EDIT1)
{
// 设置IDC_EDIT_TEXT2文本色为红色
pDC->SetTextColor(RGB(255, 0, 0))
// 设置IDC_EDIT_TEXT2中文本背景色为黄色
pDC->SetBkColor(RGB(255,255,0))
// 设置IDC_EDIT_TEXT2颜色为绿色
}
SetTextColor可以改变文字颜色
SetBkColor 可以改变背景颜色
另外Disabled后好象都是灰色!
另外推荐你使用一些美化的类,可以方便的实现这些功能.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)