|
導讀數據庫,簡而言之可視為電子化的文件柜——存儲電子文件的處所,用戶可以對文件中的數據進行新增、截取、更新、刪除等操作。所謂“數據庫”是以一定方式儲存在一起、能與多個用戶共享、具有盡可能小的冗余度、與應... 數據庫,簡而言之可視為電子化的文件柜——存儲電子文件的處所,用戶可以對文件中的數據進行新增、截取、更新、刪除等操作。所謂“數據庫”是以一定方式儲存在一起、能與多個用戶共享、具有盡可能小的冗余度、與應用程序彼此獨立的數據集合。 如果你能在你的應用程序中添加一些熱鍵,就可以加快用戶的操作速度,特別是對那些熟練的操作人員,他們特別歡迎快捷鍵的操作方式。在不少大型應用軟件中,用戶可以通過使用Ctrl+Alt+F5之類的組合鍵來方便地進行功能切換和處理。那么,我們在用PowerBuilder開發應用程序時,怎樣在其中實現需要的熱鍵功能呢?下面筆者就根據自身的經驗,介紹兩種實用的方法。 第一種方法: 該方法可以實現:無論何時,只要用戶按下熱鍵,都將觸發窗口中的事件。 1.聲明 API的外部函數 FUNCTION Integer GlobalAddAtom(ref string lpString) LIBRARY "kernel32.dll" ALIAS FOR "GlobalAddAtomA" FUNCTION ulong RegisterHotKey(ulong hwnd,ulong id,ulong fsModifiers,ulong vk) LIBRARY "user32.dll" //hwnd參數用于指定使用本熱鍵的窗口句柄,id參數用于指定一個惟一的ID,fsModifiers參數指明輔助鍵值(Alt、Ctrl、Shift等),vk參數指明虛擬鍵的ASCII碼。 2.對常量賦初值 Public: constant integer MOD-ALT = 1 constant integer MOD-CONTROL = 2 constant integer MOD-SHIFT = 4 3.利用代碼在系統中注冊要使用的熱鍵 //在窗口的Open事件中 long ll-RC string ls-str ls-str = "My atom ID" atomid = GlobalAddAtom(ls-str) //得到惟一的ID,保證不和其他應用程序發生沖突 ll-RC = RegisterHotKey(Handle(this), atomid, MOD-ALT + MOD-CONTROL, 65) // 65為‘A’,注冊的熱鍵為Ctrl+Alt+A if ll-RC = 0 then messagebox("錯誤","錯誤信息") end if 4.編寫按下熱鍵時的處理程序 //在窗口的Other事件中 IF wparam = atomid THEN //在這里編寫處理程序 END IF 第二種方法: 1.聲明 API的外部函數 function long SendMessageA(long lhWnd,uint uiMsg,long lwMsg,long lwParam) library ′user32.dll′ 2.對常量賦初值 Public: Constant Long WM-SETHOTKEY=50//設置熱鍵信息值 Constant Long HK-MYHOTKEY=1648 //熱鍵參數值 Constant Long SC-HOTKEY=61776//PB中的熱鍵信息 其中,HK-MYHOTKEY不是固定的,它根據用戶的需要而定。它的具體值的確定方法是:高8位字節與低8位字節組成16位字節,然后將它換算成十進制數,即得到所需的HK-MYHOTKEY值。高8位字節值為一些輔助鍵(Control、Alt、Shift等),低8位字節為使用鍵的ASCII碼。如果我們要使用Ctrl+Alt+A作為熱鍵,則A=65,轉換成十六進制為41,Ctrl+Alt=2+4=6,轉換成十六進制仍然是6,兩則組合即為641,再重新轉換回十進制得到1601;同樣,如果我們用Ctrl+Alt+F1作為熱鍵,F1=112,可以得到HK-MYHOTKEY值應為1648。 3.利用代碼告訴窗口我們的熱鍵 //在窗口的Open事件中 long ll-RC ll-RC = SendMessageA(Handle(this), WM-SETHOTKEY, HK-MYHOTKEY, 0) if ll-RC <> 1 then messagebox("錯誤","錯誤信息") end if 4.編寫按下熱鍵時的處理程序 //在窗口的Other事件中 IF wparam = SC-HOTKEY THEN //在這里編寫處理程序 END IF 。 全新的路由器不僅讓你更穩定快速地連接無線網絡,更可以讓家中的智能設備連接在一起。 |
溫馨提示:喜歡本站的話,請收藏一下本站!