Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.08;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.045 c
2-1158925605
learner
2006-09-22 15:46
2006.10.08
SetLength дла массива Record - в.


2-1158512716
POP
2006-09-17 21:05
2006.10.08
WaitCommEvent(ComFile,Mask,@Overlapped)


2-1158359832
Juri
2006-09-16 02:37
2006.10.08
Фильтровать базу данных по куску слова


15-1158656524
слов нет..
2006-09-19 13:02
2006.10.08
верстка


2-1158637631
Alex_AA
2006-09-19 07:47
2006.10.08
Копирование массива чисел в поле таблицы





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский