テキストボックスの各種操作2
テキストボックスの各種操作2のサンプルです。
サンプルの実行画面
ソースコード
[TextItem2.frm]
'SendMessage=>メッセージをウインドウに送る
'<引数>
'hWnd:ウインドウのハンドル
'wMsg:定数(EM_××参照)
'wParam:パラメータ
'lParam:0
'<戻り値>
'余り使わない
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Long) As Long
Const EM_SCROLL = &HB5 '上下にスクロールする
Const EM_SETSEL = &HB1 '指定の行を選択する
Const EM_LINEINDEX = &HBB '指定位置の先頭、終了位置を取得する
Const EM_LINESCROLL = &HB6 '指定量だけスクロールする
Const EM_GETFIRSTVISIBLELINE = &HCE '先頭行の行番号を取得
Const EM_GETLINECOUNT = &HBA '行数を取得
Private Sub Command1_Click(Index As Integer)
'テキストをスクロールする。
'第四引数と第五引数の値
'--------------------
'0->上へ1行
'1->下へ1行
'2->上へ1ページ
'3->下へ1ページ
'--------------------
Call SendMessage(Text1.hwnd, EM_SCROLL, ByVal Index, ByVal Index)
End Sub
Private Sub Command2_Click()
Dim StartPostion As Long '指定の行の先頭位置
Dim EndPostion As Long '指定の行の終了位置
'指定の行の先頭位置を取得
StartPosition = SendMessage(Text1.hwnd, EM_LINEINDEX, 10, 0)
'指定の位置の終了位置を取得
EndPosition = SendMessage(Text1.hwnd, EM_LINEINDEX, (10 + 1), 0) - 1
'指定の行を選択表示にする
Call SendMessage(Text1.hwnd, EM_SETSEL, StartPosition, ByVal EndPosition)
'フォーカスを移す
Text1.SetFocus
End Sub
Private Sub Command3_Click()
Dim Total As Long '行数
Dim TopID As Long '先頭の行番号
Dim LineTopID As Long '指定行の先頭の文字位置
Dim Jump As Long 'ジャンプしたい行数
Jump = 30
'行数を取得
Total = SendMessage(Text1.hwnd, EM_GETLINECOUNT, 0, 0)
'先頭の行番号を取得
TopID = SendMessage(Text1.hwnd, EM_GETFIRSTVISIBLELINE, 0, 0)
'指定行の先頭の文字位置を取得
LineTopID = SendMessage(Text1.hwnd, EM_LINEINDEX, Jump, 0)
'指定の行を選択する(範囲の指定)
Call SendMessage(Text1.hwnd, EM_SETSEL, LineTopID, LineTopID)
'指定の行にジャンプする
Call SendMessage(Text1.hwnd, EM_LINESCROLL, 0, ByVal Jump - TopID)
End Sub
'初期設定
Private Sub Form_Load()
For i = 0 To 50
If i <> 50 Then
Text1.Text = Text1.Text & i & "行目 " & "テキストボックスの各種操作②" & vbCrLf
Else
Text1.Text = Text1.Text & i & "行目 " & "テキストボックスの各種操作②"
End If
Next
End Sub
ソースコード一式のダウンロード
vbapi_textitem2.zip 1.57 KB (1,612 バイト)
このサンプルの動作環境について
このサンプルは 「Windows98」及び「Microsoft Visual Basic 5.0 Professional Edition」で確認しております。環境が異なる場合は正常に動作しない場合もございますのでご了承下さい。
スポンサーリンク
関連記事
| 前の記事: | テキストボックスの各種操作1 |
| 次の記事: | 指定の位置に文字列を出力する |
公開日:2015年03月05日
記事NO:00406
プチモンテ ※この記事を書いた人
![]() | |
![]() | 💻 ITスキル・経験 サーバー構築からWebアプリケーション開発。IoTをはじめとする電子工作、ロボット、人工知能やスマホ/OSアプリまで分野問わず経験。 画像処理/音声処理/アニメーション、3Dゲーム、会計ソフト、PDF作成/編集、逆アセンブラ、EXE/DLLファイルの書き換えなどのアプリを公開。詳しくは自己紹介へ |
| 🎵 音楽制作 BGMは楽器(音源)さえあれば、何でも制作可能。歌モノは主にロック、バラード、ポップスを制作。歌詞は抒情詩、抒情的な楽曲が多い。楽曲制作は🔰2023年12月中旬 ~ | |









