DOBON.NET DOBON.NETプログラミング掲示板過去ログ

セルの罫線について(罫線の消去)

環境/言語:[XP,VB6]
分類:[VB6以前]

2010/02/26(Fri) 13:50:59 編集(投稿者)
2010/02/26(Fri) 13:42:35 編集(投稿者)
2010/02/26(Fri) 13:42:01 編集(投稿者)
2010/02/26(Fri) 13:41:23 編集(投稿者)
2010/02/26(Fri) 13:40:48 編集(投稿者)
2010/02/26(Fri) 13:37:21 編集(投稿者)
2010/02/26(Fri) 13:36:37 編集(投稿者)

お世話になります。

MergeCellsプロパティ設定していまうと
MSFlexGridの強調表示が強制解除してしまうので
セルの結合が使えません
2つのセルを結合したように見せるために
罫線を消したいと考えています。
よい方法はございませんか
MergeCellsプロパティ設定しても
MSFlexGridの強調表示が強制解除されない方法でも
構いません

|------------|
|          |
|------------|
|見出し      |
|------------|

|------------|
|          |
|          |
|見出し      |
|------------|

真ん中の罫線を消去したように見せたい
宜しくお願いします。
2010/03/05(Fri) 13:01:20 編集(投稿者)

本質問は別の掲示板 http://hpcgi1.nifty.com/MADIA/VBBBS/wwwlng.cgi?print+201003/10030004.txtでも質問しています。
■No26512に返信(inoueさんの記事)
> 本質問は別の掲示板 http://homepage1.nifty.com/MADIA/でも質問しています。
それはトップページの URL ですよね。
示すなら、該当記事の URL などを提示すべきかと。


■No26470に返信(inoueさんの記事)
> MergeCellsプロパティ設定していまうと
> MSFlexGridの強調表示が強制解除してしまうので
> セルの結合が使えません
MS(H)FlexGrid の結合は、セルのマージというよりも、
 『同じデータが続く場合には、記述を省略する』
という考え方の方が強いので、あまり自由度が高くないんですよね…。


> 2つのセルを結合したように見せるために
> 罫線を消したいと考えています。
> よい方法はございませんか
MS(H)FlexGrid でなければならないのでしょうか?


> MergeCellsプロパティ設定しても
> MSFlexGridの強調表示が強制解除されない方法でも
> 構いません
表示だけの問題であれば、背景色の変更で対応するとか。

Private Sub MSFlexGrid1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
    If CBool(Button And vbLeftButton) Then
        Dim Row&, Col As Long
        With MSFlexGrid1
            Row = .MouseRow
            Col = .MouseCol
            If (Row = .Row And Col = .Col) Or (Row = .RowSel And Col = .ColSel) Then
                .Refresh
                PaintSelection
            End If
        End With
    End If
End Sub

Private Sub MSFlexGrid1_SelChange()
    PaintSelection
End Sub

Private Sub MSFlexGrid1_RowColChange()
    PaintSelection
End Sub

Private Sub PaintSelection()
    If Not MSFlexGrid1.Redraw Then
        Exit Sub
    End If

    Dim Row&, Col&, RowSel&, ColSel As Long
    Dim style As FillStyleSettings

    With MSFlexGrid1
        .Redraw = False
        style = .FillStyle
        Row = .Row
        Col = .Col
        RowSel = .RowSel
        ColSel = .ColSel

        '全体を非選択色に戻す
        .FillStyle = flexFillRepeat
        .Col = .FixedCols
        .Row = .FixedRows
        .ColSel = .Cols - 1
        .RowSel = .Rows - 1
        .CellBackColor = .BackColor
        .CellForeColor = .ForeColor

        '選択箇所の色を変える
        .Col = Col
        .Row = Row
        .ColSel = ColSel
        .RowSel = RowSel
        .CellBackColor = .BackColorSel
        .CellForeColor = .ForeColorSel

        .FillStyle = style
        .Redraw = True
    End With
End Sub
魔界の仮面弁士 様
お忙しいところありがとうございます。

それはトップページの URL ですよね。
示すなら、該当記事の URL などを提示すべきかと。
 URL治しておきました。ご指摘ありがとうございます。

MS(H)FlexGrid でなければならないのでしょうか?
質問内容が解決すれば「MS(H)FlexGrid」にはこだわりません
しかし、既にほぼ完成しているので別の方法を採用した場合
最初から作り直すのであれば考えます。

表示だけの問題であれば、背景色の変更で対応するとか。
 ありがとうございます。
 解析して試してみます
2010/03/08(Mon) 13:30:48 編集(投稿者)
2010/03/08(Mon) 13:30:12 編集(投稿者)

魔界の仮面弁士 様
>表示だけの問題であれば、背景色の変更で対応するとか。
  解決しました。ありがとうございました。助かりました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板