Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
future basic 3
[go: Go Back, main page]

◇Future BASIC 3 〜ラベルとボタン〜

フォーム上にラベルとボタンを置いて、簡単ダイアログ画面を作成します。

◎新しいフォームの作成

今あるフォームに並べても良いのですが、別フォームを生成してダイアログを作ってみます。

1. エディタを起動している場合は、メニューのファイル->終了で終わらせる。
 ※エディタを起動しながらプログラムジェネレータを操作すると都合の悪いことが多いです。
2. プロジェクトを生成したフォルダを開き、拡張子が .RSRCのファイルをダブルクリック
3. メニューのウインドウ->新規ウインドウを選択

◎ラベルの作成

ここで言うラベルとは、ユーザーが変更できない文字列を表示する事をいいます。

新しく生成したフォームにラベルを作成します。

1. メニューの開発->ツールを選択し、ツールバーを出す。
2. 左側の列の上から2番目の“フィールド”をクリック
3. フォーム上で好きな大きさでドラッグする
4. 好きな文字列に変更する
5. ツールバーの一番左上をクリック
6. 今置いた“フィールド”をダブルクリック
7. 左下の属性ボタンをクリック
8. 状態を固定に設定
9. OKボタンをクリック

Winでは大抵ルールバー上に“ラベル”と“フィールド”のアイコンがあります。
この当たりは慣習の違いでしょうか。私は一緒になっている方が好きです。

◎ボタンの作成

新しく生成したフォームにボタンを作成します。

1. ツールバーの右上の“プッシュボタン”をクリック
2. フォーム上で好きな大きさでドラッグする
3. ツールバーの一番左上をクリック
4. 今置いた“プッシュボタン”をダブルクリック
5. コントロール名に、ボタン上に表示したい文字列を入力
6. OKボタンをクリック

なぜかボタンのフォントは2種類に固定されているようです。
しかもボタンの高さは変えられません。
コントロールに関しては、FB3は今ひとつですね。

◎ダイアログ画面表示

今作成したフォームを表示してみます。

1. プログラムジェネレーターをメニューのファイル->終了で閉じる。
2. プロジェクトフォルダ中の拡張子が .ケ のファイルをダブルクリック
3. プロジェクトファイル一覧の一番下にある .MAINをダブルクリック
4. 以下の位置にソースを追加

〜省略〜
LOCAL FN mouseActions
  SELECT gWhichClass
   CASE _windowClass1
    LONG IF gClickStatus
      FN pGbuild(_windowClass2)
    END IF
  END SELECT
〜省略〜

マウスでフォーム上をクリックすると、先程作成したダイアログを表示します。
_windowClass1と _windowClass2定数は何かと言うと、プログラムジェネレーターでフォームのオブジェクト情報を見ると表示されているものです。
変なことをしていなければ、このサンプルのように連番で付いているはずです。

このように、フォーム上のイベントは全て混ざって来ますので、フォーム定数で SELECTしてやる必要があります。
これを怠ると、フォームの閉じるボタンをクリックすると、全部のフォームが閉じられてしまうような不具合が発生します。

◎ダイアログを閉じる

表示したフォームは、閉じるボタンをクリックしても閉じる事ができますが、キャンセルボタンを作成してみます。

1. 以下の位置にソースを追加

〜省略〜
LOCAL FN buttonActions
  SELECT gWhichClass
   CASE _windowClass2
    SELECT gWhichButton
     CASE _btn1WClass5
      FN pGclose(_windowClass2)
    END SELECT
  END SELECT
〜省略〜

先程述べたように、フォームに届くメッセージは必ず SELECTでフォーム毎に分けます。

gWhichButton変数内に、クリックされたボタン定数が入っていますので、それを SELECTします。
このボタン定数は、プログラムジェネレーターにてオブジェクト情報を見ることで確認可能です。

フォームを閉じる関数は FN pGcloseです。
特に説明は不用でしょう。


トップメニュープログラマ専用Future BASIC 3