VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 2003/07/14(Mon) 20:20
投稿者匿名
Eメール
URL
タイトルRe: 再度、印刷の質問

> 結果は確かに出来ましたが、罫線の枠に文字がうまく収まらない
> というか文字の上部にはぴったりと罫線が引かさるのに対して、
> 文字の下部と罫線の間には「隙間」が出来てしまいます。
> FontSizeを変えてみても変化がないようなんですが、この「隙間」
> はどうにもならないものなのでしょうか?

> Printer.ScaleMode = 4
> CharX = Printer.TextWidth("あ")
> CharY = Printer.TextHeight("あ")
>            
> Printer.CurrentX = 10: Printer.CurrentY = 3    <== この意味は分かっていますか? (1)
> Printer.FontName = "MS明朝": Printer.FontBold = True
> Printer.FontSize = 16
> Printer.Print "あいうえお"
> Printer.Line (10, 3)-(22, 3)            <== この意味は分かっていますか? (2)
> Printer.Line (10, 5)-(22, 5)
> Printer.Line (10, 3)-(10, 5)
> Printer.Line (22, 3)-(22, 5)

文字と罫線を同じ10,3で書いたら重なって当然ではありませんか?
文字のFontサイズとは無関係なのでは?

個々の命令の意味と動作を、まだ理解出来ていないようですね。
fontを変えても...と言うなら

Printer.CurrentX = 10: Printer.CurrentY = 3 とか
Printer.Line (10, 3)-(22, 3) や他の行等も変えて見れば
その結果から、どの命令がどんな動作をさせるコードかが分かるはずですが。

例え話で、
透明なガラス板AとBがあります。
Aには文字「あ」が書かれています。
Bには長方形が書かれています。(罫線)
このAとBを重ね合わせたら「あ」の文字と罫線が重なって見えます。
重ならないようにするにはどうしますか?
1.A、Bの位置をずらして重ならないようにする。
これでは解決出来ないなら
2.文字を小さくする。
3.長方形を大きくする。
...等と考えて目的が達せられるようにするでしょう。
プログラムでも思考は同じです。

今回「あ」の上側の隙間と下側の隙間が均一で無いなら
上記の1〜3を試せば良いのではありませんか?

以前の書き込みで
ファイルAとBを合わせてCにしたい時などでも
同じように考えれば出来るはずです。
Aだけになってしまうとか、Bだけになってしまうのは
なぜかを考えましょう。
机の上にAとBとCと言う箱があったとして
Cの中にAとBを入れる時に
1.AをCに入れて   (OutPut)
2.このAの上に重ねてBを入れれば上から見たらBしか見えません。(上書きされる)
3.Aを入れたらAと重ならないように位置をずれしてBを置けば
  Cの箱の中にはAとBが入ります。(結合、マージ処理)

プログラムを考える時には日常生活に置き換えて思考して見ると
以外と分かり易い(理解しやすい)事も多々有るものです。
特にVBの基本的な処理段階では特に言えると思います。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -