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

解決


ハイパー初心者  2007-11-14 17:34:45  No: 66863  IP: 192.*.*.*

VISTA  .NET2005  MFCです。

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

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

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


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

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

編集 削除
みい  2007-11-14 18:24:24  No: 66864  IP: 192.*.*.*

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

編集 削除
ハイパー初心者  2007-11-14 18:34:02  No: 66865  IP: 192.*.*.*

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

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

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

CString str;
str.Paste();

ではダメでした。

編集 削除
みい  2007-11-14 19:51:26  No: 66866  IP: 192.*.*.*

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

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

編集 削除
ハイパー初心者  2007-11-15 02:45:47  No: 66867  IP: 192.*.*.*

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

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

で、解決しました。

編集 削除
ハイパー初心者  2007-11-15 02:46:44  No: 66868  IP: 192.*.*.*

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

編集 削除