Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.10.08;
Скачать: [xml.tar.bz2];

Вниз

TrackBar и рамка фокуса   Найти похожие ветки 

 
trackbar   (2006-08-23 19:25) [0]

Как бы избавиться от некрасивой пунктирной рамки, которая появляется когда TrackBar находится в фокусе? Подскажите куда копать.


 
PSPF2003 ©   (2006-08-23 19:30) [1]

Смотри метод Paint


 
trackbar   (2006-08-23 19:33) [2]

TTrackBar рисуется функциями винды. тут никакого Paint"a перекрыть не выйдет, я так понял.


 
trackbar   (2006-08-23 19:39) [3]

Сделал самый простой вариант, но он мне жутко не нравится - передаю фокус на иной контрол в событии OnChange.


 
PSPF2003 ©   (2006-08-23 19:51) [4]

Создай свой TTrackBar


 
Sam Stone ©   (2006-08-23 20:22) [5]

А ручками в OnPaint не получится зарисовать обводку поверх имеющейся?


 
trackbar   (2006-08-23 20:25) [6]

PSPF2003 ©   (23.08.06 19:51) [4]
вариант забавный, но не удобный. нужны именно стандартные контролы, чтобы юзер чувствовал себя уютно.

Sam Stone ©   (23.08.06 20:22) [5]
тут много слишком нюансов ведь надо. поднимать цвета которые под обводкой и т.д., по моему тоже крайний вариант совершенно.

может что Отцы скажут? я чувствую что ответ лежит на поверхности.


 
Sam Stone ©   (2006-08-23 20:36) [7]


> trackbar   (23.08.06 20:25) [6]

 Чем не нравится TrackBar.Parent.Color? Или В любом случае получить цвет нужного пикселя неcложно ) Разве что у тебя градиентная заливка на форме.


 
PSPF2003 ©   (2006-08-23 20:38) [8]


> нужны именно стандартные контролы

Ksdev ThemeEngine
Стандартные , только с другой раскраской.


 
trackbar   (2006-08-24 05:16) [9]

PSPF2003 ©   (23.08.06 20:38) [8]
платные ) религия не позволяет.


 
DVM ©   (2006-08-24 10:10) [10]


> TTrackBar рисуется функциями винды. тут никакого Paint"a
> перекрыть не выйдет, я так понял.

Выйдет, выйдет. Как и любое другое сообщение.


 
trackbar   (2006-08-29 07:16) [11]

хм, отловить сообщение WM_PAINT у контрола (класс обертка надо стандартным) я могу, но мне ведь надо теперь отрисовать без фокусной рамки? выполнив Invalidate понятное дело фокус отрисуется... снимать фокус, отрисовывать, возвращать? я запутался (


 
DVM ©   (2006-08-29 10:12) [12]


> но мне ведь надо теперь отрисовать без фокусной рамки?

Рисовать придется весь контрол самому, подставив свою оконную процедуру и самомтоятельно обрабатывая сообщения WM_PAINT и WM_ERASEBKGND.


 
tButton ©   (2006-08-29 10:42) [13]


> Sam Stone ©   (23.08.06 20:22) [5]
> тут много слишком нюансов ведь надо. поднимать цвета которые
> под обводкой и т.д., по моему тоже крайний вариант совершенно.

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


 
DVM ©   (2006-08-29 10:45) [14]


> помоему должен быть метод который рисует этот самый пунктирный
> прямоугольник

Обработчик WM_PAINT


 
tButton ©   (2006-08-29 10:50) [15]


> DVM ©   (29.08.06 10:45) [14]

я был не понят
Дельфи под рукой нету
описаный метод использовал однажды и давно
поэтому импровизирую по памяти
TrackBar1OnPaint(Sender: tObject);
...
TrackBar1.Canvas.DrawFocusRect
...

и будет вам счастье
без заморочек.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2006.10.08;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.041 c
15-1158480993
Весь в делах
2006-09-17 12:16
2006.10.08
Разработка


15-1158361464
Doblclick
2006-09-16 03:04
2006.10.08
Nokia 6610 i


15-1158160453
Vlad Oshin
2006-09-13 19:14
2006.10.08
пистолет мини-рассказ


3-1155013263
DelphiLexx
2006-08-08 09:01
2006.10.08
Уменьшить мерцание DBGrid a при перемещении курсора


3-1155020491
DelphiLexx
2006-08-08 11:01
2006.10.08
Добавлять записи из одного TRxMemoryData в другой





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский