关于ModifyStyleEx无效的问题

来源:互联网 发布:linux查找 编辑:程序博客网 时间:2024/04/30 00:25

在做MFC时,有时候我们需要显示选择一个项目,比如需要标记所选择的图片控件。我们可以用这个函数:

BOOLModifyStyleEx

(

  DWORD dwRemove,

  DWORD dwAdd,

  UINT   nFlags

)

或者

BOOLModifyStyle

(

  DWORD dwRemove,

  DWORD dwAdd,

  UINT   nFlags

)

其中:

dwRemove 指定要删除的扩展属性,

dwAdd 指定修改时要增加的扩展属性,

nFlag 标志一般设置为 0 。

但有时,会发现,只有这一条语句没有效果,这就需要我们想办法来解决,这里提供一种找了好久的方法,可能对大家有用。

例如:

GetDlgItem(IDC_STATIC)->ModifyStyleEx(0,WS_EX_CLIENTEDGE|WS_EX_STATICEDGE|WS_EX_DLGMODALFRAME);

GetDlgItem(IDC_STATIC)->SetWindowPos(0,0,0,0,0,SWP_NOMOVE| SWP_NOSIZE | SWP_DRAWFRAME);

其中:IDC_STATIC为图片控件对应的ID,设置了client属性,staticedge属性以及modalframe属性,这些属性是在Extended Styles中的。

如果要修改Styles属性,就要用ModifyStyle函数了,用法与上面类似。

原创粉丝点击