|
|
|
Координаты поля в ДВ
|
|||
|---|---|---|---|
|
#18+
В ДВ (tabular) есть поле ввода с стилем редактирования DropDownDW (например). Надо вместо ДДВ показать treeview. С соотв. событием разобрался - ДДВ не показывается. Теперь на месте ДДВ надо красиво отобразить treeview. Как узнать координаты для отображения ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2004, 11:05 |
|
||
|
Координаты поля в ДВ
|
|||
|---|---|---|---|
|
#18+
PaulJBКак узнать координаты для отображения ? Путем рассчетов ;-) Вам известны координаты окна, координаты dw? Вы можете узнать координаты поля. А дальше считать и пробовать... (ИМХО) --- С уважением, IKAR ikarhomecenter@narod.ru IkarHomeCenter ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2004, 11:15 |
|
||
|
Координаты поля в ДВ
|
|||
|---|---|---|---|
|
#18+
Если DW не ReadOnlySet = 'yes', и текущая колонка редактируема (edit, editmask), а при ddlb или dddw выпадающий список еще не появился, то Windows focus находится в некоем окне, который открывает PB для редактирования. Его координаты - это то, что нужно !!! Function ULong WGetFocus() Library 'user32.dll' Alias for "GetFocus" - handle окна, где фокус. Function Int GetWindowRect( ULong hwn, REF Long lpRect[4]) Library 'user32.dll' - координаты окна по handle. Function Boolean ScreenToClient( ULong whndl, REF Long lpPoint[2]) Library "user32.dll" - преобразование координат для окна, где открыт dw control. Я этим способом пользуюсь уже лет 8, про dddw давно забыл, а в качестве выпадающих списков использую обычно dw - никакого геморроя ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2004, 14:21 |
|
||
|
Координаты поля в ДВ
|
|||
|---|---|---|---|
|
#18+
gal20 а в качестве выпадающих списков использую обычно dw - никакого геморроя ;) Sorry - в качестве выпадающих списков использую обычный DW control ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2004, 14:28 |
|
||
|
Координаты поля в ДВ
|
|||
|---|---|---|---|
|
#18+
2gal20 А можно примерчик кода. Плиииззз ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2004, 16:27 |
|
||
|
Координаты поля в ДВ
|
|||
|---|---|---|---|
|
#18+
forward global type uo_api from nonvisualobject end type end forward global type uo_api from nonvisualobject autoinstantiate end type type prototypes Function ULong WGetFocus() Library 'user32.dll' Alias for "GetFocus" Function Boolean ScreenToClient( ULong whndl, REF Long lpPoint[2]) Library "user32.dll" Function Int GetWindowRect( ULong hwn, REF Long lpRect[4]) Library 'user32.dll' end prototypes type variables end variables forward prototypes end prototypes on uo_api.create call super::create TriggerEvent( this, "constructor" ) end on on uo_api.destroy TriggerEvent( this, "destructor" ) call super::destroy end on //--------------- end uo_api -------- //--------------- определение координат поля ввода -------- Long point[2],EditRect[4]; GraphicObject go; go = <окно, где находится dw control> Api.GetWindowRect(Api.WGetFocus(),EditRect) point[1] = EditRect[1] // x левого верхнего угла point[2] = EditRect[2] // y левого верхнего угла Api.ScreenToClient(Handle(go),point) EditRect[1] = PixelsToUnits(point[1],XPixelsToUnits!) EditRect[2] = PixelsToUnits(point[2],YPixelsToUnits!) point[1] = EditRect[3] // x правого нижнего угла point[2] = EditRect[4] // y правого нижнего угла Api.ScreenToClient(Handle(go),point) EditRect[3] = PixelsToUnits(point[1],XPixelsToUnits!) EditRect[4] = PixelsToUnits(point[2],YPixelsToUnits!) // в EditRect координаты поля ввода в системе координат окна, где находится dw control Удачи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2004, 16:47 |
|
||
|
Координаты поля в ДВ
|
|||
|---|---|---|---|
|
#18+
Надо не изобретать велосипед, а посмотреть как в PFC dropdown calendar/calculator сделаны... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2004, 18:02 |
|
||
|
Координаты поля в ДВ
|
|||
|---|---|---|---|
|
#18+
ФилиппНадо не изобретать велосипед, а посмотреть как в PFC dropdown calendar/calculator сделаны... Зато быстро и кода мало :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2004, 18:31 |
|
||
|
Координаты поля в ДВ
|
|||
|---|---|---|---|
|
#18+
2 gal20 Большое спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2004, 18:33 |
|
||
|
Координаты поля в ДВ
|
|||
|---|---|---|---|
|
#18+
ФилиппНадо не изобретать велосипед, а посмотреть как в PFC dropdown calendar/calculator сделаны Алгоритм применяемый в PFC, а конкретно в объекте pfc_n_cst_dropdown функция of_position предполагает что все строки в DataWindow видимы и имеют одинаковую высоту, что не всегда верно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2004, 16:55 |
|
||
|
|

start [/forum/topic.php?fid=15&msg=32686067&tid=1338895]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
168ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 13ms |
| total: | 279ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...