在对话框程序中,我动态创建了一个static控件
Cstatic *pstatic;
pstatic->Create("static",WS_CHILD|WS_VISIBLE|SS_NOTIFY,CRect(220,20,280,40),this,NULL);
我想在鼠标点击它后,可以改一下样式,来表明它被选中了,也就是类似资源编辑器里那样的选中状态,可是我用
pstatic->ModifyStyleEx(0, WS_EX_CLIENTEDGE);
//WS_EX_CLIENTEDGE Specifies that a window has a 3D look — that is, a border with a sunken edge.
pstatic->->Invalidate(FALSE);
可是运行完一点效果都没有,请大家赐教了
Cstatic *pstatic;
pstatic->Create("static",WS_CHILD|WS_VISIBLE|SS_NOTIFY,CRect(220,20,280,40),this,NULL);
我想在鼠标点击它后,可以改一下样式,来表明它被选中了,也就是类似资源编辑器里那样的选中状态,可是我用
pstatic->ModifyStyleEx(0, WS_EX_CLIENTEDGE);
//WS_EX_CLIENTEDGE Specifies that a window has a 3D look — that is, a border with a sunken edge.
pstatic->->Invalidate(FALSE);
可是运行完一点效果都没有,请大家赐教了
解决方案 »
- 关于GDI+画图的问题
- 如何获取字体英文名???????
- 请问,想把一个整数用CString类Format函数的转化成二进制字符串,第一个参数应该如何设置?
- 那个更好
- 为什么再努力这也不能成为我的爱好?———很沮丧,散分
- 这个问题问了n遍了,怎么总没人回答!!救命
- 急问题,哪里有这种按钮控件下载,就是像银行的密码键盘一样,高高的,中间凹进,急急急急急急急.
- 如何读取串口数据?
- 有没有谁用过StgCreateStorageEx或StgCreateDocfile函数啊,我的调用怎么老是出错???????
- 我一个进程(不受我控制的)打开了一个文件,但这个程序由于某种原因强行被我的进程中止,导至那个文件没有关掉,我现在要在我的进种中关掉那个文件,怎么办
- 在VC中如何获得数据集记录数?
- 这里应该如何转换
,但是我需要知道在窗口中鼠标点击了那个文本控件,因此我派生了自己的类,里面的m_id记录id
class CEditStatic : public CStatic
{
// Construction
public:
CEditStatic(); CString caption; int m_id;
CRect rect;
int font;
afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
}void CEditStatic::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
//ModifyStyle(NULL,WS_BORDER);
::PostMessage(::FindWindow(NULL,"DATALIST"),WM_GETSELECTEDEDITSTATICID,(WPARAM)m_id,0);
CStatic::OnLButtonUp(nFlags, point);
}在对话框程序中,我动态创建了一个static控件
Cstatic *pstatic;
pstatic->Create("static",WS_CHILD ¦WS_VISIBLE ¦SS_NOTIFY,CRect(220,20,280,40),this,NULL); 在对话框程序的自定义消息及(WM_GETSELECTEDEDITSTATICID)中我
pstatic->ModifyStyle(0,WS_BORDER);
pstatic->Invalidate(FALSE);问题是我点击她没有反应,但是我在响应鼠标移动的时候,才出现了效果
void CDatalistDlg::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
if ((nFlags==MK_LBUTTON) && m_changeeditstaticrent)
{
if (m_SelectedEditstaticID<0)
//m_SelectedEditstaticID为控件在鼠标抬起的时候发过来的id消息值 {
MessageBox("选择控件");
return ;
} CRect temprect=pstatic->rect;
pstatic->MoveWindow(CRect(temprect.TopLeft(),point)); } CDialog::OnMouseMove(nFlags, point);
}这是怎么回事?
大侠帮忙看看我的程序吧,有什么好的建议吗?