通常のウィンドウのウィンドウの境界 (フレーム) の色を読み取ろうとしています。
それはそれwindow->palette().color(QPalette::XXXX)
を行うようですが、何XXXX
ですか?またはパレットでは不可能ですか?もしそうなら、どのように?
GetSysColorBrush
ネイティブ関数として使用する必要があります:
QColor getWindowFrameColor() {
// This is the only way to detect that a given color is supported
HBRUSH brush = GetSysColorBrush(COLOR_ACTIVEBORDER);
if (brush) {
DWORD color = GetSysColor(COLOR_ACTIVEBORDER);
return QColor(GetRValue(color), GetGValue(color), GetBValue(color));
// calling DeleteObject(brush) is unnecessary, but would be harmless
}
return QColor();
}
Qt ソースで を検索しましたがCOLOR_ACTIVEBORDER
、それを取得する他の唯一の方法は、WebKit でカスタム JavaScript コードを実行することです。