投稿日 | : 2006/02/01(Wed) 17:30 |
投稿者 | : GOD |
Eメール | : |
URL | : |
タイトル | : Re: MSFlexGridのリサイズで疑問 |
grdFILES.Width はクライアント領域の幅ではなくグリッド全体の幅です。
上記を踏まえた上で、中に表示できるセルの幅はクライアント領域-8twip分ということです。
(8twip分小さくしなければいけないのはMSFlexGridの内部仕様かと)
#98は3D表示した時の値で全体の幅-クライアント領域の幅=90(Screen.TwipsPerPixelX=15とした時)だから。
#フラット表示にすると38になる。
↓検証用
.Width = Me.ScaleWidth - .Left
Dim rc As RECT
Call GetClientRect(.hwnd, rc) 'grdFILESのクライアント領域を求める
.ColWidth(3) = (rc.Right * Screen.TwipsPerPixelX) - .ColWidth(0) - .ColWidth(1) -
.ColWidth(2) - 8
#ウィンドウの大きさによっては.ColWidth(3)が−値になる可能性があるので注意。