プログラミング入門 (桐s-2024LT:リボン編)
桐でプログラムを作ろうという方への道しるべになれば幸いです
Introduction この入門講座は 桐s-2024LT で作成しています イベント(フォーム+イベント) と 一括処理について Win桐ではイベント処理の他に、Dos桐で使われていた一括処理が利用できます。 いきなりですが、備忘録です(フォームを作成する際の留意点を書きました (^_^;) ~~~ フォームの [オブジェクトの属性] でウインドウの形式が 【ポップアップ】 になっているか確認してください(リボン使用時の相性?です) |
Chapter1:プログラムの第1歩は 「開いて閉じる」 から | |
改定版 /更新日:2024年7月29日 |
1 | 事前準備 |
ここで使用する 表とフォームを作成します。表、フォーム、そして Chapter2 以降で作成するファイルは全て同じフォルダに入れておきます。 | |
1-1 | 住所録(テーブルとフォーム)の作成 |
1-1-1 |
表(テーブル)の作成 リボン [ファイル] → [新規作成] → [表] または 桐ファイルパレット [ファイルの種類:表] → [新規作成] ファイル名:" 住所録.tbx " → [簡易表] [表題]:住所録(設定しなくてもOK)、[項目数]:20(既存値でOKということです) → 完了(作成後 定義 で開くとよいでしょう) [定義] では 項目名 A~D を次のように変更してください。 |
|
1-1-2 | フォームの作成 リボン [ファイル] → [新規作成] → [フォーム] |
または 桐ファイルパレット [ファイルの種類:フォーム] → [新規作成] ファイル名:" 住所録.wfx " → [一覧表] を選択 使用する表ファイルは "住所録.tbx" です。ファイル参照から設定しましょう 項目名を設定した4項目だけを使用します。またグループ化する項目はありません。 作成したファイルは、[定義] で開くとよいでしょう [オブジェクトの属性] で ウインドウの形式を 【チャイルド】 から 【ポップアップ】 に変更します |
|
項目幅を調整します (ここでは適当に設定しています。微調整は実際にデータを入力してからでないと難しいですね)。 |
|
※ ファイルの拡張子に大文字、小文字の区別はありません。桐は自動で ”TBX , WFX” を付加しますが、” tbx , wfx ” でOKです。 |
|
|
1-2 | 郵便番号簿(テーブルとフォーム)の作成 |
1-2-1 |
表(テーブル)の作成 [新規作成] → [ファイル名]:" 郵便番号簿.tbx " → [簡易表] → [表題]:郵便番号簿(設定しなくてもOK)、[項目数]:20(既存値でOK) → 完了 |
作成後、[定義] で項目名を次のように変更します。 | |
|
1-2-2 |
フォームの作成 [新規作成] → [ファイル名]:" 郵便番号簿.wfx " → [一覧表] → [表ファイル名]:" 郵便番号簿.tbx " → [使用する項目]:以下の通りです |
|
|
郵便番号簿のフォームは [オブジェクトの属性] で ウインドウの形式を 【ポップアップ】 にするだけで、他は特に調整する必要はありません | |
|
|
|
1-3 | データ作成:郵便番号データを読み込みます |
1-3-1 |
郵便局のサイトから郵便番号データをダウンロードして展開(解凍)し、準備しておきます ※ここでは「住所の郵便番号(1レコード1行、UTF-8形式)(CSV形式)」を利用しています(ファイル "utf_ken_all.csv" を入手しました) |
1-3-2 |
" 郵便番号簿.wfx " を開いて フォームのメニューバーから [ファイル] → [読み込み] → [CSV] をクリックします ※" 郵便番号簿.tbx " からも読込めます |
|
|
読み込むCSVファイルに "utf_ken_all.csv" を指定します。[読み込み項目] は (全て) でOKです。 | |
|
|
事前準備は以上で完了です (^_^)v |
2 | メニューの作成 |
2-1 |
Null フォーム(表を持たないフォーム)を使って作成します。フォームの種類で [ 白紙 -> フォーム定義へ ] を選択します。 ※ ファイル名は " MainMenu.wfx " としました |
|
|
2-2 |
コマンドボタンを2つ準備して [オブジェクトの属性] → コマンドボタン の機能名を以下のように設定します ※フォームのサイズは適当に変更してください |
2-2-1 | |
2-2-2 |
|
2-2-3 | できあがったフォームは次のようになります( [オブジェクトの属性] で ウインドウの形式を 【ポップアップ】 にするのを忘れないでください) |
|
2-3 |
このまま [住所録] と [郵便番号簿] のボタンを押すと以下のように所定のフォームが開きます。 "MainMenu.wfx" は閉じられます。 |
|
ヒント |
定義画面を表示するショートカットキー [ファイル] → [最近開いたファイル] → ファイルを選択して [ Ctrl +左クリック ] 、[ Ctrl + Enter ] で、定義画面を開くことができます |
3 |
住所録 と 郵便番号簿 に MainMenu に戻るためのボタンを設定します。 ※ これまでの設定ではフォームを閉じるには右上の を押すしかなく MainMenu には戻れません。 |
|
3-1 |
"住所録.wfx" と "郵便番号簿.wfx" を定義で開いてヘッダ部分を広げて コマンドボタン を設定します。 |
|
|
3-1-1 |
"住所録.wfx" に コマンドボタンを設定します |
3-1-2 |
同様に "郵便番号簿.wfx" に コマンドボタンを設定します ここでは "住所録.wfx" を閉じずに、新たな タブとして開いています |
|
|
|
3-2 |
"MainMenu" の [住所録]ボタン、または [郵便番号簿]ボタンでフォームを開いて、 開いたフォームに設定した [MainMenu]ボタンを押すとフォームが閉じて "MainMenu" に戻ることができるようになりました。 |
4 |
住所録 から 郵便番号簿 へ また 郵便番号簿 から 住所録 へ MainMenu に戻らずに移動できるようにコマンドボタンを追加します |
|
|
4-1 |
"住所録.wfx" 、 "郵便番号簿.wfx" の両フォームを定義で開いて、[住所録]・[郵便番号簿]のコマンドボタンを次のように追加します。 ※ここでは両ファイルを定義で開いておいて、タブで切替えながら作業をしています。 |
4-1-1 |
"住所録.wfx"の[郵便番号簿]ボタン の属性は次のようになります |
4-1-2 | "郵便番号簿.wfx" の[住所録]ボタン です |
|
|
|
4-2 | 不要なボタンを使えないようにします |
4-2-1 |
コマンドボタン の機能をすべて 【なし】 にします "住所録"では [住所録]ボタン の機能をすべて 【なし】 にします。 同様に "郵便番号簿"では [郵便番号簿]ボタン の機能をすべて 【なし】 にします |
4-2-2 | もしくは コマンドボタンを 【使用不可表示】 にします |
コマンドボタンの [オブジェクトの属性] → [表示] → [フォーカス設定可能] で設定します |
5 | ここまでの設定だけではフォームの右上の (閉じる)を押すと MainMenu を開かずに、ただ単にフォームが閉じるだけになります。 |
そこでフォームを で閉じる際に、自動実行するコマンドを設定します。 | |
フォームを定義で開いて、 [フォームの属性] で、終了時の実行コマンドに
コマンドボタン [cmdMainMenu] を登録します。 "MainMenu.wfx"には設定不要ですね |
|
5-1 |
ワークスペースでWクリックしたり リボン等から → [オブジェクトの属性] → オプションタブで終了時の実行コマンドに [cmdMainMenu]
を登録(コマンドボタンのリストが表示されます) ※リボンの [オブジェクトの属性ボタン] を利用する場合には、フォーカスがどこにあるか注意ですね |
5-2 |
ワークスペースで右クリックしてみました |
6 |
MainMenu 、住所録、郵便番号簿 の各フォームでコマンドボタンを押してみてください それぞれのフォームを自由に移動できるようになっている、はずです (^_^)v |
|
|
6-1 |
|
最初に開くフォームは MainMenu でなくてよいことにもなります | |
|
6-2 | 補足:上記のサンプルでは、表示を微調整しています(表示はお好みなので、以下の設定は参考まで) |
○コマンドボタンは [オブジェクトの属性] → [背景] → [立体色モード]→ (継承) に設定 ○"MainMenu.wfx" では リボンやワークスペースで右クリック などから フォーム操作バー を [なし] に設定します またメニューバーを非表示にするには [フォームの属性] → フォームタブで [メニューバー] のチェックを外します ○"住所録.wfx" と "郵便番号簿.wfx" では項目名のフォントの表示位置を中央にして、明細部と共に高さを調整しています MainMenu とは異なり、フォームのメニューバーは表示しておくことをお勧めします |
Chapter 1 終わり、お疲れ様でした (^_^)ノ | |
Special Thanks ONnojiさん、AKさん |