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

投稿日: 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)が−値になる可能性があるので注意。


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

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

- VBレスキュー(花ちゃん) - - Web Forum -