日本語プログラミング言語「なでしこ」@粗茶の部屋内検索 / 「GUI/メインメニュー」で検索した結果
-
TODO
未作成ページ一覧 とりあえず100件表示してみる。 game/heiankyou game/digdag game/startrek game/moonlanding gui/スプリッタ gui/グループ ...
-
GUI
※2008/4/27より執筆開始 ※バージョンアップにより、GUI部品がリニューアルされました。 こちらのWikiは古い情報ですので、ご注意下さい。 リンクに?がついているものは、作成中です。 概要 GUIとは GUIを使ってみよう! メンバ変数(状態)とメンバ関数(動作)とイベント(操作)メンバ変数 メンバ関数 イベントイベント部品 グループ?静的生成と動的生成?動的生成の注意点? 描画?座標? 部品間隔? 積み木エディタ? レイアウトの調整?OSによるフォントの違い? OS・テーマによるウィンドウの違い? 画面スタイルによる違い? 座標の誤差について GUI部品 エディタ フォーム/母艦 イメージリスト? ツールボタン? ツールバー? メニュー? ポップアップメニュー? メインメニュー? パネル グループボックス? スクロールパネル? タブページ スプリッタ? ステー...
-
GUI/メンバ関数
メンバ関数 メンバ関数とは、グループの中で様々な計算をしたり、処理を行う関数のことです。処理の結果を得る関数もあります。 一般的に、GUI部品に「フォーカスを得る(注目)」、「ウィンドウを最大化する」、「文字描画?する」などの処理を行います。 他のプログラミング言語では「メソッド」と呼ばれたりします。 メンバ関数は、そのGUI部品に関する処理を行います。メンバ変数の値を変更したり、取得したりもします。 例えば、イメージ?部品に文字を描画するには、次のようにします。 -------------------------------------------------- サンプルイメージとはイメージ?。 サンプルイメージの30,20へ「こんにちは」を文字描画?。 --------------------------------------------...
-
GUI/フォーム
【フォーム】【母艦】部品 フォーム部品は、ウインドウとも呼ばれ、表示画面のもととなる基本部品です。フォーム部品の上に各GUI部品を配置して、インターフェースを構成します。 フォームを作成しても画面には表示されません。メンバ関数「表示」を使って表示します。 母艦とは、プログラミングしなくても「なでしこ」を実行すると自動的に作成されるフォーム部品です。メインフォームとも呼ばれ、アプリケーションの実体であり他のフォームの親となる部品です。 母艦はフォーム部品と同じメンバ変数・メンバ関数・イベントを持っていますが、アプリケーションに関する部分については、母艦独自の設定があります。 フォーム部品 描画関係 部品のレイアウトや表示の状態等について設定する項目です。 X 部品左上のX座標 Y 部品左上のY座標 W 部品の幅 H 部品の高さ 左 部品左上のX座...
-
GUI/メンバ変数
メンバ変数 メンバ変数とは、グループの中で様々な値を保持している変数のことです。 一般的に、GUI部品のサイズや背景色、テキストなどの状態を保持しています。 他のプログラミング言語では「プロパティ」とも呼ばれています。 基本的に、メンバ変数の値は、自由に取得したり設定したりできます。 例えば、ボタン部品の幅を200に変更するには、次のようにします。 ------------------------ サンプルボタンとはボタン。 サンプルボタンの幅は200。 ------------------------ [実行画面] また、ボタン部品の幅を調べるには、次のようにします。 ------------------------ サンプルボタンとはボタン。 サンプルボタンの幅を表示。 --------------...
-
GUI/CH
【CH】【クライアントH】【クライアント高さ】メンバ変数 フォーム部品の描画領域髙(Client Heignt)を表します。 フォームのサイズには、タイトルやウインドウ枠が含まれていて、実際に描画できる範囲はそれよりも小さくなります。 また、Windowsのバージョンやウインドウのデザインによって、それらの大きさも異なりますので、厳密に描画領域を確保したい時は、クライアント幅とクライアント高さを指定します。 クライアントの幅や高さを変更すると、それに合わせてフォームの幅や高さも変更されます。 フォームにメニュー?を作成すると、その分だけクライアント高さが小さくなりますので、メニュー?を作成した後に、クライアント高さを設定します。 フォームの高さとクライアント高さ 値の設定 部品にクライアント高さを設定する。 (部品名)のCHは320。 (部...
-
GUI/ポップアップメニュー2
【ポップアップメニュー】メンバ変数 部品を右クリックした時に表示される「ポップアップメニュー?」部品を指定します。 指定する「ポップアップメニュー?」部品は、あらかじめ作成しておく必要があります。 「エディタ」や「メモ?」部品のように標準でポップアップメニューが登録されているものもあります。 エディタ部品のポップアップメニュー 値の設定 部品にポップアップメニューを設定する。 (部品名)のポップアップメニューは計算メニュー。 値の取得 部品のポップアップメニューを取得する。 Mは(部品名)のポップアップメニュー。 取得できるのは部品名ではなく、オブジェクト(数値)になります。 設定/取得できる値 ポップアップメニュー?部品の部品名(グループ) ポップアップメニュー?部品のオブジェクト ***** サンプル ...
-
GUI/タブページ
【タブページ】部品 タブページ部品は、複数のシートを重ねたような外観で、タブによりページを切り替えることができます。少ないスペースで多くの情報を扱うことができるので、とても便利な部品です。 タブページにはさまざまなGUI部品を配置することができます。 タブページ部品 描画関係 部品のレイアウトや表示の状態等について設定する項目です。 X 部品左上のX座標 Y 部品左上のY座標 W 部品の幅 H 部品の高さ 左 部品左上のX座標 上 部品左上のY座標 幅 部品の幅 高さ 部品の高さ 位置 部品の左上位置「X,Y」 サイズ 部品の左上と右下の座標「X1,Y1,X2,Y2」 右側 部品の自動配置右側座標「{X+W+部品間隔},{Y}」 下側 部品の自動配置下側座標「{X},{Y+H+部品間隔}」 CW 部品のクライアント領域の幅 CH 部品のクライアント領域...
-
GUI/ラベル
【ラベル】部品 ラベル部品は、テキストを表示する部品です。 テキストを母艦(フォーム)やイメージ?に直接表示しないで、ラベル部品を使うことにより、テキストの変更や表示位置の変更が容易にできます。 ラベル部品 描画関係 部品のレイアウトや表示の状態等について設定する項目です。 X 部品左上のX座標 Y 部品左上のY座標 W 部品の幅 H 部品の高さ 左 部品左上のX座標 上 部品左上のY座標 幅 部品の幅 高さ 部品の高さ 位置 部品の左上位置「X,Y」 サイズ 部品の左上と右下の座標「X1,Y1,X2,Y2」 右側 部品の自動配置右側座標「{X+W+部品間隔},{Y}」 下側 部品の自動配置下側座標「{X},{Y+H+部品間隔}」 レイアウト 部品の自動レイアウト「上/下/左/右/全体」 可視 部品の表示・非表示「オン/オフ」 親部品 部品の親となる部...
-
GUI/GUIとは
GUIとは GUI(Graphical User Interface - グラフィカル・ユーザー・インターフェース)とは、コンピュータとユーザーが、文字だけでなく色や形など図形を使って視覚的にわかりやすく情報を伝達し合う手段のことです。 ウィンドウズの画面は、アイコンやボタン、画像などで構成されていますので、立派なGUIです。ほとんどキーボード操作をすることなく、主にマウスを使って操作できるようになっています。このGUIを使用したアプリケーションを開発することを、Windowsプログラミングと呼びます。 [Windowsアプリの画面] ボタンやエディタなどが並ぶ。 一方、DOSプロンプトなどの文字のみでコミュニケーションする手段をCUI(Character User Interface - キャラクター・ユーザー・インターフェース)と言い、主にキ...
-
GUI/ボタン
【ボタン】部品 ボタン部品は、ユーザーがクリックすることにより、処理を実行できる部品です。 ボタンには任意のテキストを表示することができます。 ボタン上にテキストではなく画像?を表示したい場合は、ビットボタン?部品または画像ボタン?部品を使います。 ボタン部品 描画関係 部品のレイアウトや表示の状態等について設定する項目です。 X 部品左上のX座標 Y 部品左上のY座標 W 部品の幅 H 部品の高さ 左 部品左上のX座標 上 部品左上のY座標 幅 部品の幅 高さ 部品の高さ 位置 部品の左上位置「X,Y」 サイズ 部品の左上と右下の座標「X1,Y1,X2,Y2」 右側 部品の自動配置右側座標「{X+W+部品間隔},{Y}」 下側 部品の自動配置下側座標「{X},{Y+H+部品間隔}」 レイアウト 部品の自動レイアウト「上/下/左/右/全体」 可視 ...
-
GUI/リスト
【リスト】部品 リスト部品は、複数のアイテムをリストにして表示したり、選択したりできる部品です。 複数列の表を扱う場合はグリッド部品が便利です。また、リストに画像を表示したい場合は、リストビュー?部品を使います。 リスト部品 描画関係 部品のレイアウトや表示の状態等について設定する項目です。 X 部品左上のX座標 Y 部品左上のY座標 W 部品の幅 H 部品の高さ 左 部品左上のX座標 上 部品左上のY座標 幅 部品の幅 高さ 部品の高さ 位置 部品の左上位置「X,Y」 サイズ 部品の左上と右下の座標「X1,Y1,X2,Y2」 右側 部品の自動配置右側座標「{X+W+部品間隔},{Y}」 下側 部品の自動配置下側座標「{X},{Y+H+部品間隔}」 レイアウト 部品の自動レイアウト「上/下/左/右/全体」 可視 部品の表示・非表示「オン/オフ」 最前面...
-
GUI/テキスト
【テキスト】メンバ変数 部品に表示する文字列を表します。 部品のテキスト 値の設定 部品にテキストを設定する。 (部品名)のテキストは「こんにちは。」 (部品名)のテキストは100。 値の取得 部品のテキストを取得する。 Tは(部品名)のテキスト。 設定/取得できる値 文字列 数値 ***** サンプル ***** ラベルAとはラベル。 ラベルAのテキストは「ようこそ!」 エディタBとはエディタ。 エディタBのテキストは150。 ***** ここまで ***** Tips テキストに表示する文字数を制限したい? 部品の違いによる補足説明 テキストは部品によって表示される場所や、どのデータを指すのか異なります。 ボタン ボタンの上に表示されます。 ビットボタン ボタンの上に表示され...
-
GUI/パネル
【パネル】部品 パネル部品は、自身に他の部品を乗せて配置したり、画面を上下左右に分割するなど、レイアウトに活躍する部品です。また「スプリッタ?」部品と併用することで分割の割合を変更したりできます。 パネル部品による分割 描画関係 部品のレイアウトや表示の状態等について設定する項目です。 X 部品左上のX座標 Y 部品左上のY座標 W 部品の幅 H 部品の高さ 左 部品左上のX座標 上 部品左上のY座標 幅 部品の幅 高さ 部品の高さ 位置 部品の左上位置「X,Y」 サイズ 部品の左上と右下の座標「X1,Y1,X2,Y2」 右側 部品の自動配置右側座標「{X+W+部品間隔},{Y}」 下側 部品の自動配置下側座標「{X},{Y+H+部品間隔}」 レイアウト 部品の自動レイアウト「上/下/左/右/全体」 可視 部品の表示・非表示「オン/オフ」 最前面表示 部品...
-
GUI/システムメニューボタン有効変更
【システムメニューボタン有効変更】メンバ関数 フォームのタイトルバーにあるシステムメニューボタンを有効にしたり無効にしたりできます。 システムメニューボタンとは、左上のアイコン、右上の「_」「□」「×」の各ボタンの総称です。 ユーザーにウインドウを変更されたくない場合やデザインにこだわる場合などに使用します。 システムメニューボタンが使えなくなっている。 動作の実行 (部品名)をオンにシステムメニューボタン有効変更。 (部品名)をオフにシステムメニューボタン有効変更。 設定できる値 オン(または1) オフ(または0) ***** サンプル ***** ボタン状態はオフ。 ボタンAとはボタン。 ボタンAをクリックした時は 母艦をボタン状態にシステムメニューボタン有効変更。 ボタン状態はNOT(ボタン状態)。 ***** ここまで...
-
GUI/エディタ/数値入力
Tips 数値のみ入力に制限 年齢や金額など、ユーザーからデータ入力をしてもらう時に、数値のみを取り扱いたいことがあります。ユーザーが誤って文字や記号を入力してしまうことのないよう、プログラムでチェックしなければなりません。 入力された値が数値かどうかをチェックする方法として、次の3通りが考えられます。 1.IMEを「IMEオフ」に設定する。 2.「数字か判定」「数列か判定」命令を使う。 3.WinAPIを使う。 1.IMEを設定する。 エディタにフォーカスが移動した時、IMEの設定を「IMEオフ」に切り替えるようにします。これでユーザーが誤って日本語などの2バイト文字を入力してしまうことは避けられます。 しかし、これだけではアルファベットや記号なども入力できてしまいますので、対策として十分とは言えません。 ユーザーに注意を促す程度の効果があるものの、いいアイデア...
-
GUI/グリッド
【グリッド】部品 グリッドは、データをエクセルのような表形式で表示できる部品です。配列やCSVデータを閲覧・編集するのに便利です。 グリッドにアイテムを設定することで、データを表示することができます。 データを表示すると、先頭行(0行目)のデータが自動的に列見出しとなります。実際のデータに列見出しが無い場合は、データを出し入れする際に、列見出しを追加・削除する処理が必要となります。グリッドには行見出し(左側縦方向の見出し)はありません。 グリッドの最終行には、アイテムの数にかかわらず、必ず空白行が挿入されます。アイテムを追加する時は、この空白行を使用します。 グリッド部品 描画関係 部品のレイアウトや表示の状態等について設定する項目です。 X 部品左上のX座標 Y 部品左上のY座標 W 部品の幅 H 部品の高さ 左 部品左上のX座標 上 部品左...
-
GUI/エディタ
【エディタ】部品 エディタ部品はテキストボックスとも呼ばれ、ユーザーがテキストを入力できる部品です。 一行の簡単な文字を入力したり表示したりするのに使われます。 複数行のテキストを扱うには、メモ?部品やTエディタ?部品を使います。 また、数値だけを入力する場合は、スピンエディタ?部品が便利かもしれません。 エディタ部品 描画関係 部品のレイアウトや表示の状態等について設定する項目です。 X 部品左上のX座標 Y 部品左上のY座標 W 部品の幅 H 部品の高さ 左 部品左上のX座標 上 部品左上のY座標 幅 部品の幅 高さ 部品の高さ 位置 部品の左上位置「X,Y」 サイズ 部品の左上と右下の座標「X1,Y1,X2,Y2」 右側 部品の自動配置右側座標「{X+W+部品間隔},{Y}」 下側 部品の自動配置下側座標「{X},{Y+H+部品間隔}」 ...
-
GUI/吹き出し変形
【吹き出し変形】メンバ関数 フォーム部品を吹き出しの形に切り抜きます。 ウインドウのタイトルやシステムメニューボタンは表示されなくなりますので、注意しましょう。 吹き出しの形に切り抜いた 動作の実行 (部品)を吹き出し変形 ***** サンプル ***** クジラとはフォーム。 クジラについて 画像?は「kujira.png」 画像通り変形して表示。 クリックした時は~会話を表示。 会話とはフォーム。 会話について W=180。H=120。吹き出し変形。 会話の40,40へ「こんにちは」を文字表示。 ***** ここまで *****
-
GUI/画像通り変形
【画像通り変形】メンバ関数 フォーム部品を背景の画像?に合わせて切り抜きます。 ウインドウのタイトルやシステムメニューボタンは表示されなくなりますので、注意しましょう。 フォームに画像?が設定されていなければ、変更しません。 ワニの形に切り抜いた 動作の実行 (部品)を画像通り変形 ***** サンプル ***** クジラとはフォーム。 クジラについて 画像?は「kujira.png」 画像通り変形して表示。 クリックした時は~会話を表示。 会話とはフォーム。 会話について W=180。H=120。吹き出し変形。 会話の40,40へ「こんにちは」を文字表示。 ***** ここまで *****
-
GUI/作る
【作る】メンバ関数 部品の作成時にシステムが内部的に使用するものですので、ユーザー側が意識する必要はありません。 故意に「作る」メンバ関数を使って、部品を作成することができますが、実用的でなくまたエラーの原因ともなりますので、使用すべきではありません。 もともと、各GUI部品はグループ(型)として定義されています。そのグループにあるメンバ関数「作る」を使用して、自分自身のコピー(インスタンス)を作成することで部品を作るため、メンバ関数「作る」も一緒にコピーされてしまうのです。ですから、本来は使用しないメンバ関数が残ってしまったとも言えます。 動作の実行 (部品名)を作る。 ***** サンプル ***** エディタAとはエディタ。 エディタAを作る。 エディタAのテキストは「こんにちは」 ***** ここまで ***** ※この記...
-
GUI/メッセージ送信
【メッセージ送信】メンバ関数 部品にWinAPIを使ってメッセージを送信します。 「なでしこ」標準命令でサポートされていない設定項目などを変更したりできます。 メッセージ送信にはAPIの知識が必要ですので、実行する際はエラーがないように注意してください。 エディタの入力文字数を制限した。 動作の実行 (部品名)にメッセージ送信(MSG,W,L) 3つの引数については、部品や設定により厳密に定義されていますので、詳しくはAPI関係の情報をご覧ください。 設定できる値 数値 ***** サンプル ***** ボタンAとはボタン。 ボタンAのクリックした時は 「ボタンAをクリック!」と言う。 ボタンBとはボタン。 ボタンBのクリックした時は ボタンAにメッセージ送信($F5/*BM_CLICK*/,0,0) ***** ...
-
GUI/ハンドル
【ハンドル】メンバ関数 部品のウインドウハンドルを取得します。ウインドウハンドルは各ウインドウ、GUI部品、ファイルなどを識別するために付けられる一意の32ビット値です。 すべての部品を認識するためにハンドルの値が付けられているため、PCの環境やプログラムを実行するタイミングなどで、同じ部品でもハンドルの値は毎回異なります。 部品のハンドルは、メッセージ送信時のSendMessage()関数や注目時のSetFocus()関数において部品自身を表す引数として使用されたり、WinAPI利用時に対象となる部品を示す引数として使用されます。 主にWindowsシステム側で利用される値ですので、通常はユーザー側が意識する必要はありません。 同じプログラムを実行しても、部品のハンドルは異なる。 動作の実行 Hは(部品名)のハンドル。 取得できる値 数値 *...
-
GUI/H
【H】【高さ】メンバ変数 部品の高さ(Height)を表します。 部品をレイアウトする時に、高さを指定することで、他の部品との並びを調整したり、テキスト表示の範囲を決めたりできます。 値の設定 部品に高さを設定する。 (部品名)のHは30。 (部品名)の高さは30。 値の取得 部品の幅を取得する。 Tは(部品名)のH。 Tは(部品名)の高さ。 設定/取得できる値 数値(正の整数のみ) ***** サンプル ***** エディタAとはエディタ。 エディタAのHは30。 「エディタAのHは{エディタAのH}」と表示。 ボタンBとはボタン。 ボタンBの高さは20。 「ボタンBの高さは{ボタンBの高さ}」と表示。 ***** ここまで *****
-
GUI/列
【列】メンバ変数 部品のテキスト内のカーソル横位置を表します。 位置は0文字目から数えます。テキストを選択している場合は、選択部分の最後の位置を表します。 テキストに貼り付けの位置を指定したい場合は、選択位置を使用してください。 カーソルの位置を確認 値の設定 部品に列を設定することはできません。 値の取得 部品の列を取得する。 Hは(部品名)の列。 取得できる値 数値(整数) ***** サンプル ***** メモAとはメモ?。 メモAのテキストは「なでしこで{~}誰でも簡単{~}プログラマー」 ボタンBとはボタン。 ボタンBのクリックした時は 「カーソル行は、{メモAの行}」と表示。 「カーソル列は、{メモAの列}」と表示。 ***** ここまで *****
-
GUI/W
【W】【幅】メンバ変数 部品の幅(Width)を表します。 部品をレイアウトする時に、幅を指定することで、他の部品との並びを調整したり、テキスト表示の範囲を決めたりできます。 値の設定 部品に幅を設定する。 (部品名)のWは20。 (部品名)の幅は20。 値の取得 部品の幅を取得する。 Lは(部品名)のW。 Lは(部品名)の幅。 設定/取得できる値 数値(正の整数のみ) Tips ラベルの幅を固定したい ***** サンプル ***** エディタAとはエディタ。 エディタAのWは150。 「エディタAのWは{エディタAのW}」と表示。 ボタンBとはボタン。 ボタンBの幅は100。 「ボタンBの幅は{ボタンBの幅}」と表示。 ***** ここまで *****
-
GUI/イベント
イベント イベントとは、GUI部品が操作された(または変更された)ことを感知して、決められた処理を行います。 一般的に、「クリックされた時?」や「キー押した時」、「サイズ変更した時」など、ユーザーの操作に対応したイベントがあります。 イベントが発生した時に、どのような処理を行うのかは、自由にプログラミングできます。 例えば、ボタン部品をクリックした時にメッセージを表示するには、次のようにします。 ------------------------------- サンプルボタンとはボタン。 サンプルボタンのクリックした時は 「押した」と表示。 ------------------------------- [実行画面] イベントの処理内容を記述する時は、インデント(字下げ)をします。 また、ボタン部品をクリックした時に...
-
GUI/値
【値】メンバ変数 アイテムのどの行を選択しているかを表します。 行は先頭を0行目としてカウントします。 2番目のデータを選択した。 値の設定 部品に値を設定する。 (部品名)の値は5。 値を設定すると、アイテムの該当する行を選択状態にします。 アイテムに存在しない行(例えば-1とかアイテムの行数より大きな数)を指定すると、選択解除します。 値の取得 部品の値を取得する。 Vは(部品名)の値。 設定/取得できる値 数値 ***** サンプル ***** リストAとはリスト。 リストAについて アイテムは「ゆうこ{~}あいこ{~}りょうこ{~}けいこ{~}まちこ」 クリックした時は エディタBは「{リストAの値}行目の{リストAのテキスト}」 エディタBとはエディタ。 エディタB...
-
GUI/X
【X】【左】メンバ変数 部品のX座標(左端の位置)を表します。 部品をレイアウトする時に、X座標を指定することで、他の部品との並びを調整したりできます。 X座標は最も左が0で、右へ行くほど値が大きくなります。 X座標は親部品との相対座標です。 例:親部品が母艦(フォーム)の場合 部品のX座標は、クライアント領域?におけるX座標。 親部品がパネル部品等の場合 親部品のX座標が50。対象部品のX座標が20ならば 対象部品はX座標が70(50+20)で表示されます。 ボタンAとボタンCのX座標はともに50に設定しています。 ボタンAはクライアント領域?の左端より50右へ行ったところがX座標。 ボタンCはパネルBの左端より50右へ行ったところがX座標。 値の設定 部品にX座標を設定する。 (部品名)の...
-
GUI/メンバ変数とメンバ関数とイベント
メンバ変数(状態)とメンバ関数(動作)とイベント(操作) 「GUIを使ってみよう!」でちょっとだけGUI部品を使ってみましたが、その中の、「位置」・「右側」・「クリックした時」は、ボタン部品のメンバやイベントです。 具体的には、「位置」がメンバ変数、「右側」がメンバ関数、「クリックした時」がイベントです。 このように各GUI部品は、内部にそれぞれメンバ変数、メンバ関数、イベントを持っています。 「(部品名)の(メンバ変数)は○○」というように、グループ?化されています。 どのGUI部品に、どのようなメンバがあるのかは、なでしこエディタで確認することができます。 なでしこエディタのGUIタブにあるGUI部品を選択すると、下のボックスにメンバの一覧が表示されます。 ボタン部品のメンバ GUIを使ってみよう! メンバ変数 メンバ関数...
-
GUI/Y
【Y】【上】メンバ変数 部品のY座標(上端の位置)を表します。 部品をレイアウトする時に、Y座標を指定することで、他の部品との並びを調整したりできます。 Y座標は最も上が0で、下へ行くほど値が大きくなります。 Y座標は親部品との相対座標です。 例:親部品が母艦(フォーム)の場合 部品のY座標は、クライアント領域におけるY座標。 親部品がパネル部品等の場合 親部品のY座標が50。対象部品のY座標が20ならば 対象部品はY座標が70(50+20)で表示されます。 ボタンAとボタンCのY座標はともに20に設定しています。 ボタンAはクライアント領域の上端より20右へ行ったところがY座標。 ボタンCはパネルBの上端より20右へ行ったところがY座標。 値の設定 部品にY座標を設定する。 (部品名)のYは...
-
GUI/行
【行】メンバ変数 部品のテキスト内のカーソル縦位置を表します。 位置は0行目から数えます。テキストを選択している場合は、選択部分の最後の位置を表します。 エディタはテキストが1行しかありませんので、常に0行目となります。 テキストに貼り付けの位置を指定したい場合は、選択位置を使用してください。 カーソルの位置を確認 値の設定 部品に行を設定することはできません。 値の取得 部品の行を取得する。 Vは(部品名)の行。 取得できる値 数値(整数) ***** サンプル ***** メモAとはメモ?。 メモAのテキストは「なでしこで{~}誰でも簡単{~}プログラマー」 ボタンBとはボタン。 ボタンBのクリックした時は 「カーソル行は、{メモAの行}」と表示。 「カーソル列は、{メモAの列}」と表示。 ***...
-
GUI/母艦設計
Tips 母艦設計 母艦設計は、プログラムの中で母艦が表示される前に実行される部分です。 母艦やフォームに多くのGUI部品を配置すると、プログラムを実行した時に画面が表示されるまで時間が掛かります。また、GUI部品が描画されている動きがチラチラと見えてしまい、格好が悪いと思うことがあります。 母艦やフォームの描画が完了してから表示すれば、画面のちらつきも無く、一発で表示されるので気持ちが良いですね。 例えば、次のプログラムを実行してみましょう。 ***** サンプル ***** 母艦について W=320。H=240。 母艦を中央移動 3回 「ボタン{回数}をボタンとして作成。」をナデシコする。 「エディタ{回数}をエディタとして作成。」をナデシコする。 ***** ここまで ***** 上記プログラムは、母艦のサ...
-
GUI/CW
【CW】【クライアントW】【クライアント幅】メンバ変数 フォーム部品の描画領域幅(Client Width)を表します。 フォームのサイズには、タイトルやウインドウ枠が含まれていて、実際に描画できる範囲はそれよりも小さくなります。 また、Windowsのバージョンやウインドウのデザインによって、それらの大きさも異なりますので、厳密に描画領域を確保したい時は、クライアント幅とクライアント高さを指定します。 クライアントの幅や高さを変更すると、それに合わせてフォームの幅や高さも変更されます。 フォームの幅とクライアント幅 値の設定 部品にクライアント幅を設定する。 (部品名)のCWは640。 (部品名)のクライアントWは640。 (部品名)のクライアント幅は640。 値の取得 部品のクライアント幅を取得する。 Lは(部品名)のCW。 L...
-
GUI/GUIを使ってみよう!
GUIを使ってみよう! 他の言語に比べて、なでしこによるGUI画面の作成はとても簡単です。 例えば、母艦にエディタとボタンを作成してみましょう。 ------------------------ 名前エディタとはエディタ。 挨拶ボタンとはボタン。 ------------------------ [実行画面] これでエディタ部品「名前エディタ」とボタン部品「挨拶ボタン」を配置できました。 「(部品名)とは(部品)」と書くだけでGUI部品を作成することができます。 簡単ですね。 では、名前エディタに自分の名前を入力して、挨拶ボタンを押すとダイアログが表示されるように変更します。 ---------------------------------------------- 名前エディタとはエディタ。 挨拶ボ...
-
GUI/下側
【下側】メンバ関数 ある部品の下側に別の部品を自動配置する時の位置を取得します。 特に数値を指定しなくても、一定の間隔で部品を配置できるので楽ちんです。 部品の下側の位置とは、部品と同じX座標と、部品の下端から少し間を空けたY座標です。 例えば、部品Aの下側は、「部品AのX,部品AのY+部品AのH+部品間隔」となります。 ボタンAの下側にボタンBを配置しました。 動作の実行 Dは(部品名)の下側。 取得できる値 文字列 「x,y」形式 ***** サンプル ***** 部品間隔は10。 エディタAとはエディタ。 ボタンBとはボタン。 ボタンBの位置はエディタAの下側。 「エディタAの下側は{エディタAの下側}」と表示。 ***** ここまで *****
-
GUI/タグ
【タグ】メンバ変数 部品内部に一時データを格納でき、変数のように扱います。 ポケットメンバ変数と同様、部品そのものには何も影響を与えません。 値の設定 部品のタグに値を設定する。 (部品名)のタグは50 (部品名)のタグは「A」 値の取得 部品のタグの値を取得する。 Tは(部品名)のタグ。 設定/取得できる値 数値 文字列 ***** サンプル ***** ボタンAとはボタン。 ボタンAのクリックした時は ボタンAのタグはボタンAのタグ+1。 ボタンBとはボタン。 ボタンBのクリックした時は 「{ボタンAのタグ}回クリック」と言う。 ***** ここまで *****
-
GUI/可視
【可視】メンバ変数 部品の表示を切り替えます。 可視に「オン」を設定すると、部品が表示されます。 可視に「オフ」を設定すると、部品が非表示になります。非表示の状態では部品をクリックしたり、操作することができなくなります。 部品を表示したまま使用できなくするには「編集」や「有効」メンバ変数を使います。 ↓ ボタンBの可視をオフにしてみた。 値の設定 部品の可視設定を変更する。 (部品名)の可視はオン。 (部品名)の可視はオフ。 値の取得 部品の可視設定を取得する。 Vは(部品名)の可視。 設定/取得できる値 オン(または1) オフ(または0) ***** サンプル ***** エディタAとはエディタ。 エディタAのテキストは「エディタA」 ボタンBとはボタン。 ボタンBのテキストは「可視」 ボタン...
-
GUI/注目
【注目】メンバ関数 部品にフォーカスを移動します。 デフォルトのボタンを指定したり、エディタの入力順を誘導したりできます。 ボタンBに注目 動作の実行 (部品名)に注目。 (部品名)を注目。 (部品名)へ注目。 助詞は何でもいいです。 Tips ENTERで次の部品に移動したい ***** サンプル ***** エディタAとはエディタ。 エディタBとはエディタ。 ボタンCとはボタン。 ボタンCのクリックした時は エディタAに注目。 ***** ここまで *****
-
GUI/種類
【種類】メンバ変数 部品の種類を表します。 部品を作成すると、その種類(ボタン、エディタなど)が「種類」メンバ変数に保存されます。 部品の種類 値の設定 部品に種類を設定する。 (部品名)の種類は「ボタン」。 ※システム側で自動的に値が設定されるので、ユーザーが任意に設定すべきではありません。 値の取得 部品の種類を取得する。 Cは(部品名)の種類。 設定/取得できる値 部品の種類 ***** サンプル ***** ボタンAとはボタン。 「ボタンAの情報」を表示。 「ID={ボタンAのID}」を表示。 「ハンドル={ボタンAのハンドル}」を表示。 「オブジェクト={ボタンAのオブジェクト}」を表示。 「種類={ボタンAの種類}」を表示。 ***** ここまで *****
-
GUI/壊す
【壊す】メンバ関数 作成された部品を削除します。一度削除すると元に戻せませんので注意してください。 部品を削除する。 動作の実行 (部品名)を壊す。 動的生成された部品を削除するには、次のとおりに記述します。 (部品名)→壊す。 (部品名)@「壊」 ***** サンプル ***** ボタンAとはボタン。 ボタンAについて テキストは「つくる」 クリックした時は ボタンDをボタンとして作成。 ボタンBとはボタン。 ボタンBについて テキストは「こわす(A)」 クリックした時は ボタンAを壊す。 ボタンCとはボタン。 ボタンCについて テキストは「こわす(D)」 クリックした時は ボタンD→壊す。 ***** ここまで *****
-
GUI/右側
【右側】メンバ関数 ある部品の右側に別の部品を自動配置する時の位置を取得します。 特に数値を指定しなくても、一定の間隔で部品を配置できるので楽ちんです。 部品の右側の位置とは、部品の右端から少し間を空けたX座標と、部品と同じY座標です。 例えば、部品Aの右側は、「部品AのX+部品AのW+部品間隔,部品AのY」となります。 ボタンAの右側にボタンBを配置しました。 動作の実行 Rは(部品名)の右側。 取得できる値 文字列 「x,y」形式の文字列 ***** サンプル ***** 部品間隔は10。 エディタAとはエディタ。 ボタンBとはボタン。 ボタンBの位置はエディタAの右側。 「エディタAの右側は{エディタAの右側}」と表示。 ***** ここまで *****
-
GUI/位置
【位置】メンバ変数 部品の左上の座標(X,Y)を表します。 部品をレイアウトする時に、左上の座標を指定することで、他の部品との並びを調整したりできます。 X座標は最も左が0で、右へ行くほど値が大きくなります。 Y座標は最も上が0で、下へ行くほど値が大きくなります。 座標は親部品との相対座標です。 例:親部品が母艦(フォーム)の場合 部品のX座標は、クライアント領域?におけるX座標。 親部品がパネル部品等の場合 親部品のX座標が50。対象部品のX座標が20ならば 対象部品はX座標が70(50+20)で表示されます。 ボタンAとボタンCの位置はともに「50,20」に設定しています。 ボタンAの左上は、クライアント領域の「50,20」の位置。 ボタンCの左上は、パネルBの「50,20」の位置。 値の設定...
-
GUI/有効
【有効】メンバ変数 部品が使用可能かどうかを表します。 「有効」メンバ変数に「オン」を設定すると、部品を自由に使用できます。 「有効」メンバ変数に「オフ」を設定すると、部品を使用できなくなります。マウスやキーボードからのイベントは受け付けなくなりますが、プログラム上からは各メンバ変数を変更することはできます。 部品がグレー表示され、使えなくなった。 値の設定 部品の有効設定を変更する。 (部品名)の有効はオン。 (部品名)の有効はオフ。 値の取得 部品の有効設定を取得する。 Eは(部品名)の有効。 設定/取得できる値 オン(または1) オフ(または0) ***** サンプル ***** エディタAとはエディタ。 エディタAについて テキストは「エディタA」 編集はオフ。 エディタBとはエディタ。 エディタB...
-
GUI/透明
【透明】メンバ変数 部品の背景を透明にします。 部品に背景色を設定する場合は、「透明」を「オフ」にしなければなりません。 ラベルが透明なので母艦の背景色が見えている。 値の設定 部品に透明を設定する。 (部品名)の透明はオン。 (部品名)の透明はオフ。 値の取得 部品の透明を取得する。 Tは(部品名)の透明。 設定/取得できる値 オン(または1) オフ(または0) ***** サンプル ***** ラベルAとはラベル。 ラベルAについて テキストは「クリックして」 背景色は水色。 クリックした時は もしラベルAの透明がオフならば ラベルAの透明はオン。 違えば ラベルAの透明はオフ。 ***** ここまで *****
-
GUI/編集
【編集】メンバ変数 部品のテキスト部分が編集可能かどうかを表します。 「編集」メンバ変数に「オン」を設定すると、テキストを自由に編集できます。 「編集」メンバ変数に「オフ」を設定すると、テキストを編集できなくなります。追加、変更、削除ができませんが、選択やクリック、コピーはできます。 クリック、選択はできますが、書き換えることはできません。 値の設定 部品の編集設定を変更する。 (部品名)の編集はオン。 (部品名)の編集はオフ。 値の取得 部品の編集設定を取得する。 Eは(部品名)の編集。 設定/取得できる値 オン(または1) オフ(または0) ***** サンプル ***** エディタAとはエディタ。 エディタAについて テキストは「エディタA」 編集はオフ。 エディタBとはエディタ。 エディタBについて...
-
GUI/表示
【表示】メンバ関数 フォームは作成しただけでは表示されません。 作成したフォームや閉じられたフォームを開きます。 フォームを開いた 動作の実行 (部品)を表示。 ***** サンプル ***** フォームAとはフォーム。 フォームAについて W=320。H=240。タイトルは「フォームA」 クリックした時は~フォームAを閉じる。 母艦のクリックした時は~フォームAを表示。 ***** ここまで *****
-
GUI/名前
【名前】メンバ変数 部品を作成する時に設定される、その部品の名前です。 ラベルやボタンなどを作成すると、その部品の名前が「テキスト」メンバ変数に設定されます。 また、「決定ボタンとはボタン」のように、部品の名前「決定ボタン」に部品名「ボタン」が含まれている場合は、部品の名前から、部品名より前の部分「終了」が切り出されて、テキストに設定されます。 プログラム中でその部品を示すために使われる部品名と、部品の「名前」メンバ変数は別のものですから、「名前」メンバ変数を変更しても部品名は変わりません。 値の設定 部品に名前を設定する。 (部品名)の名前は「実行ボタン」 ※システム側で自動的に値が設定されるので、ユーザーが任意に設定すべきではありません。 値の取得 部品の名前を取得する。 Nは(部品名)の名前。 取得できる値 文...
-
GUI/ID
【ID】メンバ関数 部品を作成した時に自動的につけられる部品番号です。 部品を作成するごとに1から順番にIDが振られます。 部品を識別したり作成順を調べたりできます。 作成した順にIDが設定される。 動作の実行 Iは(部品名)のID。 取得できる値 数値 ***** サンプル ***** エディタAとはエディタ。 エディタAのIDを表示。 ボタンBとはボタン。 ボタンBのIDを表示。 ***** ここまで *****
-
GUI/イベント部品
イベント部品 イベントが発生すると、そのイベントを発生させたGUI部品がイベント部品です。 例えば、「ボタンをクリックした」というイベントが発生した時、イベント部品はそのボタンになります。 イベント部品を使うと、その処理がどのGUI部品のイベントから呼び出されたのか知ることができます。 以下の例では、イベント部品のテキストによって処理を分けています。 ---------------------------------------- 結果ラベルとはラベル。 結果ラベルは「」 石ボタンとはボタン。 石ボタンのクリックした時は~結果表示。 鋏ボタンとはボタン。 鋏ボタンのクリックした時は~結果表示。 紙ボタンとはボタン。 紙ボタンのクリックした時は~結果表示。 ●結果表示 イベント部品→テキストで条件分岐。 「石」ならば結果ラベ...
-
@wiki全体から「GUI/メインメニュー」で調べる
更新順にページ一覧表示
|
作成順にページ一覧表示
|
ページ名順にページ一覧表示
|
wiki内検索