-
Notifications
You must be signed in to change notification settings - Fork 2
/
Find.frm
213 lines (179 loc) · 5.58 KB
/
Find.frm
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
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
VERSION 5.00
Begin VB.Form frmFind
Appearance = 0 'Flat
BackColor = &H00C0C0C0&
BorderStyle = 3 'Fixed Dialog
Caption = "Buscar"
ClientHeight = 1185
ClientLeft = 2805
ClientTop = 4005
ClientWidth = 5790
BeginProperty Font
Name = "MS Sans Serif"
Size = 8.25
Charset = 0
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H80000008&
Icon = "Find.frx":0000
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
PaletteMode = 1 'UseZOrder
ScaleHeight = 79
ScaleMode = 3 'Pixel
ScaleWidth = 386
ShowInTaskbar = 0 'False
Begin VB.PictureBox picDraw
Appearance = 0 'Flat
AutoRedraw = -1 'True
BackColor = &H80000005&
ForeColor = &H00C0FFFF&
Height = 1140
Left = 0
ScaleHeight = 74
ScaleMode = 3 'Pixel
ScaleWidth = 22
TabIndex = 6
Top = 0
Width = 360
End
Begin VB.TextBox txtFind
Height = 285
Left = 1155
TabIndex = 1
Top = 150
Width = 3405
End
Begin VB.CommandButton cmdCancel
Appearance = 0 'Flat
BackColor = &H00C0C0C0&
Cancel = -1 'True
Caption = "&Cancelar"
Height = 435
Left = 4665
TabIndex = 5
Top = 600
Width = 1095
End
Begin VB.CommandButton cmdFind
Appearance = 0 'Flat
BackColor = &H00C0C0C0&
Caption = "B&uscar"
Enabled = 0 'False
Height = 435
Left = 4665
TabIndex = 4
Top = 120
Width = 1095
End
Begin VB.CheckBox chkWholeWord
Caption = "S&olo palabras completas"
Height = 255
Left = 435
TabIndex = 3
Top = 870
Width = 2805
End
Begin VB.CheckBox chkMatchCase
Caption = "&Según Modelo"
Height = 255
Left = 435
TabIndex = 2
Top = 570
Width = 1905
End
Begin VB.Label Label2
AutoSize = -1 'True
Caption = "&Buscar:"
Height = 195
Left = 435
TabIndex = 0
Top = 180
Width = 660
End
End
Attribute VB_Name = "frmFind"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Private mGradient As New clsGradient
'busca texto seleccionado
Sub FindText()
On Local Error GoTo SalirFindText
Dim lWhere, lPos As Long
Dim sTmp As String
Dim texto As String
Dim iComp As Integer
If gbMatchCase = 0 Then iComp = 1 Else iComp = 0
If gbLastPos = 0 Then
lPos = 1
Else
lPos = gbLastPos
End If
texto = UCase$(Main.txtRutina.text)
Do While lPos < Len(texto)
sTmp = Mid$(texto, lPos, Len(texto))
lWhere = InStr(sTmp, UCase$(gsFindText))
lPos = lPos + lWhere
If lWhere Then ' If found,
Main.txtRutina.SetFocus
Main.txtRutina.SelStart = lPos - 2 ' set selection start and
Main.txtRutina.SelLength = Len(gsFindText) ' set selection length. Else
gbLastPos = lPos
Exit Do
Else
gbLastPos = 0
Exit Do 'we are ready
End If
Loop
Exit Sub
SalirFindText:
gbLastPos = 0
Err = 0
End Sub
Private Sub cmdCancel_Click()
Unload Me
End Sub
Private Sub cmdFind_Click()
gbMatchCase = chkMatchCase.Value
gbWholeWord = chkWholeWord.Value
gsFindText = txtFind.text
Call FindText
End Sub
Private Sub Form_Load()
CenterWindow hwnd
Call SetWindowPos(Me.hwnd, HWND_TOPMOST, Me.Left, Me.Top, Me.Width, Me.Height, SWP_NOMOVE + SWP_NOSIZE + SWP_NOACTIVATE)
chkMatchCase.Value = gbMatchCase
chkWholeWord.Value = gbWholeWord
txtFind.text = gsFindText
txtFind.SelLength = Len(gsFindText)
With mGradient
.Angle = 90 '.Angle
.Color1 = 16744448
.Color2 = 0
.Draw picDraw
End With
Call FontStuff(Me.Caption, picDraw)
picDraw.Refresh
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Call SetWindowPos(Me.hwnd, HWND_NOTOPMOST, Me.Left, Me.Top, Me.Width, Me.Height, SWP_NOMOVE + SWP_NOSIZE + SWP_NOACTIVATE)
End Sub
Private Sub Form_Unload(Cancel As Integer)
Set mGradient = Nothing
Set frmFind = Nothing
End Sub
Private Sub txtFind_Change()
cmdFind.Enabled = (txtFind.text <> "")
End Sub
Private Sub txtFind_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
Call cmdFind_Click
End If
End Sub