當前位置:成語大全網 - 漢語詞典 - VB截屏詞!幫我看壹下每個大步驟的主要功能!

VB截屏詞!幫我看壹下每個大步驟的主要功能!

選項顯式

private Declare Sub RtlMoveMemory Lib " kernel 32 "(目標為任意,源為任意,ByVal長度為Long)

私有聲明函數SendMessage Lib“user 32”別名“SendMessage a”(ByVal hwnd為Long,ByVal wMsg為Long,ByVal wParam為Long,lParam為Any)為Long

私有Const EM _ CHARFROMPOS = & ampHD7

私有常量EM _ LINEINDEX = & amp羥芐基苯並咪唑

私有常量EM _ LINELENGTH = & ampHC1

私人Const EM _ GETLINE = & ampHC4

private Sub text 1 _ MouseDown(Button為整數,Shift為整數,X為單值,Y為單值)

在文本框text1中按下鼠標,會彈出壹個對話框,顯示光標所在行的內容和光標所在的單詞。

尺寸位置壹樣長,lc壹樣長

Dim線為整數,CharPos為整數

pos = X /屏幕。TwipsPerPixelX + Y /屏幕。TwipsPerPixelY * 65536

LC = SendMessage(text 1 . hwnd,EM_CHARFROMPOS,0,ByVal pos)

Line = lc \ 65536

CharPos = lc Mod 65536

MsgBox "?= " & ampGetLine(Text1,Line)& amp;vbCrLf & amp;" Word = " &;GetWord(Text1,CharPos)

末端接頭

函數GetWord(文本作為文本框,位置作為整數)作為字符串

獲取光標所在的單詞。

Dim bArr()為字節,pos1為整數,pos2為整數,I為整數

bArr = StrConv(txt。文本,vbFromUnicode)

pos1 = 0: pos2 = UBound(bArr)

對於i = pos - 1至0步驟- 1

如果IsDelimiter(bArr(i))則

pos1 = i + 1

為...退出

如果…就會結束

然後

For i = pos To UBound(bArr)

如果IsDelimiter(bArr(i))則

pos2 = i - 1

為...退出

如果…就會結束

然後

如果pos2 & gt那麽pos1

ReDim bArr2(pos2 - pos1)作為字節

對於i = pos1至pos2

bArr2(i - pos1) = bArr(i)

然後

GetWord = StrConv(bArr2,vbUnicode)

其他

GetWord = " "

如果…就會結束

結束功能

函數IsDelimiter(ByVal Char As Byte)為布爾值

單詞'的分隔邊界符號

將S作為字符串變暗

S = Chr(Char)

IsDelimiter = False

如果S = " "或S = " "或S = " "還是S = "?"或者S = vbCr或S = vbLf

IsDelimiter = True

如果…就會結束

結束功能

函數GetLine(txt作為文本框,ByVal作為整數)作為字符串

獲取光標所在行的文本內容。

Dim S為字符串,Length為整數,pos為Long

GetLine = " "

pos = SendMessage(txt.hwnd,EM_LINEINDEX,Line,ByVal 0 & amp)

Length = SendMessage(txt.hwnd,EM_LINELENGTH,pos,ByVal 0 & amp)

S =字符串(長度,Chr(0))

RtlMoveMemory ByVal S,長度,2

If SendMessage(Text1.hwnd,EM_GETLINE,LINE,ByVal S)>那麽0

GetLine = S

如果…就會結束

結束功能

private Sub text 1 _ MouseMove(Button為整數,Shift為整數,X為Single,Y為Single)

當鼠標停留在壹個單詞上時,text1會顯示壹條提示消息(當前光標所在的單詞)。

尺寸位置壹樣長,lc壹樣長

Dim線為整數,CharPos為整數

pos = X /屏幕。TwipsPerPixelX + Y /屏幕。TwipsPerPixelY * 65536

LC = SendMessage(text 1 . hwnd,EM_CHARFROMPOS,0,ByVal pos)

Line = lc \ 65536

CharPos = lc Mod 65536

Text1。ToolTipText = get word(text 1,CharPos)

末端接頭

以上內容以字換字多行文本框。