エディットボックスの指定位置から文字列取得

解決


ひで  2008-08-05 02:12:06  No: 68811

よろしくお願い致します。

エディットボックスに下記のように複数行文字列が出力されていますが、
この内容を一行ずつ取得したいのですがどのようにすればよいでしょうか。

-----------
あいうえお
かきくけこ
さしすせそ
-----------

初歩的な質問ですみませんがよろしくお願いします。


maru  2008-08-05 03:23:43  No: 68812

> この内容を一行ずつ取得したいのですがどのようにすればよいでしょうか。
MFCならCEdit::GetLine()というその物がありますけど。

Windows SDKなら
lResult = SendMessage(      // returns LRESULT in lResult
    (HWND) hWndControl,      // handle to destination control
    (UINT) EM_GETLINE,      // message ID
    (WPARAM) wParam,      // = (WPARAM) () wParam;
    (LPARAM) lParam      // = (LPARAM) (LPCTSTR) lParam;
);


夏みかん  2008-08-05 05:34:59  No: 68813

SDK なら Windowsx.h に Edit_GetLine マクロ関数があるよ。
int Edit_GetLine( HWND hWnd, int no, LPTSTR lpBuff, WORD wMax );

EM_GETLINE メッセージならバッファの最初に取得可能な文字数をセット。
TCHAR szBuff[ 1024 ];

((WORD*)szBuff)[ 0 ] = 1024;
SendMessage( hWnd, EM_GETLINE, (WPARAM)no, (LPARAM)szBuff );
※上の記述はリトルエンディアン専用かもね。


かもねぎ  2008-08-05 16:41:27  No: 68814

ここにコードがありました
http://freezer.blog22.fc2.com/blog-entry-35.html


ひで  2008-08-05 22:29:08  No: 68815

maruさん、夏みかんさんどうもありがとうございました。環境を書き忘れてしまい申し訳ありません。MFCでした。GetLineを使用して解決致しました。
ありがとうございました(^−^)


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

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






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