Signed-off-by: Yuhang Zhao <2546789017@qq.com>
This commit is contained in:
Yuhang Zhao 2020-10-11 10:36:20 +08:00
parent 4f06aa1206
commit 7880fbfb16
2 changed files with 9 additions and 5 deletions

View File

@ -17,7 +17,7 @@ DEFINES += \
FRAMELESSHELPER_STATIC FRAMELESSHELPER_STATIC
LINK_TO_SYSTEM_DLL { LINK_TO_SYSTEM_DLL {
DEFINES += WNEF_LINK_SYSLIB DEFINES += WNEF_LINK_SYSLIB
LIBS += -luser32 -lgdi32 -ldwmapi -lshcore LIBS += -luser32 -lgdi32 -ldwmapi -lshcore -ld2d1
} }
CONFIG -= embed_manifest_exe CONFIG -= embed_manifest_exe
RC_FILE = framelesshelper_windows.rc RC_FILE = framelesshelper_windows.rc

View File

@ -113,7 +113,7 @@ Q_DECLARE_METATYPE(QMargins)
#else #else
#define WNEF_RESOLVE_ERROR(funcName) \ #define WNEF_RESOLVE_ERROR(funcName) \
if (!m_lp##funcName) { \ if (!m_lp##funcName) { \
qCritical().noquote() << "Failed to resolve symbol" << #funcName; \ qFatal("Failed to resolve symbol" #funcName); \
} }
#endif #endif
#endif #endif
@ -944,13 +944,17 @@ HWND getHWNDFromQObject(QObject *object)
{ {
Q_ASSERT(object); Q_ASSERT(object);
WId wid = 0; WId wid = 0;
if (object->isWindowType()) {
wid = qobject_cast<QWindow *>(object)->winId();
}
#ifdef QT_WIDGETS_LIB #ifdef QT_WIDGETS_LIB
if (object->isWidgetType()) { else if (object->isWidgetType()) {
wid = qobject_cast<QWidget *>(object)->winId(); wid = qobject_cast<QWidget *>(object)->winId();
} }
#endif #endif
if (object->isWindowType()) { else {
wid = qobject_cast<QWindow *>(object)->winId(); qFatal(
"Can't acquire the window handle: only top level QWidgets and QWindows are accepted.");
} }
return reinterpret_cast<HWND>(wid); return reinterpret_cast<HWND>(wid);
} }