在VB中使用API函數(子類處理)

2021-01-10 太平洋電腦網
正在閱讀:在VB中使用API函數(子類處理)在VB中使用API函數(子類處理)

2004-02-14 09:34出處:eNet學院作者:佚名責任編輯:pjl

子類處理  當你一最大限度利用了VB所給你的並且還想知道更多的東西,或只是想更多地了解你自己的窗口,你將會發現子類處理的優勢.   子類處理是指用一個新的窗口函數來取代當前活動窗口函數.這個用戶自定義函數能處理任何需要的消息,並能調用原來的窗口函數,它將在原來的窗口函數之前收到各種消息.但原來的那個窗口處理函數依然存在,並沒有消失.如果你不想處理某條消息,你應該讓原來的窗口函數去處理它.   子類處理是通過調用SetWindowLong函數實現的,該函數將改變指定窗口的特殊屬性.下面是它的聲明: Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA"(ByVal hwnd As Long, ByVal nIndex As Long,ByVal dwNewLong As Long) As Long 第一個參數代表要進行子類處理的窗口,第二個參數應該是GWL_WNDPROC(-4),第三個參數是新的窗口函數的地址.參見回調和窗口函數一節. 此函數將在窗口取得焦點,發生事件,或其他情況下(如其他進程改變了系統的某些參數)被隨時調用. 如果發生錯誤SetWindowLong函數將返回0,否則將返回原來的窗口函數的地址.這個地址特別重要,你應該把它保存在一個變量中或其他地方.當你不處理某些消息時(實際上,你可能只處理不到1%的消息,其他的都將由原窗口函數處理),調用原來的窗口函數就需要該地址.

鍵盤也能翻頁,試試「← →」鍵

302 Found302 Found

The requested resource resides temporarily under a different URI.

Powered by Tengine

