/// 全部のDLコントロールのオン/オフ切り替え void CDonutView::OnAllOnOff(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/) { switch (wID) { case ID_DLCTL_ON_OFF_MULTI: if ( ( GetDLControlFlags() & (DLCTL_DLIMAGES | DLCTL_BGSOUNDS | DLCTL_VIDEOS) ) == (DLCTL_DLIMAGES | DLCTL_BGSOUNDS | DLCTL_VIDEOS) ) _RemoveFlag(DLCTL_BGSOUNDS | DLCTL_VIDEOS | DLCTL_DLIMAGES); else _AddFlag(DLCTL_BGSOUNDS | DLCTL_VIDEOS | DLCTL_DLIMAGES); break; case ID_DLCTL_ON_OFF_SECU: if ( ( ( GetDLControlFlags() & (DLCTL_NO_RUNACTIVEXCTLS | DLCTL_NO_DLACTIVEXCTLS | DLCTL_NO_SCRIPTS | DLCTL_NO_JAVA) ) == 0 ) ) { //チェックは全部ついている _AddFlag(DLCTL_NO_SCRIPTS | DLCTL_NO_JAVA | DLCTL_NO_DLACTIVEXCTLS | DLCTL_NO_RUNACTIVEXCTLS); } else { //チェックされていない項目がある _RemoveFlag(DLCTL_NO_SCRIPTS | DLCTL_NO_JAVA | DLCTL_NO_DLACTIVEXCTLS | DLCTL_NO_RUNACTIVEXCTLS); } break; } _LightRefresh(); }
BOOL QFrame::Create( HWND hWndParent /*= ::GetAncestor(::GetActiveWindow(),GA_ROOT)*/, UINT nStyle/*=WS_POPUP|WS_VISIBLE*/,UINT nStyleEx/*=0*/, UINT nDecoratedStyle /*= WS_QEX_WNDSHADOW|WS_QEX_ROUNDCONNER*/, LPCRECT rcWnd/* = NULL*/) { ATLASSERT(!IsWindow()); _RemoveFlag(nStyle,WS_CHILD); // QFrame 不能用于创建子窗口 _AddFlag(nStyle,WS_CLIPCHILDREN); // 防止内嵌子HWND窗口时闪烁 ModifyQEXStyle(nDecoratedStyle, 0); CRect rc(0, 0, 0, 0); if (NULL != rcWnd) { rc = *rcWnd; } if (QView::Create(hWndParent, rc, NULL, nStyle, nStyleEx) != NULL) { // 看下都具有什么系统的按钮 if (GetCtrl("#wc-caption [xrole=\"MINIMAZE\"]").is_valid()) { ModifyStyle(0,WS_MINIMIZEBOX); } if (GetCtrl("#wc-caption [xrole=\"MAXIMAZE\"]").is_valid()) { ModifyStyle(0,WS_MAXIMIZEBOX); } if ( _HasFlag(QUIGetApp()->GetTopFrameStyle(), WS_QEX_WNDSHADOW) && HasQEXStyle(WS_QEX_WNDSHADOW) ) { // 使用阴影美化窗体 SetShadowPosition(0,0); SetShadowSharpness(4); SetShadowSize(3); SetShadowColor(RGB(80, 80, 80)); wnd_shadow_.Create(GetSafeHwnd()); } return TRUE; } return FALSE; }