楽天モバイル[UNLIMITが今なら1円] ECナビでポインと Yahoo 楽天
LINEがデータ消費ゼロで月額500円~!
無料ホームページ 無料のクレジットカード 海外格安航空券 解約手数料0円【あしたでんき】 海外旅行保険が無料! 海外ホテル
ボタンを配置するのら絵をかけるようになったし、ダブルブッファもできるし。「もう私は GUIプログラムを組めるようにようになったのら。」 「そして、つぎ はボタンも配置できるようになってやるのら。」
ボタンボタンやLabelやTreeやListやファイルエクスプローラ などの便利な部品をお手軽に利用できるのが GTKや.NetFrameWorkやJAVAなどの優れた点です。 これらの優れたライブラリーを使うことで、 「プログラムの書き方」 なんてものがわかってくるかも知れませんねそれでは、ボタンの使って見ることにしましょう。 DUIの中でボタンに該当するものは "DUI.Widget.Container.Bin"の中にあります。 そして、ボタンが押されたりはなされたりしたとき のイベント処理は おなじみの Dispatcherが行ってくれます。 今回はDispatcherの "void addButtonClickedListener (ButtonClickedListener listener, Button button, char[] action) " を利用することにしましょう。 となると、ButtonClickedListenerがきになりますね。ButtonClickedListenerは ButtonListenerの中で以下のようになっています。 interface ButtonClickedListener { void buttonClickedCallback (Button button, char [] action); }; interface ButtonListener : ButtonClickedListener { void buttonPressedCallback (Button button, char [] action); void buttonReleasedCallback (Button button, char [] action); void buttonEnterCallback (Button button, char [] action); void buttonLeaveCallback (Button button, char [] action); void buttonActivateCallback (Button button, char [] action); };詳しくは Listenerであーーる。 を参考にしてください。とりあえずは これだけわかればもうボタンを作れちゃいますよね。 「では では、早速 プログラムを書いてみることにしましょう」 import dui.All; public: class HelloWorld : MainWindow ,ButtonClickedListener { public : this() { super("mosskite"); setSizeRequest(200,200); Button button; button = new Button(); button.setLabel("Kyoro"); add(button); show(); Dispatcher dis = new Dispatcher(); dis.addButtonClickedListener(this, button,"Kyoro"); } void buttonClickedCallback (Button button, char [] action) { printf("Clicked\n"); } } void main(char [][]args) { DUI dui = DUI.dui(args); new HelloWorld(); dui.go(); } ![]()
絵つきのボタンを作ろうボタンはcontainerを継承しているのでラベルを貼ったり Imageを張ったりすることができます。はい、ボタンを私ごのみのデザインに変えることができるのです。 ではボタンにImageを貼り付けて見ましょう。 import dui.All; public: class HelloWorld : MainWindow ,ButtonClickedListener { public : this() { super("Kyoro"); setSizeRequest(200,200); Button button; Image image; button = new Button(); image = new Image("d3.gif"); button.add(image); add(button); show(); Dispatcher dis = new Dispatcher(); dis.addButtonClickedListener(this, button,"Kyoro"); } void buttonClickedCallback (Button button, char [] action) { printf("Clicked\n"); } } void main(char [][]args) { DUI dui = DUI.dui(args); new HelloWorld(); dui.go(); } ![]() |