文字列の表示領域を設定          <TOP>


エディットボックス内の文字列表示領域を設定します。

SendMessage ウィンドウにメッセージを送信

EM_SETRECT(&HB3) テキスト表示領域を設定

 

参照
エディットボックスのフォーマット矩形を設定
 
'================================================================
'= 文字列の表示領域を設定
'=    (EM_SETRECT.bas)
'================================================================
#include "Windows.bi"

Type RECT
    Left   As Long
    Top    As Long
    Right  As Long
    Bottom As Long
End Type

' ウィンドウにメッセージを送信。この関数は、指定したウィンドウのウィンドウプロシージャが処理を終了するまで制御を返さない
Declare Function Api_SendMessage& Lib "user32" Alias "SendMessageA" (ByVal hWnd&, ByVal wMsg&, ByVal wParam&, lParam As Any)

#define EM_SETRECT &HB3                 'テキスト表示領域を設定

Var Shared Edit1 As Object

Edit1.Attach GetDlgItem("Edit1") : Edit1.SetFontSize 14

'================================================================
'=
'================================================================
Declare Sub MainForm_Start edecl ()
Sub MainForm_Start()
    Var rct As RECT                  '表示する領域
    Var x As Long
    Var y As Long
    Var Ret As Long

    x = Edit1.GetWidth / 8
    y = Edit1.GetHeight / 10

    rct.Left = x
    rct.Top = y
    rct.Right = Edit1.GetWidth - x
    rct.Bottom = Edit1.GetHeight - y

    Ret = Api_SendMessage(Edit1.GethWnd, EM_SETRECT, ByVal 0, rct)
    Edit1.SetFocus
End Sub

'================================================================
'=
'================================================================
While 1
    WaitEvent
Wend
Stop
End