Форумы HiProg.com - MS ACCESS, VBA, VB

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

ник: Силыч
есть код...

Private Sub Spreadsheet1_MouseDown(ByVal Button As Long, ByVal Shift As Long, ByVal x As Long, ByVal y As Long)
    Dim dx&, dy&
    Select Case Spreadsheet1.Tag
    Case "CLT_TUNE"
        If tgt.Column = 4 And tgt.Row > 1 Then '-- если колонка та, что нужно ;) D
            '-- обновить данные в ListBox
        
            dx = Me.ScaleX(tgt.Columns(tgt.Column).Left, vbPixels, vbTwips)
            dy = Me.ScaleY(y, vbPixels, vbTwips)

            'tgt.Rows(tgt.Row).Top + _
                          (GetSystemMetrics(SM_CYMENUSIZE) + _
                           GetSystemMetrics(SM_CXBORDER) + _
                           GetSystemMetrics(SM_CYCAPTION))
        
'        dx = Round(x * Screen.TwipsPerPixelX)
'        dy = Round(y * Screen.TwipsPerPixelY) '+_
'                       (GetSystemMetrics(SM_CYMENUSIZE) + _
'                        GetSystemMetrics(SM_CYMENU) + _
'                        GetSystemMetrics(SM_CXBORDER) + _
'                        GetSystemMetrics(SM_CYCAPTION))

            'Me.List1.Width = 0 '-- говорят, так надо, чтобы правильно ширина
            ListRequest Me.List1, "select f.description from fin.CLT_UKRUP_GRP f order by IDGRP"
            Me.List1.Left = dx
            Me.List1.Top = dy
            Me.List1.Width = Me.ScaleX(tgt.Width, vbPixels, vbTwips)
            Me.List1.Visible = True
        Else
            StatusBar1.Panels(1).Text = ""
            Me.List1.Visible = False
        End If
    Case Else
        StatusBar1.Panels(1).Text = ""
        Me.List1.Visible = False
    End Select

    

    
    StatusBar1.Panels(1).Text = tgt.Address & " (" & _
                                tgt.Height & ":" & _
                                tgt.Width & ") " & _
                                "X" & Round(x) & ":" & "Y" & y & _
                                " L" & (tgt.Columns(tgt.Column).Left) & _
                                ":T" & (tgt.Rows(tgt.Row).Top) & _
                                " dX=" & dx & " dY=" & dy


End Sub


в частности не понятно, почему координаты X и Y, возвращаемые событием,
существенно отличаются от tgt.Columns(tgt.Column).Left и tgt.Rows(tgt.Row).Top?

никак не удается отпозиционировать листбокс четко по левой границе и внизу ячейки выбранной ячейки в SpreadSheetе...

у кого какие идеи?


Ваше имя:

Пароль:

Цитировать: [quote][/quote] Код: [code][/code]
Жирный: [b][/b] Наклонный: [i][/i]
URL: [url][/url] 

Сообщение:

 Размер файла не более 50 Кбт. Большие файлы можно размещать на www.slil.ru

Прикрепить:

 

Для вставки смайлов в текст щелкните по значку.