« C++Builder2007 Update3 でコンテキストメニューが表示されない問題 | メイン | ミスタードーナツのハニーディップ »

C++Builder2007 Update3でメニューのキャプションが文字化けする問題

C++Builder2007にUpdate3を適用して作成したプログラムをWindows Vistaで実行すると、メニューのキャプションが文字化けします。

この問題を回避する方法が「Delphi2007Update3のバグ」で紹介されています。

C++Builder2007でも同じ方法で問題が回避できることを確認しました。

  1. 現在のプロジェクトがあるフォルダに、「C:\Program Files\CodeGear\RAD Studio\5.0\source\Win32\vcl\Menus.pas」をコピーします。

  2. プロジェクトにコピーした「Menus.pas」を追加します。

  3. Menus.pasの1150行目を以下のように変更します。

    変更前:
    DrawThemeTextEx(ThemeServices.Theme[teMenu], ACanvas.Handle, MENU_POPUPITEM,
      MenuStates[MenuItem.Enabled], PWideChar(WideString(Text)), Length(Text), Flags, @Rect, Options);
    
    
    変更後:
    DrawThemeTextEx(ThemeServices.Theme[teMenu], ACanvas.Handle, MENU_POPUPITEM,
     MenuStates[MenuItem.Enabled], PWideChar(WideString(Text)), Length(WideString(Text)), Flags, @Rect, Options);
    
  4. Unit1.hに次にコードを追加します。

    #include "Menus.hpp"
    

以上です。

作成したプログラムをWindows Vistaで実行しても、メニューは文字化けしませんでした。

トラックバック

このエントリーのトラックバックURL:
http://www.gesource.jp/mt/mt-tb.cgi/581

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

About

2007年10月01日 13:56に投稿されたエントリーのページです。

ひとつ前の投稿は「C++Builder2007 Update3 でコンテキストメニューが表示されない問題」です。

次の投稿は「ミスタードーナツのハニーディップ」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Movable Type 3.35