相關焦點

  • 跟3721比狠:VB6.0實現中文實名搜索
    中文實名無非是用ie的iurlsearchhook,但是3721可不是這麼玩的,它是使用api hook攔截ie commbox的消息,你根本就快不過他,嘿嘿,3721陰險吧,雖然我們不能實現全局鉤子,在vb中也只能使用sub class 子類技術,這個東西我們不玩,我們玩另外一種(說白了就是找個中間層,讓它翻譯成vb能夠認識的玩意)。
  • Azure 靜態 web 應用集成 Azure 函數 API
    前幾次我們演示了如何通過Azure靜態web應用功能發布vue跟blazor的項目(使用 Azure靜態web應用+Github全自動部署VUE站點、使用Azure靜態Web應用部署Blazor Webassembly應用)。
  • 在VB中如何使用正則表達式
    在「新建項目」對話框中,單擊「Standard Exe」,然後單擊「確定」。默認情況下將創建 Form1。4. 在「項目」菜單上單擊「引用」。5. 雙擊「Microsoft VBScript Regular Expressions 5.5」,然後單擊「確定」。6. 在工具箱中,雙擊「命令按鈕」。
  • 多態是什麼 父類如何調用子類的方法(美團面試))
    多態性在Object Pascal和C++中都是通過虛函數實現的。/02/java多態多態是同一個行為具有多個不同表現形式或形態的能力。多態就是同一個接口,使用不同的實例而執行不同操作,如圖所示:多態性是對象多種表現形式的體現。
  • VB 實用函數集
    該函數經常用作其它系統時鐘函數的參數。Hour(Time)返回指定時間的小時部分(0到23)。Minute(Time)返回指定時間的分鐘部分(0到59)。 Second(Time)返回指定時間的秒部分(0到59)。 Day(Date)返回月份中的日期數(1到31)。Month(Date)返回日期中的月份(1到12)。Year(Date)返回日期中的年度。
  • c++ 內存,虛函數,運算函數,三角函數
    :就是java中的抽象,純虛函數只有聲明沒有具體實現就是空方法,在子類中必須重新寫,虛函數就是在基類中寫了有實現。虛函數可以被直接使用,也可以被子類(sub class)重載以後以多態的形式調用,而純虛函數必須在子類(sub class)中實現該函數才可以使用,因為純虛函數在基類(base class)只有聲明而沒有定義3. 虛函數和純虛函數都可以在子類(sub class)中被重載,以多態的形式被調用。4.
  • 手把手教你學Numpy——常用API合集
    實際上numpy的內部會將高維數組轉化成一維之後再進行這個操作,我們可以reshape一下數組來進行驗證:這些只是api的基本用法,numpy當中支持的功能不僅如此。我們觀察一下這些函數會發現,它們的作用域都是一組數據,返回的是一組數據通過某種運算得到的結果。舉個例子,比如sum,是對一組數據的價格。std計算的是一組數據的標準差,這樣的函數我們稱為聚合函數。
  • Rocket-API 2.3.2 發布,基於 spring boot 的 API 敏捷開發框架
    功能新增或修改: 遠程部署重複判斷 添加mongo對象操作函數 mapping路徑匹配修改
  • 成員函數指針的一些奇怪行為
    如果你只是使用單繼承,則指向成員函數的指針實際上是指向了這個函數的起始地址,因為在單繼承中,所有基類都共享了同一個this指針。我們看看下面的代碼:因為它們都使用了同一個this指針,一個指向基類成員函數的指針可以被當作是指向Derived2的成員函數指針來使用,不需要進行任何的轉換操作。
  • 使用C#的後端Web API:循序漸進教程
    如何在VS中創建基於.NET的後端應用程式,該應用程式使用C#語言從Web API中提取。讓我們開始吧!為伺服器後端邏輯選擇語言的問題是幾乎每個開發人員最重要的問題之一,特別是對於初學者。注意routeTemplate: "api/{controller}/{id}",它解釋了API路由。現在,讓我們做一個基本的例子。在本教程中,我們將為用戶準備一個API,這是每個系統的一個非常通用的實體/對象。
  • C++的轉換手段並與explicit關鍵詞配合使用
    這樣的類型轉化是自動運行,無需程式設計師介入,因此,它們被稱為隱式轉換何時會發生隱式轉化:在下面的情況中,編譯器會自動的轉化運算對象的類型:在大多數表達式中,需要將比int類型小的整型值首先提升到較大的整數類型會進行隱式轉化在條件中,非布爾值轉換成布爾類型初始化過程中,初始值轉化成變量的類型;在賦值語句中,右側運算對象轉化成左側運算對象的類型函數調用時候也會發生類型轉化
  • Excel VBA之函數篇-3.20 半角or 全形 數據格式統一很重要
    看來如果這些童鞋的公司也有這樣的要求的話,估計就要遭殃咯,我們來看下右下角的輸入法,普遍常用的就是搜狗輸入法和QQ輸入法了,其實都是一樣的,看看截圖中的第二個圖標,就是逗號句號的那個他就是全形半角的開關,現在都是上面的黑點是藍色的,那就是全形,如果是中間是白色的,那就是半角了,那麼對於我們的輸入結果有什麼影響呢?
  • VLOOKUP函數中的零值處理
    使用VLOOKUP函數,避免不了各種錯誤,用得多遇上的錯誤也多。如下表格,出現「#N/A」錯誤,是因為查找不到,不存在這個人,可以用IFERROR函數處理,如果不清楚可以查看我以往的教程。方法一:【文件】,【選項】,【高級】,不勾選「在具有零值的單元格中顯示零」如下操作。這樣做的缺點是:該工作表中任意單元格的零值均不顯示。方法二:自定義格式,將F2單元格,自定義格式改為:「G/通用格式;-G/通用格式;」。分別設置正數的格式,負數的格式,零的格式,文本的格式。
  • 面向對象技術在單片機系統設計中的應用
    例如,在本系統中,A/D轉換模塊對象的接口方式和內部操作實現如下:(1)硬體方面:系統板提供了20個引腳的IDC接口來和A/D板進行交換數據,這樣無論A/D板上的A/D處理晶片是八位還是十二位,都可以使用這個統一的接口;(2)軟體方面:由A/D轉換允許函數void adchangeallow()、判斷A/D轉換是否完成函數int adchangeendif()和讀取A/D轉換後的值函數 int adchangeresult
  • excel中的經典查找引用函數之lookup函數的使用
    excel表格的眾多函數中,我們常用的查找引用函數大致有3個,分別是有縱向查找功能的vlookup函數、有橫向查找功能的hlookup函數和可以任意多條件查找引用的lookup函數。下面我們來介紹lookup函數的用法。
  • API統一、乾淨,新型EagerPy實現多框架無縫銜接
    PyTorch 使用了一個低級的 autograd API,該 API 允許但也需要對反向傳播的精確控制。TensorFlow 使用基於梯度磁帶(gradient tapes)的更高級 API。而 JAX 使用基於微分函數的相當高級的 API。所以,為了統一它們,EagerPy 模仿了 JAX 的高級功能 API,並在 PyTorch 和 TensorFlow 中重新實現。
  • 使用Pandas的resample函數處理時間序列數據的技巧
    時間序列數據在數據科學項目中很常見。 通常,可能會對將時序數據重新採樣到要分析數據的頻率或從數據中汲取更多見解的頻率感興趣。在本文中,我們將介紹一些使用Pandas resample()函數對時間序列數據進行重採樣的示例。 我們將介紹以下常見問題,並應幫助您開始使用時序數據操作。
  • Baidu與Google地圖API初探
    前天周六,有個好友過來玩,他說想在他的網站中加入地圖導航模塊,但不知道選擇哪個第三方Map API 在網上查了下Baidu、Google、QQ和MapBar等4種Map API(都是採用JS開放API),也查看了它們的SDK開發文檔,
  • 使用Flask部署機器學習模型
    我喜歡處理多個問題,對機器學習項目的各個階段都很感興趣。和我之前的許多人一樣,我被模型整個生命周期的構建所吸引。我和領域專家談過,項目經理和所有相關人員確保他們的投入被包括在模型中。但後來我遇到了一個障礙——我到底該如何把我的模型交給我的客戶呢?我不能給他們一個Jupyter notebook!我所學的一切都集中在模型構建組件上。