■フォーカス監視グループ

「■フォーカス監視グループ」の編集履歴(バックアップ)一覧はこちら

■フォーカス監視グループ」(2008/10/31 (金) 16:43:28) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

*情報 作者名:とんとん / yuk / SWinX 引用元:[[なでしこプログラム掲示板「はっぱのサンプル集57」>http://www.himanavi.net/cgi/nade-bbs/cbbs.cgi?mode=al2&namber=734&rev=&no=0]] *概要 登録した部品に「フォーカス得た時」「フォーカス失った時」イベントを拡張します。 グラフィック系の部品は登録できません(ウィンドウハンドルが得られない為) *解説 質問掲示板#6987の話題をグループ化してみました。 参考:[[なでしこ質問掲示板「エディタで数値入力&編集表示」>http://www.himanavi.net/cgi/nade-bbs2/cbbs.cgi?mode=all&number=6987&type=0&space=0&no=0]] 質問者のとんとんさんと回答者のyukさんに感謝します *本体 //WinAPI定義 ●GetFocus=DLL("USER32.DLL","DWORD GetFocus(void)") //登録した部品に「フォーカス得た時」「フォーカス失った時」イベントを拡張します //グラフィック系の部品は登録できません(ウィンドウハンドルが得られない為) ■フォーカス監視 +タイマー  ・ハンドル一覧{=""}  ・登録({グループ}Gを)~   H=G→ハンドル   S=G→名前   ハンドル一覧@H=S  ・検索(Hを)~   それ=ハンドル一覧@H  ・値{=10}  ・前ハンドル  ・時満ちた時~   停止   今ハンドルとは整数=GetFocus   もし前ハンドル<>今ハンドルなら    前ハンドルを検索    もしそれ<>""なら     「{それ}→フォーカス失った時」をナデシコする    今ハンドルを検索    もしそれ<>""なら     「{それ}→フォーカス得た時」をナデシコする    前ハンドル=今ハンドル   開始 *//サンプルプログラム Tとはフォーカス監視。 母艦をTに登録。 テストエディタAとはエディタ。 テストエディタAをTに登録。 テストエディタAのフォーカス得た時は~  テストエディタA=テストエディタAの"[^0-9]"を""へ正規表現置換 テストエディタAのフォーカス失った時は~  テストエディタA=テストエディタAを通貨形式して8で文字列右寄せ テストエディタAのキー押した時は~キーイベント テストエディタBとはエディタ。 テストエディタBをTに登録。 テストエディタBのフォーカス得た時は~  テストエディタB=テストエディタBの"[^0-9]"を""へ正規表現置換 テストエディタBのフォーカス失った時は~  テストエディタB=テストエディタBを通貨形式して8で文字列右寄せ テストエディタBのキー押した時は~キーイベント テストエディタCとはエディタ。 テストエディタCをTに登録。 テストエディタCのキー押した時は~キーイベント テストボタンとはボタン。 テストボタンをTに登録。 Tの前ハンドルは母艦ハンドル Tを開始 ●キーイベント  イベント部品→押された仮想キーで条件分岐   13ならば //ENTER    母艦にタブをキー送信   40ならば //↓    母艦にタブをキー送信   38ならば //↑    母艦に「+{タブ}」をキー送信 ---- #comment() ----
*情報 作者名:とんとん / yuk / SWinX 引用元:[[なでしこプログラム掲示板「フォーカス監視グループ」>http://www.himanavi.net/cgi/nade-bbs/cbbs.cgi?mode=al2&namber=957&rev=&no=0]] *概要 登録した部品に「フォーカス得た時」「フォーカス失った時」イベントを拡張します。 グラフィック系の部品は登録できません(ウィンドウハンドルが得られない為) *解説 質問掲示板#6987の話題をグループ化してみました。 参考:[[なでしこ質問掲示板「エディタで数値入力&編集表示」>http://www.himanavi.net/cgi/nade-bbs2/cbbs.cgi?mode=all&number=6987&type=0&space=0&no=0]] 質問者のとんとんさんと回答者のyukさんに感謝します *本体 //WinAPI定義 ●GetFocus=DLL("USER32.DLL","DWORD GetFocus(void)") //登録した部品に「フォーカス得た時」「フォーカス失った時」イベントを拡張します //グラフィック系の部品は登録できません(ウィンドウハンドルが得られない為) ■フォーカス監視 +タイマー  ・ハンドル一覧{=""}  ・登録({グループ}Gを)~   H=G→ハンドル   S=G→名前   ハンドル一覧@H=S  ・検索(Hを)~   それ=ハンドル一覧@H  ・値{=10}  ・前ハンドル  ・時満ちた時~   停止   今ハンドルとは整数=GetFocus   もし前ハンドル<>今ハンドルなら    前ハンドルを検索    もしそれ<>""なら     「{それ}→フォーカス失った時」をナデシコする    今ハンドルを検索    もしそれ<>""なら     「{それ}→フォーカス得た時」をナデシコする    前ハンドル=今ハンドル   開始 *//サンプルプログラム Tとはフォーカス監視。 母艦をTに登録。 テストエディタAとはエディタ。 テストエディタAをTに登録。 テストエディタAのフォーカス得た時は~  テストエディタA=テストエディタAの"[^0-9]"を""へ正規表現置換 テストエディタAのフォーカス失った時は~  テストエディタA=テストエディタAを通貨形式して8で文字列右寄せ テストエディタAのキー押した時は~キーイベント テストエディタBとはエディタ。 テストエディタBをTに登録。 テストエディタBのフォーカス得た時は~  テストエディタB=テストエディタBの"[^0-9]"を""へ正規表現置換 テストエディタBのフォーカス失った時は~  テストエディタB=テストエディタBを通貨形式して8で文字列右寄せ テストエディタBのキー押した時は~キーイベント テストエディタCとはエディタ。 テストエディタCをTに登録。 テストエディタCのキー押した時は~キーイベント テストボタンとはボタン。 テストボタンをTに登録。 Tの前ハンドルは母艦ハンドル Tを開始 ●キーイベント  イベント部品→押された仮想キーで条件分岐   13ならば //ENTER    母艦にタブをキー送信   40ならば //↓    母艦にタブをキー送信   38ならば //↑    母艦に「+{タブ}」をキー送信 ---- #comment() ----

表示オプション

横に並べて表示:
変化行の前後のみ表示:
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。