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 (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.