Web development India freelance website designer developer India SEO

{\rtf1\ansi\ansicpg1252\deff0\deflang1044{\fonttbl{\f0\fnil\fcharset0 MS Sans Serif;}}
{\colortbl ;\red0\green0\blue255;}
\viewkind4\uc1\pard\f0\fs17 Preventing specific lines in a textbox from being edited
\par
\par The following code shows you how to prevent specific lines in a textbox from being edited by the user.
\par 'Purpose : Prevents users from editing specific lines in a MultiLine textbox
\par 'Inputs : txtProtect The textbox being edited
\par ' KeyAscii The Ascii value of the KeyPressed (from the KeyPress event of the textbox)
\par ' avLinesToProtect The list of lines to protect
\par 'Outputs : Returns the icon
\par 'Example : Below is an example of how to use this function (place in form containing a multiline textbox):
\par
\par
\par Option Explicit
\par
\par 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
\par
\par \cf1 'Private Sub Form_Load()\cf0
\par ' Text1.Text = "This Line is PROTECTED!!!" & vbNewLine & "This Line is PROTECTED!!!" & vbNewLine & "This Line is PROTECTED!!!" & vbNewLine & "This Line in NOT PROTECTED"
\par 'End Sub
\par 'Private Sub Text1_KeyPress(KeyAscii As Integer)
\par ' KeyAscii = TextBoxProtectLines(Text1, KeyAscii, 1, 2, 3) 'Protect first three lines
\par \cf1 'End Sub\cf0
\par
\par
\par \cf1 Function TextBoxProtectLines(txtProtect As TextBox, KeyAscii As Integer, ParamArray avLinesToProtect()) As Integer
\par \cf0 Dim lStartLine As Long, lEndLine As Long
\par Dim sLinesToProtect As String
\par Const EM_LINEFROMCHAR = &HC9
\par
\par On Error GoTo ErrFailed
\par 'Return the KeyAscii value
\par TextBoxProtectLines = KeyAscii
\par 'Determine the current line/s the user is editing
\par lStartLine = SendMessage(txtProtect.hwnd, EM_LINEFROMCHAR, txtProtect.SelStart, 0&) + 1
\par lEndLine = SendMessage(txtProtect.hwnd, EM_LINEFROMCHAR, txtProtect.SelStart + txtProtect.SelLength, 0&) + 1
\par
\par sLinesToProtect = Join(avLinesToProtect, "|")
\par
\par 'split the forbidden string into an array
\par If Len(sLinesToProtect) Then
\par sLinesToProtect = "|" & sLinesToProtect
\par If InStr(1, sLinesToProtect, "|" & lStartLine) > 0 Or InStr(1, sLinesToProtect, "|" & lEndLine) > 0 Then
\par 'User is trying to edit a protected line, return an empty ascii value
\par TextBoxProtectLines = 0
\par End If
\par End If
\par Exit Function
\par
\par ErrFailed:
\par Debug.Print "Error in TextBoxProtectLines: " & Err.Description
\par On Error GoTo 0
\par \cf1 End Function\cf0
\par }
Preventing specific lines in a textbox from being

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150

India web developer web development India | India web development company India ecommerce web developer