VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2007/07/19(Thu) 17:34
投稿者R.S
Eメール
URL
タイトルRe^2: SendMessageのEM_FMTLINESについて

> 事象を再現できる最小のコードでも投稿して頂くと何方か試して頂けるかとは
> 思うのですが。

 失礼しました。サンプルコードを記入致します。

 フォームに以下の部品を貼り付けて下さい。
  テキストボックス「Text1」
  コマンドボタン「Command1」

 こちらの環境ですと、フォームのスケールモードをTwipとし、Text1の幅を1426、
高さを765とし、テキストボックスに「abcdefghijklmnopqrstuvwxyzabcde」と打ち
込みコマンドボタンを押すとソフト改行が挿入されません。文字列はコピペだと
挿入に成功します。
 知識不足で申し訳ありませんが、よろしくお願いします。

------以下ソース-------

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any) As Long

Private Const EM_FMTLINES = &HC8 'ソフト改行文字を設定/削除する定数

Private Sub Command1_Click()
    Dim str As String
    
    'ソフト改行文字を付加
    Call SendMessage(Text1.hwnd, EM_FMTLINES, 1&, ByVal 0&)

    str = Text1.Text
    If InStr(str, vbCr & vbCr & vbLf) = 0 Then
        MsgBox "ソフト改行は含まれていません"
    Else
        MsgBox "ソフト改行挿入成功"
    End If
    
End Sub


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -