No.2ベストアンサー
- 回答日時:
★エディット・ボックスに文字列を行単位で追加していくのかな?
・この場合はエディット・ボックスの機能で『文字列の置換』があります。
この機能を利用して数値を文字列に変換した内容を行単位で追加していけます。
方法は『EM_REPLACESEL』というメッセージを利用します。このメッセージは
エディット・ボックスの範囲選択された文字列を指定の文字列に置換する処理を
行いますが、カーソル位置にある場所に文字列を挿入する事も可能です。
・挿入する場合は、最初にテキストのサイズを取得して、カーソル位置を最後に移動
させます。→『EM_SETSEL』メッセージで始点、終点を同じにするとカーソルの移動
になります。その後に『receivedChar』の文字列を挿入(追加)します。
下にそのサンプルを載せます。
サンプル:
LONG lSize;
_itoa( inputData[i], receivedChar, 16 );
lSize = (LONG)SendDlgItemMessage( argThr1->hWnd, IDC_EDIT2, WM_GETTEXTLENGTH, 0, 0 );
SendDlgItemMessage( argThr1->hWnd, IDC_EDIT2, EM_SETSEL, (WPARAM)lSize, (LPARAM)lSize );
SendDlgItemMessage( argThr1->hWnd, IDC_EDIT2, EM_REPLACESEL, TRUE, (LPARAM)receivedChar );
SendDlgItemMessage( argThr1->hWnd, IDC_EDIT2, EM_REPLACESEL, TRUE, (LPARAM)TEXT("\r\n") );
最後に:
・上記の方法で複数行のエディット・ボックス内に文字列を行単位で追加していけます。
ただし、このときに改行コードも追加します。これをしないと行単位になりません。
この改行コードの追加が最後の『TEXT("\r\n")』という1行です。
・もちろん『receivedChar』の文字列に『TEXT("\r\n")』を追加すれば最後の1行は必要ありません。
・あと『_itoa』関数よりも『wsprintf』関数の『%X』書式制御で変換することをお勧めします。
これは『_itoa』関数が VC 環境でしか利用できないため、他の処理系ではコンパイルできなくなる
可能性があるからです。ずっと VC 環境でプログラミングするのならばいいですけど。
・以上。おわり。→下の『参考URL』もどうぞ。
参考URL:http://www.winapi-database.com/Message/EM/EM_REP …
No.1
- 回答日時:
★最初に改行は『\r\n』で表現します。
・Windows の OS は改行を CR+LF の2バイトで表します。それでエディット・ボックスに
『\r\n』で改行として扱われます。よって文字列に『ABC\r\nDEF\r\n』とすれば2行になります。
ただし、エディット・ボックスのスタイルが複数行に設定されていないとダメですよ。
下にサンプルを載せます。
サンプル:
TCHAR szBuff[ 256 ];
wsprintf( szBuff, TEXT("0x%X\r\n2行目\r\n3行目\r\n"), inputData[i] );
SetDlgItemText( argThr1->hWnd, IDC_EDIT2, szBuff );
表示結果:
0xABCD
2行目
3行目
最後に:
・エディット・ボックスのスタイルに『ES_MULTILINE』を指定して下さい。
設定方法は『CreateWindow』でスタイルを指定するか、ダイアログのエディット・ボックスに
『ES_MULTILINE』をチェック(TRUE)して下さい。
・以上。おわり。
すみません。
_itoa(inputData[i], receivedChar, 16 );//数値を文字列に変換
SetDlgItemText(argThr1->hWnd, IDC_EDIT2, receivedChar);
で表示するごとに、改行されて表示され続ける方法はないですか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/03/09 10:07
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/04/21 08:59
- Visual Basic(VBA) VBAにてメール作成した際、一部指定箇所のみ赤文字にしたいです。 下記の内容ですと作成されたメール本 1 2022/04/27 13:31
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 1 2022/06/18 21:20
- その他(プログラミング・Web制作) プログラミング pythonの問題について 2 2022/04/19 00:41
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/15 08:30
- Excel(エクセル) EXCELで同一セル内で自動的に改行されてしまう(難問) 6 2023/04/16 00:51
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/08 09:05
- Excel(エクセル) エクセルの数式で教えてください。 5 2023/02/10 15:11
- Excel(エクセル) エクセルの数式について教えてください。 2 2023/03/04 09:54
このQ&Aを見た人はこんなQ&Aも見ています
-
外出時に「待たせる妻」vs イライラする「待つ夫」は日本だけ?見習いたい海外事情
夫の家事参加に積極的なイメージのある海外でも、同様の事例はあるのか。結婚カウンセラーの佐竹悦子さんに伺ってみた。
-
CStringのFindで文字列検索を行いたいのですが
C言語・C++・C#
-
ダイアログ内コントロールの位置取得について
C言語・C++・C#
-
エディットコントロールでEnter押した時の動作
C言語・C++・C#
-
-
4
ダイアログの上のテキストボックスの、初期値を設定する方法が分かりません・・・・
C言語・C++・C#
-
5
MFCダイアログボックスを最前面に表示
C言語・C++・C#
-
6
エディットボックスのフォントを変えたい
C言語・C++・C#
-
7
Win32APIでエディットボックスへの文字列表示を早くしたい
C言語・C++・C#
-
8
エディットボックスの改行
C言語・C++・C#
-
9
画面を強制的に再描画させる方法
C言語・C++・C#
-
10
コンボボックス表示文字列を取得する場合
C言語・C++・C#
-
11
エディットボックスの入力制限について
C言語・C++・C#
-
12
CStringの文字列検索&抜き出しについて
C言語・C++・C#
-
13
CEdit の内容が変わった時にメッセージを表示させたい
C言語・C++・C#
-
14
EDITコントロールで入力できる文字を制限するには?
C言語・C++・C#
-
15
CString から LPCTSTRの型に変換
C言語・C++・C#
-
16
MFCでOnPaintのタイミング
C言語・C++・C#
-
17
CStringからchar*への型変換について教えてください。
C言語・C++・C#
-
18
エディットの文字サイズ変更
C言語・C++・C#
-
19
文字列がNULLか空文字列かの判定
C言語・C++・C#
-
20
charからLPTSTRへの変換方法
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エスケープ文字の復帰(¥r)と...
-
VBAのコマンドボタンの文字列の...
-
ソースコードの1行が長いとき...
-
テキストファイルから改行コー...
-
1行ごとに取得して、その改行...
-
【VBA】エクセルで最後の不要な...
-
JAVA System.out.println の ...
-
C++で空Enterの入力を判...
-
jsp 改行コードで改行させて表...
-
エクセルVBA 文字列領域が不足...
-
C言語について。
-
改行コードについて
-
C# DataGridViewのセルを改行禁...
-
改行コードが半角スペースにな...
-
CSVファイルの文字項目に改行コ...
-
JavaMail,本文中の改行について
-
LaTeX: captionの中で改行した...
-
fscanfについて
-
改行コード2種類を混在させたい
-
【VB6】項目内に改行コードを含...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAのコマンドボタンの文字列の...
-
ソースコードの1行が長いとき...
-
エスケープ文字の復帰(¥r)と...
-
COBOLの改行
-
改行について
-
最終行の改行について
-
C++で空Enterの入力を判...
-
【VBA】エクセルで最後の不要な...
-
jsp 改行コードで改行させて表...
-
C++でのCRLFについて
-
ファイルから読み取った改行文...
-
テキストファイルから改行コー...
-
ExcelVBAでメールを作成してメ...
-
awkで改行を除いて文字列を抜き...
-
エクセルVBA 文字列領域が不足...
-
VBAでCSVをExcelに取り込む時に...
-
コンボボックスの項目中に改行を
-
JavaDoc コメントの改行について
-
Excel VBAからBeckyを起動して...
-
改行を読み飛ばす
おすすめ情報