閉じる

スライダーコントロールのカスタム描画

CDDS_PREERASE系は飛んでこないようだけど、CDDS_ITEMPREPAINTで渡される HDCは背景が書き込めるのでどうにもでなるっぽい。
TBCD_TICS,TBCD_CHANNEL,TBCD_THUMBの順に呼ばれるので、TBCD_TICSもしくは TBCD_CHANNELで呼ばれたときにクライアント領域を取得して書き込んでしまえばそれっぽくなる。
CDRF_DODEFAULTを返してやれば書き込んだ背景の上にデフォルトのパーツが描画されるので何も考えなくて良い。
スタイルとして WS_EX_STATICEDGEを指定してあっても、描画できるのはエッジの内側だけというのも楽。
TBCD_CHANNELとTBCD_THUMBは渡される矩形が意味を持つのだけど、TBCD_TICSは空の矩形が渡されるだけでどう処理すればいいのか不明。
クライアント領域を取得し、TBM_GETTICPOSを使ってそれっぽく書くのかしら?

コメントを残す

メールアドレスが公開されることはありません。必須項目には印がついています *

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)