欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

vb.net捕捉光標(biāo)位置,vb中光標(biāo)定位

VB.NET 如何獲得WebBrowser編輯模式時(shí)當(dāng)前所選擇的內(nèi)容和當(dāng)前光標(biāo)所在位置

根本就不可能,webbrowser的你說(shuō)的功能被封裝在控件里了,而且沒(méi)法調(diào)用,除非你重載(overload)不知道你要這個(gè)有什么用。如果是為了實(shí)現(xiàn)像safari或者火狐之類(lèi)的高亮搜索或者選擇一段文字然后彈出關(guān)于這段文字的搜索框的功能就不要用webbrowser,引為webbrowser實(shí)質(zhì)上是IE的內(nèi)核,所以這些功能基本沒(méi)有希望。等等吧,等VS2010出來(lái),其中的webbrowser版本就應(yīng)該是IE8的版本了。如果想做大就全部靠自己,不要相信什么控件。相信我吧,我學(xué).NET很多年了

10年積累的成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶(hù)對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶(hù)得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先做網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有湘潭免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

在VB.net中怎么獲取 鼠標(biāo)在屏幕中的坐標(biāo)

Private Declare Function GetCursorPos Lib "user32" (ByRef lpPoint As POINTAPI) As Long '全屏坐標(biāo)聲明

Private Declare Function ScreenToClient Lib "user32.dll" (ByVal hwnd As Int32, ByRef lpPoint As POINTAPI) As Int32 '窗口坐標(biāo)聲明

Private Structure POINTAPI '聲明坐標(biāo)變量

Public x As Int32 '聲明坐標(biāo)變量為32位

Public y As Int32 '聲明坐標(biāo)變量為32位

End Structure

'以上是聲明部分

'以下是窗口部分

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick '用時(shí)鐘控件來(lái)取坐標(biāo),窗口上放個(gè)Timer組件,Enabled為允許,周期為10到100毫秒均可

Dim P As POINTAPI '聲明坐標(biāo)變量

Dim xx, yy '聲明轉(zhuǎn)換要用到的變量

GetCursorPos(P) '獲取鼠標(biāo)在屏幕中的位置

ScreenToClient(Me.Handle.ToInt32, P) '轉(zhuǎn)換為本窗體的坐標(biāo)

xx = P.x.ToString '把X轉(zhuǎn)換成能顯示到文本框的字符串格式

yy = P.y.ToString '把Y轉(zhuǎn)換成能顯示到文本框的字符串格式

TextBox1.Text = xx + "和" + yy '文本框的內(nèi)容為X坐標(biāo)和Y坐標(biāo)

End Sub

VB.NET中如何獲取TextBox的光標(biāo)屏幕坐標(biāo)?

TextBoxBase.GetPositionFromCharIndex 方法

檢索控件內(nèi)指定字符索引處的位置。

此方法使您得以確定特定字符索引在控件中的位置。此方法可用于諸如顯示快捷菜單項(xiàng)或控件中某個(gè)單詞的幫助信息等任務(wù)。例如,如果希望當(dāng)用戶(hù)在控件中的單詞上右擊時(shí)向用戶(hù)顯示選項(xiàng)菜單,則可以使用此方法確定單詞的位置以正確顯示 ContextMenu 控件。

Control.PointToScreen 方法

將指定工作區(qū)點(diǎn)的位置計(jì)算成屏幕坐標(biāo)。

VB 如何獲得TextBox的當(dāng)前光標(biāo)位置

在很多的編輯軟件中有這樣一個(gè)功能,即當(dāng)用戶(hù)在編輯區(qū)中輸入字符或者按動(dòng)鼠標(biāo)使得光標(biāo)的位置改變時(shí),在編輯軟件下方的狀態(tài)欄中就能顯示出光標(biāo)所在位置的行和列的值。下面就介紹如何用VB編程實(shí)現(xiàn)在文本框中的這一功能。

首先,在Form中添加一個(gè)文本框(TextBox),將其MultiLine屬性設(shè)置為T(mén)rue,以便輸入多行文本;再在Form中添加兩個(gè)標(biāo)題欄(Label),以便顯示光標(biāo)位置;然后,在Form的代碼窗口中添加程序中的代碼。

Option Explici

Const EM_GETSEL = HB0

Const EM_LINEFROMCHAR = HC9

Const EM_LINEINDEX = HBB

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

Public Sub GetCaretPos(ByVal TextHwnd As Long, LineNo As Long, ColNo As Long)

Dim I As Long, j As Long

Dim lParam As Long, wParam As Long

Dim k As Long

'首先向文本框傳遞EM_GETSEL消息以獲取從起始位置到

'光標(biāo)所在位置的字符數(shù)

I = SendMessage(TextHwnd, EM_GETSEL, wParam, lParam)

j = I / 2 ^ 16

'再向文本框傳遞EM_LINEFROMCHAR消息根據(jù)獲得的字符

'數(shù)確定光標(biāo)以獲取所在行數(shù)

LineNo = SendMessage(TextHwnd, EM_LINEFROMCHAR, j, 0)

LineNo = LineNo + 1

'向文本框傳遞EM_LINEINDEX消息以獲取所在列數(shù)

k = SendMessage(TextHwnd, EM_LINEINDEX, -1, 0)

ColNo = j - k + 1

End Sub

Private Sub Form_Load()

Dim LineNo As Long, ColNo As Long

Call GetCaretPos(Text1.hwnd, LineNo, ColNo)

Label1.Caption = LineNo

Label2.Caption = ColNo

End Sub

Private Sub Form_Resize()

Text1.Width = Me.ScaleWidth

End Sub

Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)

Dim LineNo As Long, ColNo As Long

Call GetCaretPos(Text1.hwnd, LineNo, ColNo)

Label1.Caption = LineNo

Label2.Caption = ColNo

End Sub

Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

Dim LineNo As Long, ColNo As Long

Call GetCaretPos(Text1.hwnd, LineNo, ColNo)

Label1.Caption = LineNo

Label2.Caption = ColNo

End Sub

(程序)

運(yùn)行上面的程序,在TextBox中輸入字符或者按控制鍵來(lái)移動(dòng)光標(biāo)時(shí),你可以看到屏幕下面的Label中就能顯示出的光標(biāo)所在的位置。以上程序在Win 95,VB 5.0下運(yùn)行通過(guò)。

當(dāng)前標(biāo)題:vb.net捕捉光標(biāo)位置,vb中光標(biāo)定位
標(biāo)題URL:http://chinadenli.net/article49/dsepeeh.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)電子商務(wù)網(wǎng)站設(shè)計(jì)公司品牌網(wǎng)站設(shè)計(jì)網(wǎng)站營(yíng)銷(xiāo)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司