PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
14372 | 01/01/25 22:54:50 | RE(8):PB6.5: キー入力の無効の仕方を教えてください。 By ryochan |
14371 | 01/01/25 19:02:58 | RE(7):PB6.5: キー入力の無効の仕方を教えてください。 By Taka |
14369 | 01/01/25 15:52:07 | RE(6):PB6.5: キー入力の無効の仕方を教えてください。 By ryochan |
14367 | 01/01/25 02:51:39 | RE(5):PB6.5: キー入力の無効の仕方を教えてください。 By Taka |
14366 | 01/01/24 19:28:36 | RE(4):PB6.5: キー入力の無効の仕方を教えてください。 By M.M |
14351 | 01/01/22 19:41:29 | RE(3):PB6.5: キー入力の無効の仕方を教えてください。 By ryochan |
14346 | 01/01/22 15:23:32 | RE(2):PB6.5: キー入力の無効の仕方を教えてください。 By M.M |
14334 | 01/01/20 23:09:16 | RE(1):PB6.5: キー入力の無効の仕方を教えてください。 By M.M |
14329 | 01/01/19 16:41:19 | PB6.5: キー入力の無効の仕方を教えてください。 By しん |
カテゴリ:スクリプトの記述
日付:2001年01月22日 19:41 発信者:ryochan
題名:RE(3):PB6.5: キー入力の無効の仕方を教えてください。
しんさん、M.Mさん、こんばんは。
PeekMessage APIで入力をキャンセルさせる
方法が一応あります。
一応というのは閉じる(キー:Alt+F4)等の
システムメニューには対応できない
からです。
(Winの仕様からして無理です。見たことないです。
私のスキル不足だけかもしれないですが。)
一度お試し下さい。
宣言
function boolean PeekMessageA(&
ref msg LPMSG,ulong hWnd,ulong wMsgFilterMin,ulong wMsgFilterMax,ulong wRemoveMsg&
) library \"user32.dll\"
msg構造体
ulong hwnd
ulong message
ulong wParam
ulong lParam
ulong time
ulong pt
ptについては、本当はPOINT構造体へのポインタです。
使わないので手抜きです。
このAPIをストアドプロシージャや時間のかかる処理の
あとに置く。
例:
constant ulong WM_KEYFIRST = 256 //0x0100
constant ulong WM_KEYLAST = 264 //0x0108
constant ulong WM_MOUSEFIRST = 512 //0x0200
constant ulong WM_MOUSELAST = 522 //0x020A
constant ulong PM_REMOVE = 1 //0x001
msg s_msg
long n
for n = 1 to 5000
sle_cnt.text = string(n)
next
//キーのみキャンセル
//do while PeekMessageA(s_msg,HANDLE(parent),WM_KEYFIRST,WM_KEYLAST,PM_REMOVE)
//loop
//マウスのみキャンセル
//do while PeekMessageA(s_msg,HANDLE(parent),WM_MOUSEFIRST,WM_MOUSELAST,PM_REMOVE)
//loop
//マウスもキーも
do while PeekMessageA(s_msg,HANDLE(parent),WM_KEYFIRST,WM_MOUSELAST,PM_REMOVE)
loop
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows NT 4.0
DBMS Oracle SQL*Net 8
Browser InternetExplorer4.X
Server SoftWare
OS Windows NT 4.0
DBMS Oracle 8.0
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.