'-- определяем координаты выбранной ячейки
Dim hwndRichEdit&
Dim sText$
Dim pt As POINTAPI
Dim rc As RECT
Dim fc As RECT
'-- считаем координаты окна
Call GetWindowRect(Me.hwnd, fc)
'-- получить хэндл spreadsheet
v = GetSpshWnd(Me.hwnd)
'-- поискать нужный класс
hwndRichEdit = FindWindowEx(v, ByVal 0&, "RichEdit20W", vbNullString)
'-- определить координаты контрола
GetWindowRect hwndRichEdit, rc
If hwndRichEdit <> 0 Then
dx = Me.ScaleX(rc.Left - fc.Left - 4, vbPixels, vbTwips)
dy = Me.ScaleY((rc.Top - fc.Top) - 4 - _
(GetSystemMetrics(SM_CYMENUSIZE) + _
GetSystemMetrics(SM_CXBORDER) + _
GetSystemMetrics(SM_CYCAPTION)) + _
(rc.Bottom - rc.Top), vbPixels, vbTwips)
'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((rc.Right - rc.Left), vbPixels, vbTwips)
Me.List1.Visible = True
End If
|