MSFlexGridの日本語表示 – プログラミング – Home

通知
すべてクリア

[解決済] MSFlexGridの日本語表示


やす
 やす
(@やす)
ゲスト
結合: 20年前
投稿: 27
Topic starter  

.NET2005 VC++の環境(アンマネージ)にてMSFlexGridの使用方法
について教えてください。

たとえば、1行3列目のセルに寸法1という文字を設定しようとする
場合、以下のようにすると日本語が化けて表示されてしまいます。

  m_grid.put_TextMatrix(1,3,寸法1);

日本語を表示するにはどのようにすればよいのでしょうか?


引用未解決
トピックタグ
たいちう
 たいちう
(@たいちう)
ゲスト
結合: 23年前
投稿: 662
 

環境が無いので、はずしているかもしれませんが、

m_grid.put_TextMatrix(1,3,L寸法1); とか、
m_grid.put_TextMatrix(1,3,TEXT(寸法1)); を試してみては?

これが原因だとするとコンパイルエラーになるような気がするので
自信がないのですが、他の回答が付くまでに解決する可能性があるかも。


返信引用
やす
 やす
(@やす)
ゲスト
結合: 20年前
投稿: 27
Topic starter  

> m_grid.put_TextMatrix(1,3,L寸法1);

コンパイルエラーとなります。
なぜならプロトタイプが(long, long, LPSCSTR)だからです。

m_grid.put_TextMatrix(1,3,TEXT(寸法1));

UNICODEではなくマルチバイトで使用しているので、
結局寸法1と同じ結果で化けてしまいます。


返信引用
えと
 えと
(@えと)
ゲスト
結合: 18年前
投稿: 2
 

貴方と同じ環境の、同じ境遇の方を待つしか
ありませんが
m_grid.put_TextMatrix(1,3,_T(寸法1));
とかはどうですか?

必要なら直前で文字列をコンバートで。


返信引用
えと
 えと
(@えと)
ゲスト
結合: 18年前
投稿: 2
 

ごめ、「なぜなら~」以降を読んでませんでした。

最後に書きましたが
WideCharToMultiByteでコード変換をすればよいかと


返信引用
ぬ
 ぬ
(@ぬ)
ゲスト
結合: 18年前
投稿: 39
 

化けた画面はどう表示されているのでしょうか。
Ascii文字も混ぜた文を表示した際に、Ascii文字が表示できるならば、フォント
等も疑う必要があると思います。


返信引用
やす
 やす
(@やす)
ゲスト
結合: 20年前
投稿: 27
Topic starter  

> Ascii文字も混ぜた文を表示した際に、Ascii文字が表示できるならば、フォント
> 等も疑う必要があると思います。

Ascii文字を混ぜた場合、ASCII文字だけはちゃんと表示されるので、
確かにフォントが怪しいですね。それで以下のようにフォントを設定
したのですが、やはり結果は変わりませんでした。
字体は変わったので、フォントの設定はできているように思えるのですが。

m_grid.put_FontName(MS 明朝);

フォント設定が間違っているのでしょうか?


返信引用
やす
 やす
(@やす)
ゲスト
結合: 20年前
投稿: 27
Topic starter  

プロパティのFont属性を日本語フォントに設定したら、うまく表示できました。
「ぬ」さんのアドバイスのおかげです。
どうもありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました