On-line: гостей 1. Всего: 1 [подробнее..]
АвторСообщение



Пост N: 422
Зарегистрирован: 03.12.08
ссылка на сообщение  Отправлено: 15.06.26 11:12. Заголовок: клик по изображению (IMAGE .... ON CLICK () и обработка BunttonEX


Коллеги , подскажите - что делаю не так или ваш способ реализации .
В кратце : имеем контрол IMAGE и поверх него есть две кнопки - "Предыдущее/Следующее изображение"
Нужно сделать отработку по клику на картинке (ON CLICK) и чтоб при этом обрабатывались клики и на указанных кнопках ...
Сейчас работает или одно или второе . Причём , кнопки не отрабатываются даже если нет указанных процедур в блоке ON CLICK (ACTION) , но есть просто TOOLTIP в области картинки ... Понимаю , что вся область в границах картинки воспринимается для ACTION(ON CLICK) как область картинки и наложенные по верх неё кнопки не отрабатываются своим ON CLICK . И что делать ? Ну не хочется выносить сами кнопки за пределы картинки ...


Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 9 [только новые]


администратор




Пост N: 8335
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.06.26 13:16. Заголовок: Softlog86 пишет: В ..


Softlog86 пишет:

 цитата:
В кратце : имеем контрол IMAGE и поверх него есть две кнопки - "Предыдущее/Следующее изображение"


1. сделай слайдер под картинкой
2. или клик в правой части картинки вперед , в левой назад
3. спроси ИИ
4. сделай как в телеге или вайбере

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4890
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 15.06.26 14:45. Заголовок: Softlog86 пишет 1. ..


Softlog86 пишет
 цитата:
или ваш способ реализации


1. Сделайте окно с картинками PANEL (пример basic\containers\Panel_2) или CHILD (без title) с верт., горизонтальной прокруткой (справа от browse), ширину посчитайте от мах кол-ва картинок.
2. Исп. TsBrowse (т.е. картинки в ячейках) справа от browse, кол-во колонок от мах кол-ва картинок в строке
3. Сделать в продолжение header browse, типа ToolBar (линейка) с кнопками

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 423
Зарегистрирован: 03.12.08
ссылка на сообщение  Отправлено: 15.06.26 15:49. Заголовок: Указанные варианты о..


Указанные варианты опробовал ... Разве что клик по левой-правой половине картинки может быть интересным
Но нужно как-то пользователю ещё показать что есть такие места для клика ....

Буду изобретать дальше . Инструментов много . Главное понять где-чего брать :)

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 8336
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.06.26 18:50. Заголовок: еще SAMPLES\BASI..


еще
SAMPLES\BASIC\CONTAINERS\PAGERBOX

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4891
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 15.06.26 19:11. Заголовок: Softlog86 Попробуйт..


Softlog86
Попробуйте, как в Opere, наводите мышь (mouse hover) на картинку, делать Show кнопкам (уст. нужные коордитаты),
на ней (если есть картинки еще), при mouse lover кнопки делаете Hide, тогда только 2е кнопки и нужны, по идее

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 8337
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.06.26 19:12. Заголовок: SergKis пишет: Попр..


SergKis пишет:

 цитата:
Попробуйте, как в Opere




Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 424
Зарегистрирован: 03.12.08
ссылка на сообщение  Отправлено: 16.06.26 13:04. Заголовок: Идея чтоб при наведе..


Идея чтоб при наведении (Mouse hover) показывать кнопки - не сработала . Кнопки и так видны , только клик по ним не обрабатывается ...

Решил зайти другим путём , благо есть ответы в примерах :

Ловлю координаты мышки при клике в нужной картинке
Анализирую - есть-ли на этой картинке вообще кнопки Prev/Next и их режим (ENabled)
Если координаты клика мышкой попадают в прямоугольную область кнопки и она в состоянии Enabled - производим нужное действие (перелистывание картинки)

Только пока не могу найти функцию , которая возвращает координаты (прямоугольник) нужного контрола (ButtonEx) по его хэндлу или названию ...
Есть какие-то функции "GetRect()" , но они не верно работают ... или я не совсем понял как с ними работать ...

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4892
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 16.06.26 17:10. Заголовок: Softlog86 Клиентска..


Softlog86
Клиентская область.
Если в событиях контрола (ACTION, MOUSEHOVER\GOTFOCUS, MOUSELOVER\LOSTFOCUS, ...) то: nH := This.ClientHeight, nW := This.ClientWidth
Если в событиях окна, то This.<имя контрола>.ClientHeight, nW := This.<имя контрола>.ClientWidth
Если через ф-ии: nW := _GetClientRect ( Handle )[ 3 ], nH := _GetClientRect ( Handle )[ 4 ]
Внешний размер окна\контрола.
nW := GetWindowWidth ( Handle )
nH := GetWindowHeight ( Handle )

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 2057
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 17.06.26 10:03. Заголовок: клиентская область д..


клиентская область дает относительные размеры ( ширину и высоту , а не реальные координаты на экране, первые две координаты всегда равны 0). а координаты мыши они привязаны к реальному положению на экране. с клиентской областью нужно постоянно высчитывать координаты кнопки относительно позиции окна на экране и заданной позиции кнопки в окне

нет ничего проще сразу брать область кнопки в физ координатах GetWindowRect()
aWrect := {0,0,0,0}
nHandle := GetControlHandle("button_1", "form_1")
GetwindowRect(nhandle, @aWRect ) - aWrect содегжит физические координаты кнопки, как бы не таскали окно по экрану, а пересчет надо повесить на событие ON MOVE окна чтоб координаты всегда считались автоматом

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 1946
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет