アプリ版:「スタンプのみでお礼する」機能のリリースについて

ピクチャボックスをピクセルモードに変更して、Width=2000位にしてLineとprintで描画をしています。
lineは0から2000まで線が引けるのですが、printで文字を書こうとすると、どうやら0から1000までしか書けないようなのです。
これは仕様なのでしょか? それともどこか設定を間違えているのでしょうか?

どうか教えてください・・・

A 回答 (3件)

おそらくグラフをスクロールさせる件ですよね?


PictureBoxのAutoRedrawはTrueになっていますか?
普通問題なくできるはずです。

Form1.Picture1.AutoRedraw = True

AutoRedrawを有効にしておかないと
表示部分(1024)を超えた部分を自動で再描写してくれないので
    • good
    • 0

Private Sub Picture1_Click()


Form1.Picture1.Width = 2000
Form1.Picture1.CurrentX = 1800
Form1.Picture1.CurrentY = 200
Form1.Picture1.Print "a"
End Sub
私の場合は上記を実行するとaがPicture1の枠の右にくっつく手前に現われました。
だからコーディングの不適当ではなく、何か別の原因であるようです。
なおLocateはCurrentX,CurrentYで出来ることを忘れていました。
またVB5ランゲージレファレンスでは、各種グラフィックメソッドを使った時
Line線の終了点、Print次の表示位置、Pset
書かれた点に位置づけられるとあります。
    • good
    • 0

私に質問を答える技量が無いのかもしれないが


Private Sub Picture1_Click()
Picture1.Width = 2000
Picture1.Line (0, 100)-(2000, 100)
Picture1.Print "a"
Picture1.Line (1800, 200)-(1800, 200)
Picture1.Print "b"
End Sub
で仰っている1000を越えても(上記1800)bは
出てきます。aは出てきません(見えません)。Width=
4000にしたらaも見えます。当たり前ではないですか。
いまLineを引く(引き終えた)ことによって居る位置からPicture1.Print "a"などは書く(書き始める)という仕様なんでしょう。
その制約を離れたかったらLocateのようなCommandで書き始める位置にまず位置付けて置くべきということでは
無いですか。ただLocateは認められた指令では無かったと思いますが。
Picture1.Printだけ入れると改行して、左端に
位置付けてくれるとか
Picture1.Print "b";
Picture1.Print "c"
でbcとくっつくとかは旧DOS-BASICと同じですね。
Picture1.Font.Size = 20とかができるので、1文字で右へ進む量と下へ進む量は変わってくる。
以上誤解をしていないか心配ですが、ご参考になれば。

この回答への補足

自分の場合、下記のように書いてるのですが
PicTrend.CurrentX = 1800
PicTrend.CurrentY = 200
PicTrend.Print "aaaaaaaa"
やはり、1000以上はだめみたいです。
もしかしたら、ディスプレイ設定で1024*768になってるからでしょうか?

補足日時:2002/09/25 19:39
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!