• ベストアンサー

Print

VBで今、自作ソフトが完成しようしている定かに どうしても乗り越せない部分があります Private Sub Form_Load() AutoRedraw = True ScaleMode = 3 CurrentX = 50 CurrentY = 50 Print "sample" & Chr(13) & "test" End Sub これをやってみると分かるのですが 改行するとX座標が一番左に変わってしまうんですけど これを直す方法ってありませんか?

質問者が選んだベストアンサー

  • ベストアンサー
  • bikkuri
  • ベストアンサー率33% (23/68)
回答No.2

改行でx=0に戻るのは仕様でしょう。 改行毎に自分でCurrentXを再設定するか、 Formに直接じゃなく、Y=50,X=50のところにPictureBoxを 置いてそれに描いてはどうでしょう。 あとは、APIのDrawTextを使って描く方法か。 でも、改行で行間までは指定できなかったはずなので 結局自分で再設定するのが、一番かも

dinowave
質問者

お礼

回答ありがとうございます APIのDrawTextをとりあえず試してみます

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • todo36
  • ベストアンサー率58% (728/1234)
回答No.1

CurrentX = 50 CurrentY = 50 Print "sample" CurrentX = 50 Print "test" とするしかないでしょう

dinowave
質問者

お礼

回答ありがとうございます ちょっと理由があって そのようには分けられないんです...すみません

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • VB6のform Load

    Private Sub Form_Load() Form1.ScaleMode = 0 Form1.Scale (-10, 10)-(10, -10) Form1.Line (-10, 0)-(10, 0) Form1.Line (0, -10)-(0, 10) End Sub とやって座標画面を作ろうとしましたが Lineが表示されません。 仕方が無いので Private Sub Form_Load() Form1.ScaleMode = 0 Form1.Scale (-10, 10)-(10, -10) End Sub Private Sub Form_Activate() Form1.Line (-10, 0)-(10, 0) Form1.Line (0, -10)-(0, 10) End Sub とやりました。 そういうものだとあきらめるしかないのでしょうか?

  • labelを前面に出したい

    vb6で座標平面を作成するプログラムを作っています。lineやlabelを配列で設置しましたが、 lineが前面に出てしまい、とても見づらいものになってしまいました。labelを前面に出すにはどうしたらよいでしょうか。 (1)lineコントロールを配置し、index=0 (2)labelコントロールを配置し、index=0 (3)(1)と(2)が重なるようにします(label1(0)が前面に出ています)。 (4)以下を実行します Private Sub Form_Load() Form1.ScaleMode = 3 Label1(0).FontSize = 15 Label1(0).FontBold = True Line1(0).BorderWidth = 2 Line1(0).BorderColor = &H80000005 Load Line1(1) With Line1(1) .X1 = 100 .X2 = 100 .Y1 = 0 .Y2 = 200 .Visible = True End With Load Label1(1) With Label1(1) .Left = 98 .Top = 80 .Visible = True End With End Sub (5)label(1)が背面になります。

  • VB.Netのフォームロードイベントについて

    こんにちわ。 いまVB.Net2005Expressで勉強をしている者です。 あるフォームがロードされるときの処理を書こうとすると, 従来のVB6ではFormオブジェクトにLoadイベントがありましたが, VB.Net2005では,最初の状態ではフォームのイベントには 「New」,「Finalize」,「InitializeComponent」の3つしかありません。 もしVB.Net2005でForm_Loadイベントを書きたいときは, 自分で, 「Private Sub Form1_Load(Byval ~」と書かなくてはいけないのでしょうか? 初歩的な質問になるかもしれませんが,教えてください。 よろしくお願いします。

  • VBで入力された値をワード文書に表示(OLEオートメーション)

    VBより名前と年齢を入力し、登録ボタンを押すと ワードにデータが登録されるようにしたいのですが、 実行時エラーが表示されます。 Dim x As Object Private Sub Command1_Click() x.Insert.Into Text1.Text & ":" & Text2.Text & Chr(10) ---(1) End Sub Private Sub Form_Load() Set x = CreateObject("Word.Basic") End Sub Private Sub Form_Unload(Cancel As Integer) Set x = Nothing End Sub (1)で 実行時エラー'509'「Insert,文書ウィンドウが選択されていないためコマンドは使用できません」 が表示されます。 考えられる原因はなにか教えてください! VB6.0/WindowsXP SP2/Office 2000 です

  • access タブコントロールのロック

    いつもお世話になっております。 accessのフォームが開くときに、タブコントロールの編集をロックしたいのですが、 下記の記述ですとエラーになってしまいます。 何がおかしいのかおしえてください。 ------------------------------ Private Sub Form_Load() Me.タブ.Locked = True End Sub ------------------------------ Private Sub Form_Load() Me.タブ.Pages("ページ1").Locked = True Me.タブ.Pages("ページ2").Locked = True Me.タブ.Pages("ページ3").Locked = True Me.タブ.Pages("ページ4").Locked = True Me.タブ.Pages("ページ5").Locked = True End Sub

  • formに直接文字を書きたい

    formに直接文字を書きたい。 PictureBoxに文字を書く場合 Picture1.CurrentX=100 Picture1.CurrentY=100 Picture1.print "TEST" で書けますが、FormにはPrintがないので書くことができません。 labelに書いて書きたい場所に移動すれば できますが書く文字が大量にあるためあまりlabelを増やしたくありません。 ご教示ください。 OS:Windows XP VB Ver6.0

  • Form1で指定した命令をForm2で実行させたい。

    開発環境はVB6.0です。 Form1にA・B・Cの3つのボタンを用意します。 格ボタンを押した時各自が用意した画像ファイルをForm2に表示させます。 という事をしたいんですが、 Form1にAのボタンと画像を表示するなら Private Sub Form_Load() ChDir "c:\gazou\a" End Sub Private Sub Command1_Click() For i = 0 To 2 fn = Chr(48 + i) & ".jpg" Image1(i).Picture = LoadPicture(fn) Next i End Sub 表示されるのですが、『"C:\gazou\a"』の部分が"C:\gazou\b"や"C:\gazou\c"にしないといけないので困っています。 しかもFormが違うのでとても困ってます><

  • Picture1.Printとしてもpicture1には何も表示されません

    Private Sub Form_Load() Call kansu End sub --------------------------- Private Sub kansu() a="文字" Picture1.Print a End sub --------------------------- のように、pictureコントロールに 文字を入れる処理をする関数を呼んでいるのですが、 Formが表示されてもpicture1には何も表示されません。 Msgboxを入れておくとメッセージボックスが出るので 呼び出されてはいるようなのです。 この関数をCommand1_Click()などから呼ぶとpicture1コントロールに ちゃんと表示されます。 どうすればよいのでしょうか?

  • VB2012で質問

    VB2012ですが、電卓を起動している状態で、 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load AppActivate("電卓") End Sub というコードでForm1を実行してみると、どうしてもForm1がアクティブになってしまうのですが、電卓をアクティブにしたいので、どうすれば良いでしょうか? 環境)OS:Windows8     バージョン:VB2012                 …となっています。

  • アクセス 通貨型 ワイルドカード

    アクセスでフィルタをかける時に、フィールドが通貨型でワイルドカードを使いたいのですが Private Sub Form_Load() Me.Form.Filter = "フィールド1 like *" Me.Form.FilterOn = True End Sub だと構文エラーになるのですが、すべての金額を対象にするにはどうすればいいですか?