关于ModifyStyleEx无效的问题

发布时间:2025-12-09 14:06:42 浏览次数:4

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

BOOLModifyStyleEx

(

DWORDdwRemove,

DWORDdwAdd,

UINTnFlags

)

或者

BOOLModifyStyle

(

DWORDdwRemove,

DWORDdwAdd,

UINTnFlags

)

其中:

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函数了,用法与上面类似。

需要做网站?需要网络推广?欢迎咨询客户经理 13272073477