スタティックテキストボックス内でテキストの配置を変更するには? – プログラミング – Home

スタティックテキストボックス内でテキス...
 
通知
すべてクリア

スタティックテキストボックス内でテキストの配置を変更するには?


MIYA
 MIYA
(@MIYA)
ゲスト
結合: 25年前
投稿: 14
Topic starter  

こんにちわ。

スタティックBox内のテキストの配置
(中央配置とか左端とか)を
文字数によって、変更したいのですが・・。
なにか良い方法があれば教えてください。


引用解決済
トピックタグ
EIJI
 EIJI
(@EIJI)
ゲスト
結合: 24年前
投稿: 76
 

文字数に応じてModifyStyle()します。
s がCStringで文字列がすでに入っているとして、

CStatic* pWnd = (CStatic*)GetDlgItem( スタティックのID );
int n = s.GetLength();
if( n < 3 )
{
pWnd->ModifyStyle( SS_CENTER|SS_RIGHT, SS_LEFT );
}
else if( n < 10 )
{
pWnd->ModifyStyle( SS_LEFT|SS_RIGHT, SS_CENTER );
}
else
{
pWnd->ModifyStyle( SS_LEFT|SS_CENTER, SS_RIGHT );
}
pWnd->SetWindowText( s );

これで、3バイト未満は左寄せ、10未満は中央、それ以上は右寄せに
なります。(ただし、文字数ではなくてバイト数です。)


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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