続: ギリシャ文字のショートカットファイルのResolve – プログラミング – Home

続: ギリシャ文字のショートカットファ...
 
通知
すべてクリア

続: ギリシャ文字のショートカットファイルのResolve


キット
 キット
(@キット)
ゲスト
結合: 18年前
投稿: 14
Topic starter  

度々すみません、文字コードに弱々なキットです。

下の方で質問させて頂いた件の続きで、質問させて欲しいです。

プロジェクトの設定をUnicodeにして、色々と試行錯誤している
のですが

WCHAR a[ 10 ];
WCHAR b[ 10 ];
CString c;

a[ 0 ] = _T( 'µ' ); // 181 Lのミュー
a[ 1 ] = 0x00;
SetWindowText( a );
GetWindowText( b, 10 );
GetWindowText( c );

とし、181 Lのミュー文字をRichEditにセットした後取得すると

bもcも956 L のミュー文字(単位の方)が帰ってきてしまいます。

フォントの絡みもあるのかな?と思い、RichEditで GetDefaultCharFormat()
で取得したフォントはMS Shell Dlgでした。

SetWindowText, GetWindowTextを用いた際に正しく入れた文字列
が帰ってくる様にするにはどうしたら良いのでしょうか?

よろしくお願いいたします。


引用解決済
トピックタグ
キット
 キット
(@キット)
ゲスト
結合: 18年前
投稿: 14
Topic starter  

> ミュー文字(単位の方)が帰ってきてしまいます。

間違いました。

マイクロ(181 L:単位の方)をSetWindowTextして、GetWindowTextすると
ミュー(956 L:ギリシャ文字の方)が返ってきてしまいます。

直接 SetWindowText( _T( ミュー(単位の方) ) );
としてもGetするとやはり956 Lが返ってきてしまいます。


返信引用
キット
 キット
(@キット)
ゲスト
結合: 18年前
投稿: 14
Topic starter  

その後悪戦苦闘しているのですが、試しに ListBox, Button, EditBoxにて
試して見たのですが、全部正しい文字列が返ってきます。

Rich Editだけ、マイクロを入れるとミューが返ってきてしまいます(涙)
Rich Editに対して何らかの特殊な宣言をしないと駄目なのでしょうか?

***

m_Lst.AddString( Lμ, µ );
m_Lst.GetText( 0, csString );

m_Edt.SetWindowTextW( Lμ, µ );
m_Edt.GetWindowTextW( csString );

m_RichEdt.SetWindowTextW( Lμ, µ );
m_RichEdt.GetWindowTextW( csString );

m_Btn.SetWindowTextW( Lμ, µ );
m_Btn.GetWindowTextW( csString );


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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