操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    前在網上有一位VB高手,用vb6.0做了一個光標跟隨的代碼,我現在把它改為vb.net的代碼。

    不過,這個光標跟隨的效果,在某些程序的文本編輯器里沒有效果,我猜想這些沒有效果的所謂光標,是假的光標,是模擬的光標。

    還有些場景,比如,瀏覽器里,有時有效果,有時沒有效果。我在瀏覽器的百度搜索框里,光標跟隨有些有效果,有時卻沒有效果,原因不明。

    下面是代碼

    Public Class Form1
        '獲得擁有輸入焦點的窗口的句柄
        Private Declare Function GetFocus Lib "user32" () As Integer
        '獲得前臺窗口的句柄。這里的“前臺窗口”是指前臺應用程序的活動窗口
        Private Declare Function GetForegroundWindow Lib "user32" () As Integer
        '通常,系統內的每個線程都有自己的輸入隊列。本函數(既“連接線程輸入函數”)允許線程和進程共享輸入隊列。連接了線程后,輸入焦點、窗口激活、鼠標捕獲、鍵盤狀態以及輸入隊列狀態都會進入共享狀態
    
        Private Declare Function AttachThreadInput Lib "user32" (ByVal idAttach As Integer, ByVal idAttachTo As Integer, ByVal fAttach As Integer) As Integer
        '獲取當前線程一個唯一的線程標識符
        Private Declare Function GetCurrentThreadId Lib "kernel32" () As Integer
        '獲取與指定窗口關聯在一起的一個進程和線程標識符
        Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Integer, ByRef lpdwProcessId As Integer) As Integer
        '暫停線索
        Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Integer)
    
        '判斷插入符的當前位置
        Private Declare Function GetCaretPos Lib "user32" (ByRef lpPoint As POINTAPI) As Integer
        Private Structure POINTAPI
            Dim x As Integer
            Dim y As Integer
        End Structure
    
        '判斷窗口內以客戶區坐標表示的一個點的屏幕坐標
        Private Declare Function ClientToScreen Lib "user32" (ByVal hwnd As Integer, ByRef lpPoint As POINTAPI) As Integer
        '這個函數能為窗口指定一個新位置和狀態。它也可改變窗口在內部窗口列表中的位置。該函數與DeferWindowPos函數相似,只是它的作用是立即表現出來的(在vb里使用:針對vb窗體,如它們在win32下屏蔽或最小化,則需重設最頂部狀態。如有必要,請用一個子類處理模塊來重設最頂部狀態
        Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Integer, ByVal hWndInsertAfter As Integer, ByVal x As Integer, ByVal y As Integer, ByVal cx As Integer, ByVal cy As Integer, ByVal wFlags As Integer) As Integer
        Private Const SWP_NOACTIVATE As Short=&H10S
        Private Const SWP_NOSIZE As Short=&H1S
        Private Const SWP_SHOWWINDOW As Short=&H40S
        Private Const HWND_TOPMOST As Short=-1
    
        Sub Gen()
            Dim FoHandle As Integer
            Dim PHandle As Integer
            Dim ThisPoint As Integer
            Dim Point As POINTAPI
            FoHandle=GetFocus
            PHandle=GetForegroundWindow
            AttachThreadInput(GetCurrentThreadId, GetWindowThreadProcessId(PHandle, 0), 1)
            ThisPoint=GetCaretPos(Point)
    
            ClientToScreen(FoHandle, Point)
    
            If FoHandle <> Me.Handle.ToInt32 Then
                System.Windows.Forms.Application.DoEvents()
                'Debug.Print Form1.Left
                SetWindowPos(Me.Handle.ToInt32, HWND_TOPMOST, Point.x, Point.y + 22, 0, 0, SWP_NOACTIVATE Or SWP_NOSIZE Or SWP_SHOWWINDOW)
    
                System.Windows.Forms.Application.DoEvents()
            End If
    
        End Sub
    
        Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
            Timer1.Interval=100 '設置成每秒觸發一次事件
            Call Gen()
        End Sub
    End Class
    

    運行環境:visual studio 2022 運行效果如下:

    <script src="https://lf6-cdn-tos.bytescm.com/obj/cdn-static-resource/tt_player/tt.player.js?v=20160723"></script>


    跟隨鼠標的位置,在VB.NET相對來說,比較簡單,可以用Cursor.Position.X 和 Cursor.Position.Y 得到鼠標的位置,我用計時器來實現窗口隨時跟隨鼠標的位置。

    代碼如下:

    Public Class Form1
        Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Integer, ByVal hWndInsertAfter As Integer, ByVal x As Integer, ByVal y As Integer, ByVal cx As Integer, ByVal cy As Integer, ByVal wFlags As Integer) As Integer
        Private Const HWND_TOPMOST As Short=-1
        Private Const SWP_NOACTIVATE As Short=&H10S
        Private Const SWP_NOSIZE As Short=&H1S
        Private Const SWP_SHOWWINDOW As Short=&H40S
    
        Dim WZX, WZY As Integer '鼠標的位置
    
        Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
            WZX=Cursor.Position.X ' 得到鼠標的位置
            WZY=Cursor.Position.Y
            SetWindowPos(Me.Handle.ToInt32, HWND_TOPMOST, WZX, WZY, 0, 0, SWP_NOACTIVATE Or SWP_NOSIZE Or SWP_SHOWWINDOW)
            '鼠標的縱坐標 + 30 ,防止窗體太靠近光標
        End Sub
    
    End Class

    效果如下:

    <script src="https://lf6-cdn-tos.bytescm.com/obj/cdn-static-resource/tt_player/tt.player.js?v=20160723"></script>

    對了,拖一個計時器到窗體上,先在屬性欄里,請把計時器的Enabled設置為True

    的教程一共九套及VBA漢英手冊一部,分為初級、中級、高級三大部分。是對VBA的系統講解,從簡單的入門,到數據庫,到字典,到高級的網抓及類的應用。大家在學習的過程中可能會存在困惑,這么多知識點該如何組織成自己的程序呢?VBA可否能組織一個大型的程序呢?如何讓VBA形成一個工具,拿來就用呢?在我的教程完結后,我陸續推出這類技術工具資料,這類工具整合了若干多的VBA知識點,讓大家感受到VBA之強大。工具資料共兩個系列,一個是YZ系列,一個是NZ系列。今日給大家介紹的是VBA_NZ系列工具NZ11:VBA光標跟隨策略

    分享成果,隨喜正能量】 人生有可為之事,也有不可為之事。可為之事,當盡力為之,此謂盡性;不可為之事,當盡心從之,此謂知命。。

    NZ11:VBA光標跟隨策略

    這個應用工具將展現給大家如何利用VBA代碼進行光標的跟隨操作,與其說是一個工具,不如說這是一個非常好的VBA實例應用教程。因為這個工具中集合了非常多的VBA操作,如窗體、類模塊、圖形操作、菜單的操作等等。

    工具的核心代碼我封裝在FollowMouse.xlam的加載項中,使用的時候可以直接打開這個加載項,就可以利用了。工具是開放源碼的(注意VBE的打開密碼是123456789,但強烈建議您不要輕易打開代碼窗口,即使打開也要留有備份)。

    一 文件的使用說明

    1 打開任意一個EXCEL文件,如下截圖:

    2 打開我提供的加載項文件FollowMouse.xlam,雙擊即可打開。

    3 此時EXCEL文件的界面變化:

    我們會發現多了一個菜單:NZFM, 兩個線條,這個兩個線條指向了鼠標當前位置。


    二 設置的修改

    我們點擊NZFM菜單:

    此時我們會發現有5個子菜單,我們點擊“格式設置‘:

    這里就可以設置線條和箭頭了。

    三 各種效果展示

    四 技術總結

    NZ11工具利用到的技術總結如下:

    1 自定義菜單欄的添加

    2 圖形的繪制

    3 圖形的修改

    4 顏色的拾取

    5 類模對象實例化的操作

    【分享成果,隨喜正能量】

    下面是NZ系列VBA應用工具:

    篇教程將展示如何制作一個可以跟隨鼠標移動導航菜單特效,enjoy~

    一、最終效果

    二、觸發介紹

    三、制作過程

    1. 首先我們創建按鈕層+背景層+焦點背景層

    完成圖層創建后,我們對鼠標移動到按鈕上,焦點背景跟隨鼠標移動的特效。

    點擊“菜單A”圖層,在觸發面板選擇“鼠標懸浮”,同時在該觸發效果下選擇“移動”選項,并且將坐標值設置為“X:88 / Y:80.75”。使用相同的方法,對“菜單B”和“菜單C”進行設置,坐標軸分別為:“X:187.5 / Y:80.75”和“X:287 / Y:80.75”。

    完成以上設置,我們可以看到跟隨鼠標移動的導航特效已經完成。

    下一步我們來制作點擊按鈕后,焦點背景圓角變化的特效。這里我們會用到“下擊”、“抬起”2個動作來模擬“鼠標點擊”和“松開鼠標”的動作。

    選擇“菜單A”圖層,在觸發面板選擇“下擊”,同時在該觸發效果下選擇“圓角”選項,并且將圓角值設置為50。

    完成了模擬鼠標點擊的特效,下一步我們使用相同的方法完成鼠標抬起的特效。選擇“菜單A”圖層,在觸發面板選擇“抬起”,同時在該觸發效果下選擇“圓角”選項,并且將圓角值設置為5。

    使用“菜單A”相同的設置去設置“菜單B”“菜單C”,設置完成后,就可以看到最終的演示效果。

    源文件下載

    作者,ioioi,ZQZ原型師,專注原型設計/交互設計

    本文由 @ioioi 原創發布于人人都是產品經理,未經許可,禁止轉載。

    題圖來自 Unsplash,基于CC0協議。

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有