|
テクニカルノート07: Using PictureBoxMarch 12, 2003© NSB Corporation. All rights reserved. |
マイクロソフト社のドキュメントも参考にして下さい。
PictureBox オブジェクトは、絵を表示することの他にも、たくさんの用途で使用出来ます。もちろん .bmp ファイルを表示するにのに使われます。また、線や丸などの形を描くことや、テキストの表示、さらにタップなどのイベントの検出も出来ます。PictureBox オブジェクトは、NS Basic/CEの最初のインストール時に、同時にインストールさます。使用にあたり、他に特別なものをインストールする必要がありません。
あなたのプログラムからの標準アウトプットは "Output" と呼ばれるオブジェクトに行きます。以下の例では、Output オブジェクトを使用した、様々なプロパティ、メソッド、およびイベントをデモンストレーションします。
独自のPictureBoxオブジェクトの作成も可能で、それらはOutput オブジェクトの上に表示されます。以下のようなコマンドをご使用下さい。
addObject "picturebox","pic",0,0,50,50
注記およびプログラムの癖
1. フォントサイズを設定したい場合は、先にフォント名を設定して下さい。
2. cls ファンクションはプロパティをリセットします。フォントなども含まれます。
3. DrawTextを呼ぶ前に cls を使って古い値を消去する必要があります。
4. ScaleMode(計測単位)のデフォルトはTwipsです。pixelsに変更するには、scalemode=3 にして下さい。
5. 常にgridオブジェクトを最初に作成し、Visual Designerコードの前に入れて下さい。さもなければ、grid オブジェクトからのイベントは失われます。
6. Pocket PCデバイスで、100x100より大きなPictureboxが作れない場合、widthやheightを直接設定して下さい。正しく再描画されます。
AddObject "PictureBox", "PictureBox1", 0, 100, 240, 180
Set Form1(2) = PictureBox1
Form1(2).width=240
Form1(2).height=180
以下の表に記載されている、PictureBox プロパティ、メソッド、及びイベントはサポートされています。
プロパティ
プロパティは値を設定するか、返します。シンタックスは、
msgbox pic.backcolor 'display the current backcolor
pic.fontsize=10 'set the fontsize to 10
名前 |
内容 |
|
色、0 から 16,777,215 までの整数。色の定数を参照。 |
|
0 : 無、1 : 単線ボーダー |
|
ドローイングメソッド用の線幅 |
|
形、円、ボックス用の色 |
|
0 : 無地、1 : 透明 |
|
True/False. |
|
True/False. |
|
文字列 |
|
ポイント(points)値 |
|
True/False.(抹消ライン) |
|
True/False. 背景グラプィックスを通して見せるか? |
|
True/False. |
|
色 |
|
オブジェクトの高さ |
|
オブジェクトの左端 |
|
.bmpファイルの名前を持つ文字列 |
|
カスタムスケール使用の高さの単位 |
|
オブジェクトの左端(拡大/縮小用) |
|
0 ユーザー指定 |
|
現オブジェクトのトップ |
|
指定スケールを使った幅の単位 |
|
必要時に何にでも使用可能 |
|
オブジェクトの上端 |
|
オブジェクトの幅 |
メソッド
名前 |
引数 |
内容 |
|
|
Textとグラフィックを消去 |
|
|
|
|
|
Boxはtrue/false. |
|
|
|
|
|
|
|
|
オブジェクトの次のラインに描く。位置は指定出来ない。 |
|
|
オブジェクトを新しい x, y の位置へ移動 |
|
|
オブジェクトの再描画 |
|
|
幅のスケールを変換する |
|
|
高さのスケールを変換する |
|
|
スケールの変更に使用 |
|
|
Textの高さを戻す、埋め込みCR'sはOK |
|
|
最も幅のあるラインの幅を戻す |
イベント
Eイベントはプログラム内にサブルーチンが存在する場合に、それらのサブルーチンコールをもたらします。サブルーチンには<objectName>_eventName
の名前を付けなければなりません。
例えば、 Output オブジェクトでのクリックを捕えるには、次の事が必要です。
sub output_click
'your code to handle a click
end sub
イベント名 |
引数 |
内容 |
|
|
オブジェクトが変更した時に呼ばれる。 |
|
|
オブジェクトがタップ(クリック)された時に呼ばれる。 |
|
|
オブジェクトがダブルタップされた時に呼ばれる。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
オブジェクトが、最小化/最大化/もとのサイズに戻されると呼ばれる。 |
Sample Code
rem Play around with some picturebox functions
output.backcolor=vbwhite
output.scalemode=3
output.drawpicture "\windows\startup.bmp",300,0
output.drawcircle 150,150,25
output.drawcircle 250,100,25
output.drawText "this is drawtext"
output.drawText "this is some more drawtext"
print
print
addObject "picturebox","pic",200,0,50,50
pic.borderstyle=1
sub pic_click
print "pic click"
pic.move 1200,1200
end sub
sub output_click
print "click in Output"
end sub
sub output_mousedown(button, shift, x, y)
print "mouse down: button:" & button & " Shift:" & shift & " X:" & x & " Y:" & y
end sub