お世話になっております。
ウインドウに表示される、ツールバーやリバーなどのバー
の色(背景など)を変更したり、画像を貼り付けたりすることは可能なのでしょうか?
可能な場合は、どのようにすればよいのでしょうか?
よろしくお願いします。
プログラミング環境は以下になります。
VisualStudio.NET2003
ATL, WTL
バーをサブクラス化して WM_ERASEBKGND を処理すれば行けそう。
-------------------------------
WNDPROC pfnTb_;
LRESULT CALLBACK tbProc(...) {
switch (message) {
case WM_ERASEBKGND:
GetClientRect(&rect);
FillRect((HDC)wParam, &rect, GetSysColorBrush(COLOR_DESKTOP));
return 1;
}
return CallWindowProc(pfnTb_, hWnd, message, wParam, lParam);
}
LRESULT CALLBACK WndProc(...) {
switch (message) {
case WM_CREATE:
hToolbar = CreateToolbarEx(...);
pfnTb_ = (WNDPROC)SetWindowLong(hToolbar, GWL_WNDPROC, (LONG)tbProc);
}
}
WM_ERASEBKGND を受け取るようにしてみましたが、上手くいきませんでした。
いろいろ試行錯誤した結果、SetBandInfoで RBBIM_BACKGROUND を使うと描画
画像を貼り付けられることがわかりました。
ありがとうございます。
SetBandInfoで RBBIM_BACKGROUNDを使うようにしてみます。
SetBandInfo で 画像を背景にすることができました。
ありがとうございます。
ただ、バーの輪郭の部分には貼り付けられなかったので、バーを二段にした場合
などに、目立ってしまいます。
これを回避する方法はないのでしょうか?
よろしくお願いします。
