PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
19840 | 03/07/01 10:33:44 | RE(6):PB6.5: フォーカスの動き By volante |
19826 | 03/06/27 16:54:34 | RE(5):RE(5):PB6.5: フォーカスの動き By volante |
19824 | 03/06/27 16:15:39 | RE(4):PB6.5: フォーカスの動き(フォーカス制御) By まぁく |
19823 | 03/06/27 16:05:11 | RE(3):PB6.5: フォーカスの動き By まぁく |
19813 | 03/06/26 11:50:29 | RE(2):PB6.5: フォーカスの動き By volante |
19809 | 03/06/25 15:56:10 | RE(1):PB6.5: フォーカスの動き By まぁく |
19807 | 03/06/25 14:21:27 | PB6.5: フォーカスの動き By volante |
カテゴリ:スクリプトの記述
日付:2003年06月25日 15:56 発信者:まぁく
題名:RE(1):PB6.5: フォーカスの動き
volanteさん、こんにちは。
>これを回避したいので、
>・Enterキーでフォーカスを移動した場合
> ボタンにフォーカスを当てずに、次のコントロールにフォーカスを当てる
>・Tabキーでフォーカスを移動した場合
> ボタンにもフォーカスを当てる(タブオーダー順に移動)
>させたいと思っています。
>
>このような機能を実現させる方法が有りますでしょうか?
>どなたかご存知の方、ご教授お願いします。
これは、ウィンドウ上のボタンについての話でしょうか?
であれば、以下の方法でできると思います。外していたら、流して下さい。(^^;
<1:B1→B2→B3→B1の順でフォーカスを移動させる>
【Window.event open()記述】
//ボタンに対して、フォーカスを当てる
cb_1.post setfocus()
(※:postしているのは、フォーカスがコントロール生成により移動するので、それが完了次第に明示的に
(フォーカスを)当てる為です)
┌─────────── フォーカスの移動順 ───────────┐
↓ |
┌────┐ ┌────┐ ┌────┐
| B1 | → | B2 | → | B3 |
└────┘ └────┘ └────┘
【B1.event losefocus()記述】 【B2.event losefocus()記述】 【B3.event losefocus()記述】
B2.setfocus() B3.setfocus() B1.setfocus()
<2:ENTERキーでクリックと同じ動作をさせる>
ボタンB1,B2,B3に対して、「pbm_keydown」イベントを割り当てたユーザーイベント
(ここでは、ue_keydownとします)を、作成する
【Bx.event ue_keydown()記述】
if keydown(KeyEnter!) then
this.event clicked()
end if
this.setfocus() //clicked()にてフォーカスを失った場合の対応
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows 2000
DBMS Sybase SQL Anywhere Client
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.