如题,部分代码如下void CMyButton::OnMouseMove(UINT nFlags, CPoint point)
{
CRect rc;
GetClientRect(&rc);
IsMouseOn=rc.PtInRect(point); //IsMouseOn是BOOL成员变量
//DrawItem();//想触发DrawItem哪知道带有一个参数,就不知道怎么触发了
CButton::OnMouseMove(nFlags, point);
}void CMyButton::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
{
CDC dc;
dc.Attach(lpDrawItemStruct->hDC);//得到绘制的设备环境CDC
VERIFY(lpDrawItemStruct->CtlType==ODT_BUTTON);
this->SetIcon(AfxGetApp()->LoadIcon(IDI_ICON1));//设置图标也不成功,但也不报错
const int bufSize = 512;
TCHAR buffer[bufSize];
GetWindowText(buffer, bufSize);
int size=strlen(buffer); //得到长度
if (IsMouseOn)
{
RECT rc=lpDrawItemStruct->rcItem;
rc.top=rc.top+1;rc.bottom=rc.bottom-1;
rc.left=rc.left+1;rc.right=rc.right-1;
dc.Draw3dRect(&rc,RGB(255,0,0),RGB(0,0,0));
}还有个小问题,this->SetIcon(AfxGetApp()->LoadIcon(IDI_ICON1));//设置图标也不成功,但也不报错
我想按钮上既有图标又有文字,
{
CRect rc;
GetClientRect(&rc);
IsMouseOn=rc.PtInRect(point); //IsMouseOn是BOOL成员变量
//DrawItem();//想触发DrawItem哪知道带有一个参数,就不知道怎么触发了
CButton::OnMouseMove(nFlags, point);
}void CMyButton::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
{
CDC dc;
dc.Attach(lpDrawItemStruct->hDC);//得到绘制的设备环境CDC
VERIFY(lpDrawItemStruct->CtlType==ODT_BUTTON);
this->SetIcon(AfxGetApp()->LoadIcon(IDI_ICON1));//设置图标也不成功,但也不报错
const int bufSize = 512;
TCHAR buffer[bufSize];
GetWindowText(buffer, bufSize);
int size=strlen(buffer); //得到长度
if (IsMouseOn)
{
RECT rc=lpDrawItemStruct->rcItem;
rc.top=rc.top+1;rc.bottom=rc.bottom-1;
rc.left=rc.left+1;rc.right=rc.right-1;
dc.Draw3dRect(&rc,RGB(255,0,0),RGB(0,0,0));
}还有个小问题,this->SetIcon(AfxGetApp()->LoadIcon(IDI_ICON1));//设置图标也不成功,但也不报错
我想按钮上既有图标又有文字,
解决方案 »
- c++怎样实现ping功能?我要ping几千个IP地址,看看是否能够ping通
- VC程序执行出现内存不能读
- 到底是每一个HWND有一个消息队列,还是没有线程有一个消息队列?
- WSAAccept
- 析构问题?
- 请教大家一个问题,如果有参考示例望请赐教,给个思路也可以,关于度却文件内部内容及其相关分析的
- 我的CHM文件为什么编译之后,放在别的目录下,有时会无法显示?
- 哪有中文COM和ATL下载?UP有分!早回答早给分!
- 在一次请问,倾我所有分,只求一解释,关于VC+Excel,请各位帮帮忙!
- 郁闷!!!请问在用BCB调VC++编写的DLL时,要注意那些问题??
- 请教VC环境下中一些文件作用
- 请教,连接如何从公网地址的登录服务器转到内网的逻辑服务器?
pDC->DrawIcon()响应DrawItem,直接Invalidate()