VsFlexGrid и мышь - VB

Узнай цену своей работы

Формулировка задачи:

Подскажите как заставить VsFlexGrid фиксировать номер ячейки с пом-ю правой кнопки мыши
а то не получается

Решение задачи: «VsFlexGrid и мышь»

textual
Листинг программы
<font color="blue">Dim</font> nSelectedByDown1 <font color="blue">As</font> <font color="blue">Long</font>


<font color="blue">Private</font> <font color="blue">Sub</font> VSFlexGrid1_AfterScroll(<font color="blue">ByVal</font> OldTopRow <font color="blue">As</font> <font color="blue">Long</font>, <font color="blue">ByVal</font> OldLeftCol <font color="blue">As</font> <font color="blue">Long</font>, <font color="blue">ByVal</font> NewTopRow <font color="blue">As</font> <font color="blue">Long</font>, <font color="blue">ByVal</font> NewLeftCol <font color="blue">As</font> <font color="blue">Long</font>)
    nTopVisibleRow1 = NewTopRow - <font color="darkblue"><b>1</b></font>
<font color="blue">End</font> <font color="blue">Sub</font>

<font color="blue">Private</font> <font color="blue">Sub</font> VSFlexGrid1_MouseDown(Button <font color="blue">As</font> <font color="blue">Integer</font>, Shift <font color="blue">As</font> <font color="blue">Integer</font>, X <font color="blue">As</font> <font color="blue">Single</font>, Y <font color="blue">As</font> <font color="blue">Single</font>)
        <font color="blue">With</font> VSFlexGrid1
            <font color="blue">If</font> Button = <font color="darkblue"><b>2</b></font> <font color="blue">Then</font>
                
                <font color="blue">If</font> Y > VSFlexGrid1.RowHeight(<font color="darkblue"><b>0</b></font>) _
                <font color="blue">And</font> Y < .RowPos(.Rows - <font color="darkblue"><b>1</b></font>) + .RowHeight(.Rows - <font color="darkblue"><b>1</b></font>) + Screen.TwipsPerPixelY _
                <font color="blue">And</font> X < (.ColPos(.Cols - <font color="darkblue"><b>1</b></font>) + .ColWidth(.Cols - <font color="darkblue"><b>1</b></font>)) + Screen.TwipsPerPixelX _
                <font color="blue">Then</font>
                    
                    <font color="blue">If</font> .Row = -<font color="darkblue"><b>1</b></font> <font color="blue">Then</font> .<font color="blue">Select</font> <font color="darkblue"><b>0</b></font>, <font color="darkblue"><b>1</b></font>
                    
                    
                    <font color="blue">If</font> VSFlexGrid1.Row = VSFlexGrid1.RowSel _
                    <font color="blue">Or</font> Y < IIf(.Row < .RowSel, .RowPos(.Row), .RowPos(.RowSel)) _
                    <font color="blue">Or</font> Y > IIf(.Row > .RowSel, .RowPos(.Row) + .RowHeight(.Row), .RowPos(.RowSel) + .RowHeight(.RowSel)) _
                    <font color="blue">Then</font>
                            VSFlexGrid1.<font color="blue">Select</font> (Y / VSFlexGrid1.RowHeight(<font color="darkblue"><b>1</b></font>) - <font color="darkblue"><b>0</b></font>.<font color="darkblue"><b>5</b></font>) + nTopVisibleRow1, <font color="darkblue"><b>1</b></font>
                    <font color="blue">Else</font>
                        bNoRBtnSelect = True
                    <font color="blue">End</font> <font color="blue">If</font>
                <font color="blue">End</font> <font color="blue">If</font>
            <font color="blue">End</font> <font color="blue">If</font>
        
        <font color="blue">End</font> <font color="blue">With</font>
<font color="blue">End</font> <font color="blue">Sub</font>


ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.5 из 5