リッチエディットでセンタリング – プログラミング – Home

リッチエディットでセンタリング
 
通知
すべてクリア

[解決済] リッチエディットでセンタリング

固定ページ 1 / 3

spark
 spark
(@spark)
ゲスト
結合: 23年前
投稿: 9
Topic starter  

1行入力のリッチエディットのウインドを作りました。
入力文字をセンタリングするにはどういう方法がありますか?


引用未解決
トピックタグ
不良PG
 不良PG
(@不良PG)
ゲスト
結合: 23年前
投稿: 188
 

>1行入力のリッチエディットのウインドを作りました。
どこにどうやって作ったかを明記しましょう。

>入力文字をセンタリングするにはどういう方法がありますか?
出来なかったと思います・・


返信引用
kazuma
 kazuma
(@kazuma)
ゲスト
結合: 24年前
投稿: 217
 

>入力文字をセンタリングするにはどういう方法がありますか?

ワードパッドが出来るんだから出来るはず。
MFC なら CRichEditCtrl::SetParaFormat とかです。たぶん。


返信引用
不良PG
 不良PG
(@不良PG)
ゲスト
結合: 23年前
投稿: 188
 

>ワードパッドが出来るんだから出来るはず。
>MFC なら CRichEditCtrl::SetParaFormat とかです。たぶん。
確かにワードパッドは出来ますが、ワードパッドは1行入力ではありません(複数行)
1行入力のリッチエディットコントロールでは、入力文字をセンタリング出来ません


返信引用
sara
 sara
(@sara)
ゲスト
結合: 23年前
投稿: 99
 

> 1行入力のリッチエディットコントロールでは、入力文字をセンタリング出来ません

 試してみましたが、1行入力でもCRichEditCtrl::SetParaFormatでセンタリング出来まし
た。

 確かに、リッチエディットプロパティダイアログでは、複数行をチェックしないとテキスト配
置のコンボボックスが有効になりませんが、上記の関数を使えば可能です。


返信引用
不良PG
 不良PG
(@不良PG)
ゲスト
結合: 23年前
投稿: 188
 

あら・・、出来るんですか?

.dwMask = PFM_ALIGNMENT;
.wAlignment = PFA_CENTER;

で指定したけど変わらなかったから駄目かと思ったのですが・・

どう指定すると変わるのですか?


返信引用
sara
 sara
(@sara)
ゲスト
結合: 23年前
投稿: 99
 

 ちょっと試すだけのつもりだったので、MFCでダイアログにリッチエディットコントロールと
プッシュボタンを貼り付けて、ボタンクリックするとセンタリングするようにつくってみたので
すが。指定の仕方は、不良PGさん と同じです。どういう状況だと駄目なのでしょう?


返信引用
不良PG
 不良PG
(@不良PG)
ゲスト
結合: 23年前
投稿: 188
 

ちなみにOSは、何で試しましたか?
この辺りってNT系と9x系で違いがあったような気がします・・(バグとか・・)

私は、VC6.0-SP5(NT4.0WS-SP6a)ですが・・


返信引用
sara
 sara
(@sara)
ゲスト
結合: 23年前
投稿: 99
 

> ちなみにOSは、何で試しましたか?
Windows2000で VC++6.0 SP5 です。


返信引用
不良PG
 不良PG
(@不良PG)
ゲスト
結合: 23年前
投稿: 188
 

Windows XPで試してみたら出来ました(^^;

Windows 2000以降では、出来るようですね

あとついでにWindows Meも試しましたが、駄目でした。


返信引用
sara
 sara
(@sara)
ゲスト
結合: 23年前
投稿: 99
 

本当ですね。私もNTで試してみましたが、センタリング出来ませんでした。
こんなところにOSの制限があるとは。確認できて良かったです。


返信引用
kazuma
 kazuma
(@kazuma)
ゲスト
結合: 24年前
投稿: 217
 

となると思いつくのは複数行で作って、改行を入力できなくする。(ペースト時も含めて)
といったところでしょうか。


返信引用
不良PG
 不良PG
(@不良PG)
ゲスト
結合: 23年前
投稿: 188
 

>となると思いつくのは複数行で作って、改行を入力できなくする。(ペースト時も含めて)
>といったところでしょうか。
そんなところでしょうが・・

1行で済むのならリッチエディットを無理に使わなくてもいいような気がするのは、私だけ?


返信引用
kazuma
 kazuma
(@kazuma)
ゲスト
結合: 24年前
投稿: 217
 

>1行で済むのならリッチエディットを無理に使わなくてもいいような気がするのは、私だけ?

ねぇ。
色やフォントを文字単位で設定したくてなおかつユーザー入力が必要なら、
リッチエディットを使う価値もあるでしょうが。
あとRTFを読み込んで表示する場合とか。

その辺どうなんでしょう? > spark さん


返信引用
spark
 spark
(@spark)
ゲスト
結合: 23年前
投稿: 9
Topic starter  

複数行で作って、改行を入力できなくする
というのもいいかもしれませんねー。
それまで思いつく方法は、入力文字の幅を調べて
左をスペースで埋める方法。見栄えはまあまあだけど
文字列に余計なスペースが入るし、ソースを書くのが面倒。
他に、透明なセンタリングのエディットボックスに文字を書き、
その下にリッチエディットを表示させるとか。

なぜリッチエディットなのかというと、

hREWnd = CreateWindowEx(WS_EX_CLIENTEDGE,RICHEDIT,",
WS_CHILD | WS_VISIBLE | SS_CENTER,
10,20,30,40,hWnd,NULL,hInst,NULL);

SendMessage(hREWnd, EM_SETBKGNDCOLOR, (WPARAM)0, (LPARAM)255);

これでエディットボックスの背景色を指定しているからです。
これではSS_CENTERが無効でした。

エディットボックスの背景色の指定とセンタリングが
同時に指定したくて、できなくて悩んでいる最中なんです。

MFCを知らないのですが、MFC なら CRichEditCtrl::SetParaFormat
というのはSDKだと別の書き方でできるのですか?


返信引用
固定ページ 1 / 3

返信する

投稿者名

投稿者メールアドレス

タイトル *

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