エディットボックスに大きな文字列をコピー&ペーストするには

解決


ハイパー初心者  2007-11-15 02:34:45  No: 66863

VISTA  .NET2005  MFCです。

メモ帳からコピー&ペーストで、大きな文字列をエディットボックスに移したいのですが、ユニコードで30000文字くらいしかペーストできません。

メモ帳→メモ帳はできるので、Copy関数ではなく、エディットボックスのキャパの問題だと思うのです。

アプリの中に文字列を取得したいので、別にエディットボックスにこだわりませんが、リッチエディットボックスでは40000文字も取得できませんでした。
一旦テキストファイルに保存してから読み込む、という方法もありますが、手間が多く、頻繁に繰り返すには、現実的ではないと思いました。

80000文字程度をコピーしたいのですが、方法はありますでしょうか。

アドバイスをお願いいたします。


みい  2007-11-15 03:24:24  No: 66864

> アプリの中に文字列を取得したいので
ソースの中でクリップボード内の文字列を直接取り込むのもあり?


ハイパー初心者  2007-11-15 03:34:02  No: 66865

みい さん、ありがとうございます。

> ソースの中でクリップボード内の文字列を直接取り込むのもあり?

「あり」です。
ただ、方法が分りません。

CString str;
str.Paste();

ではダメでした。


みい  2007-11-15 04:51:26  No: 66866

「VC クリップボード テキスト」
でググったら結構ヒットします。

http://ayusya.hp.infoseek.co.jp/ProgramCTip.html
とか


ハイパー初心者  2007-11-15 11:45:47  No: 66867

みい さん、ありがとうございます。

HANDLE hData = NULL;
LPSTR lpData;
OpenClipboard();
hData = GetClipboardData(CF_TEXT);
lpData = (LPSTR)GlobalLock(hData);

で、解決しました。


ハイパー初心者  2007-11-15 11:46:44  No: 66868

「解決」のチェックを忘れたので、もう一度アップします。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加