PDA

View Full Version : نحوه JUSTIFY کردن در داخل RICHTEXTBOX کدمنو چک کنید



Amin_tus
چهارشنبه 14 بهمن 1383, 18:44 عصر
Imports System
Imports System.Windows.Forms
Imports System.Drawing
Imports System.Runtime.InteropServices
Public Class ARichtextbox
Inherits RichTextBox
<StructLayout(LayoutKind.Sequential)> _
Private Structure Struct_ParaFormat
Public cbsize As Integer
Public dwMask As Long
Public dwNumbering As Short
Public wReserved As Integer
Public dxStartIndent As Integer
Public dxRightIndent As Integer
Public dxOffset As Long
Public wAlignment As Short
Public cTabCount As Short
<MarshalAs(UnmanagedType.ByValArray, SizeConst:=32)> _
Public rgxTabs() As Integer
End Structure
<DllImport("user32.dll")> _
Private Shared Function SendMessage(ByVal hWnd As IntPtr, _
ByVal msg As Int32, _
ByVal wParam As Int32, _
ByRef lParam As IntPtr) As Int32

End Function
'ParaFormat
Private Const WM_USER As Int32 = &H400&
Private Const PFM_ALIGNMENT As Int32 = &H8
Private Const PFM_NUMBERING As Int32 = &H20
Private Const PFM_OFFSET As Int32 = &H4
Private Const PFM_OFFSETINDENT As Int32 = &H80000000
Private Const PFM_RIGHTINDENT As Int32 = &H2
Private Const PFM_RTLPARA As Int32 = &H10000
Private Const PFM_STARTINDENT As Int32 = &H1
Private Const PFM_TABSTOPS As Int32 = &H10

'
Private Const SCF_SELECTION As Int32 = &H1

'''
Private Const EM_SETPARAFORMAT As Int32 = (WM_USER + 71)
Private Const PFA_LEFT = 1
Private Const PFA_RIGHT = 2
Private Const PFA_CENTER = 3
Private Const PFA_JUSTIFY = &H4

Public Function Align()
Dim cr As Struct_ParaFormat
cr.cbsize = Marshal.SizeOf(cr)
cr.dwMask = PFM_ALIGNMENT
cr.wAlignment = PFA_JUSTIFY
cr.dxOffset = 10

Dim lParam As IntPtr
lParam = Marshal.AllocCoTaskMem(Marshal.SizeOf(cr))
Marshal.StructureToPtr(cr, lParam, False)

Return SendMessage(Handle, EM_SETPARAFORMAT, SCF_SELECTION, lParam)
End Function
End Class