1

画像を表示するカスタム コントロールがあります。画像が表示可能なサイズを超えた場合にスクロールバーを表示します。どういうわけか、スクロールバーの横または縦が表示されているかどうかを知りたいです。CWndクラスに直接関数が見つかりません。

私は見つけましGetScrollBarInfoたが、それをチェックする運がありませんでした。コードは次のとおりです。

SCROLLBARIINFO stHSBInfo;
GetScrollBarInfo( this->GetSafeHwnd(), OBJID_HSCROLL, &stHSBInfo );
if(  !( STATE_SYSTEM_INVISIBLE &stHSBInfo.rgstate[0] )) // Always true
{
    // Code
}

助けてください!

4

2 に答える 2

0

GetSystemMetricsを使用して、システムのスクロールバー幅のサイズを取得します。GetWindowRectとGetClientRectの間でカスタムコントロールのサイズを比較します。差がスクロールバーの幅のサイズよりも大きい場合は、が表示されます。

于 2012-07-26T19:19:41.287 に答える