網站首頁 暱稱 網名 字數網名 簽名 頭像 說說 手機桌布 圖片 計算機網路

關於鍵盤速度的一點國小問

欄目: 熱門手遊 / 釋出於: / 人氣:2.91W
關於鍵盤速度的一點國小問
鍵盤加速器函式(Keyboard Accelerator)
函式功能:拷貝加速鍵表。拷貝加速鍵表函式拷貝指定的加速鍵表。此函式用於獲得與一加速鍵表控制代碼相對應的加速鍵表資料,或用於確定加速鍵表資料的大小。
函式原型:int CopyAcceleratorTable(HACCEL hAccelSRC,LPACCEL IpAcceIDst,int cAccelEntries);
引數:
hAccelSrc:欲拷貝的加速鍵表的控制代碼。
IpAccelDst:指向ACCEL結構陣列的指標,該結構陣列中存在著將要拷貝的加速鍵表資訊。
cAccelEntries:指定由IpAcceIDst引數指向的欲拷貝到緩衝區的ACCEL結構的個數。
返回值:如果IpAccelDst為空,則返回值給出初始加速鍵表入口的個數。否則,給出己拷貝的加速鍵表的入口個數。
速查:WindOWS NT:3.1及以上版本:Windows:95及以上版本;Windows CE:不支援;標頭檔案:Winuser.h;庫檔案:;Unicode:在Windows NT上實現為Unicode和ANSI兩種版本。

  CreateAcceleratorTable

函式功能:建立加速鍵表。該函式建立一個加速鍵表。
函式原型:HACCEL CreateAcceleratorTable(LPACCEL lpaccl,int cEntries);
引數:
Ipaccl:指向描述加速鍵表的ACCEL結構陣列的指標。
cEntires:指定陣列中ACCEL結構的個數。
返回值:如果函式呼叫成功,則返回值為所建立的加速鍵表的控制代碼;否則,返回值為空。若想獲得更多的錯誤資訊,請呼叫GetLastError。
備註:關閉應用程式之前,必須呼叫DestroyAcceeleratorTable函式撤消所有由CreatedAccelerstorTable函式建立的加速鍵表。
速查:Windows NT:3.1u及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本:標頭檔案:winuser.h;庫檔案:; Unicode:在Windows NT上實現為Unicode和ANSI兩種版本。

DestroyAcceleratorTable

函式功能:撤消加速鍵表。該函式撤消一個加速鍵表。在關閉應用程式之前,必須使用該函式撤消所有由DestroyAcceleratorTable函式建立的加速鍵表。
函式原型: BOOL DestroyAcceleratorTable(HACCEL hAccel);
引數:
hAccdel:將被撤消的加速鍵表的控制代碼。該控制代碼必須己通過呼叫DestroyAcceleratorTable 函式而建立。
返回值:若函式呼叫成功,則返回非零值,若函式呼叫失敗,則返回值為零。若要獲得更多的錯誤資訊,可以呼叫GetLastError函式。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;標頭檔案:Windows.h;庫檔案:。

  LoadAccelerators

函式功能:調入加速鍵表。該函式調入指定的加速鍵表。
函式原型:HACCEL LoadAccelerators(HINSTANCE hlnstance,LPCTSTR lpTableName);
引數:
hlnstance:模組的一個事例的控制代碼,該模組的可執行檔案中包含將要調入的加速鍵表。
IpTableName:指向一個以空結尾的字串的指標,該字串包含了即將調入的加速鍵表的名字。另一種可選的方案是,該引數可以在加速鍵表資源的低位字中指定資源識別符號,而高位字中全零。MADEINTRESOURCE巨集可被用於建立該值。
返回值:若函式呼叫成功,則返回非零值。若函式呼叫失敗,則返回值為零。若要獲得更多的錯誤資訊,可以呼叫GetLastError函式。
備註:若加速鍵表尚未裝入,該函式可從指定的可執行檔案中將它裝入。從資源中裝入的加速鍵表,在程式結束時可自動釋放。Windows CE:資源不被拷貝到RAM中,因而不能被修改。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;標頭檔案:winuser.h;庫檔案:;Uncode:在Windows NT上實現為Unicode和ANSI兩種版本。

 TranslateAccelerator

函式功能:翻譯加速鍵表。該函式處理選單命令中的加速鍵。該函式將一個WM-DEYDOUN或WM-SYSDEYDOWN訊息翻譯或一個WM-COMMAND或WM-SYSCOMMAND訊息(如果在給定的加速鍵表中有該鍵的入口),然後將WM-COMMAND或WM-SYSCOMMAND訊息直接送到相應的視窗處理過程。
TranslateAccelerator直到視窗過程處理完訊息後才返回。
函式原型:int TranslateAccelerator(HWND hWnd,HACCEL hAccTable,LPMSG IpMsg);
引數:
hWnd:視窗控制代碼,該視窗的訊息將被翻譯。
hAccTable:加速鍵表控制代碼。加速鍵表必須由LoadAccelerators函式呼叫裝入或由CreateAccd_eratorTable函式呼叫建立。
LpMsg:MSG結構指標,MSG結構中包含了從使用GeTMessage或PeekMessage函式呼叫執行緒訊息佇列中得到的訊息內容。
返回值:若函式呼叫成功,則返回非零值;若函式呼叫失敗,則返回值為零。若要獲得更多的錯誤資訊,可呼叫GetLastError函式。
備註:為了將該函式傳送的訊息與選單或控制傳送的訊息區別開來,使WM_COMMAND或WM_SYSCOMMAND訊息的wParam引數的高位字值為1。用於從視窗選單中選擇選單項的加速鍵組合被翻譯成WM-SYSCOMMAND訊息:所有其他的加速鍵組合被翻譯成WM-COMMAND。若TransLateAccelerator返回非零值且訊息已被翻譯,應用程式就不能呼叫TranslateMessage函式對訊息再做處理。每個加速鍵不一定都對應於選單命令。若加速鍵命令對應於選單項,則WM-INITMEMU和WM-INITMENUPOPUP訊息將被髮送到應用程式,就好像使用者正試圖顯示該選單。然而,如下的任一條件成立時,這些訊息將不被髮送:
           視窗被禁止,選單項被禁止。
    加速鍵組合無相應的視窗選單項且視窗己被最小化。滑鼠抓取有效。有關滑鼠抓取訊息,參看SetCapture函式。若指定的視窗為活動視窗且視窗無鍵盤焦點(當視窗最小化時一般是這種情況),TranslatMssage翻譯WM-SYSDEYUP和WM-SYSKEYDOWN訊息而不是WM-DEYUP和WM-DEYDOWN訊息。
當按下相應於某選單項的加速鍵,而包含該選單的視窗又已被最小化時,TranslateMessage不傳送WM-COMMAND訊息。但是,若按下與視窗選單或某單項的任一項均不對應的加速鍵時,TranslateMessage將傳送一WM-COMMAND訊息,即使視窗己被最小化。
   Windows CE:所有的加速鍵訊息被翻譯成WM-COMMAND訊息;Windows CE不支援WM-SYSCOMMAND訊息。
速查:Windows NT:3.1 及以上版本;Windows:95及以上版本:Windows CE:1.0及以上版本;標頭檔案:windows.h;庫檔案:; Unicode:在Windows NT實現為Unicode和ANSI兩種版本。
Tags:鍵盤 國小