• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Windowsタスクバーにツールバーを作成(2))

Windowsタスクバーにツールバーを作成する方法

このQ&Aのポイント
  • Windows XP / Borland C++Builder 6 pro環境でウィンドウズスタイルを使ったタスクバーを作成する方法について教えてください。
  • Windows XP / Borland C++Builder 6 pro環境ではuxtheme.libがないため、ウィンドウズスタイルが使えません。ウィンドウズスタイルを使用してタスクバーを作成する方法をご教示ください。
  • Windws SDK v6.0とv7.1からUxtheme.libを入手しましたが、PCの中のsytem32にあるuxtheme.dll(6.0.2900.5512)とは合わないようです。 Windows XP / Borland C++Builder 6 pro(uxthemeが無い環境)でウィンドウズスタイルを使うための具体的な方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

ウィンドウズスタイルというのが何のことか、いまひとつピンとこないですが・・・。 http://msdn.microsoft.com/en-us/library/bb773257(v=vs.85).aspx http://msdn.microsoft.com/en-us/library/bb773317(v=vs.85).aspx によると BeginBufferedPaint とか DrawThemeTextEx とかって Vista 以降ってなってますから、普通に考えると XP では使えないと思います・・・。 DrawThemeParentBackground は XP でも使えますから、↓くらいで我慢するしかないんじゃないでしょうか。 ( 質問に掲載されていた Microsoft のページを参考にしています。) WM_PAINT の処理 RECT rc; PAINTSTRUCT ps; COLORREF crText = RGB( 255, 255, 255 ); TCHAR szText[] = TEXT("My DeskBand"); BeginPaint( m_hwnd, &ps ); GetClientRect( m_hwnd, &rc ); DrawThemeParentBackground( m_hwnd, ps.hdc, &rc ); SetTextColor( ps.hdc, crText ); SetBkMode( ps.hdc, TRANSPARENT ); DrawTextW( ps.hdc, szText, -1, &rc, DT_CENTER | DT_VCENTER | DT_SINGLELINE ); EndPaint( m_hwnd, &ps );

toshi_yn
質問者

お礼

回答ありがとうございます。 MSNサイトから、Windws SDK v6.0とv7.1をダウンロードしてUxtheme.libを追加、Uxtheme.hをincludeして早速、試してみましたが「未定義シンボル__in」エラーが出てしまいました。 入手したUxtheme.libではダメみたいです。 もう少し、頑張ってみます。

その他の回答 (1)

回答No.2

もし、.h、LIB の設定が Borland C++ の .h、LIB を使用する設定のままでしたら、Borland C++ の方を無効にして、ダウンロードした新しい方を使用する設定にしてみてはどうでしょう。

toshi_yn
質問者

お礼

アドバイスありがとうございます。 Borland C++Builderには元々uxtheme.hとuxtheme.libはなく、SDK 6.0/7.1のものを使っています。でも、状況は1)の通りです。今、別バージョンのSDKではと思い、今、ダウンロードしています。 何とかなれば良いのですが・・・・。

toshi_yn
質問者

補足

uxtheme.libの件は「VC向けのlibファイルは、C++Builderでは使えない」というのが原因だということが分かりました。implibコマンドでBCB用のlibファイルを作成する必要があり、解決しました。

関連するQ&A