- PR -

VBのフォームのグリッドについて・・・

投稿者投稿内容
McLaren
ぬし
会議室デビュー日: 2002/01/15
投稿数: 784
お住まい・勤務地: 東京
投稿日時: 2004-04-09 14:06
 いえいえ。まゆりんさんには色んな角度からアドバイスいただき、感謝しております。確かにINIファイルを使用する方法は他の局面で非常に役に立つと思っております。ありがとうございました。

 さて、
引用:

ずれているのではなく「連結している部分の線が太く見える」のでは?
つまり、1つ目のシェイプの下と2つ目のシェイプの上の線が重ならずに
並べられてしまうので太く見える・・・ということでしょうか?
試しに「-15」したら線が重なり1本になりましたので、
そうではないかと判断しました。


ですが、私も初めそう思いましたが、[パターン1]と[パターン2]を横に並べてたくさん下に作っていくとその差がどんどん広がっていきまして、しまいにはshape一つ分くらい[パターン2]のほうが下に長くなってしまいます・・・(泣)


[ メッセージ編集済み 編集者: okumura 編集日時 2004-04-09 14:08 ]
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-04-09 15:09
 ここでいう「グリッド」とは、フォームのデザイン時に、フォームの上にドットで表示されているもののことでしょうか?

 デザイン時に描くのは、おそらく「グリッドにスナップ」しているからぴったりと合わさるのでしょう。デザイン時に描いた四角の横にコードで同じ大きさになるはずの四角を描いて、グリッドの大きさごとにどれくらいずれるかを取得してみてはいかがでしょうか。
おさるさん
常連さん
会議室デビュー日: 2004/01/05
投稿数: 24
投稿日時: 2004-04-09 15:10
引用:

ですが、私も初めそう思いましたが、[パターン1]と[パターン2]を横に並べてたくさん下に作っていくとその差がどんどん広がっていきまして、しまいにはshape一つ分くらい[パターン2]のほうが下に長くなってしまいます・・・(泣)



多分これはshp1(intCtlIdx).BoarderWidthを計算されずコーディングされているからで

Option Explicit

Private Sub Form_Load()
Dim intCtlIdx As Integer
intCtlIdx = 0
For intCtlIdx = 0 To 100
Load Shp1(intCtlIdx + 1)
Shp1(intCtlIdx + 1).Top = Shp1(intCtlIdx).Top + Shp1(intCtlIdx).Height + (Screen.TwipsPerPixelY * Shp1(intCtlIdx).BorderWidth)
Shp1(intCtlIdx + 1).Visible = True
Next intCtlIdx

End Sub

このようにすればうまく表現できます。

McLaren
ぬし
会議室デビュー日: 2002/01/15
投稿数: 784
お住まい・勤務地: 東京
投稿日時: 2004-04-09 15:52
 なんとま〜!うまくいきました。
ありがとうございました。

Screen.TwipsPerPixelY

を知りませんでした。

スキルアップ/キャリアアップ(JOB@IT)