Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2014, 18:00   #1
grominfo
Форумчанин
 
Аватар для grominfo
 
Регистрация: 30.05.2011
Сообщений: 651
По умолчанию TMediaPlayer. Убрать рамку вокруг кнопок

Всем привет!

Отредактировал res файл данного компонента, заменив иконки кнопок. Но вокруг них осталась рамка. Кто знает, как ее убрать?

З.Ы. Заменить кнопки на свои не предлагайте ))) Нужно изменить именно в компоненте.
Создание, программирование и сопровождение сайтов любой сложности.
Изготовление программ на заказ.
Список услуг и портфолио на сайте www.andreygrom.ru
grominfo вне форума Ответить с цитированием
Старый 15.12.2014, 19:17   #2
beegl
instagram
Участник клуба
 
Аватар для beegl
 
Регистрация: 24.05.2008
Сообщений: 1,451
По умолчанию

покажи компонент
beegl вне форума Ответить с цитированием
Старый 16.12.2014, 00:10   #3
grominfo
Форумчанин
 
Аватар для grominfo
 
Регистрация: 30.05.2011
Сообщений: 651
По умолчанию

Цитата:
Сообщение от beegl Посмотреть сообщение
покажи компонент
Компонент стандартный, со вкладки System в Delphi 7
Создание, программирование и сопровождение сайтов любой сложности.
Изготовление программ на заказ.
Список услуг и портфолио на сайте www.andreygrom.ru
grominfo вне форума Ответить с цитированием
Старый 16.12.2014, 02:34   #4
kropotkina-alice
Форумчанин
 
Аватар для kropotkina-alice
 
Регистрация: 27.10.2014
Сообщений: 594
По умолчанию

Цитата:
Сообщение от grominfo Посмотреть сообщение
Отредактировал res файл данного компонента, заменив иконки кнопок. Но вокруг них осталась рамка. Кто знает, как ее убрать?
Нужно изменить именно в компоненте.
В файле MPlayer.pas есть процедура procedure TMediaPlayer.DrawButton.
В ней есть кусок, отвечающий за отрисовку рамок у кнопок:
Код:
    { draw button beveling }
    if IsDown then
    begin
      Pen.Color := clBtnShadow;
      MoveTo(X + 1, Height - 2);
      LineTo(X + 1, 1);
      LineTo(X + ButtonWidth - 1, 1);
    end
    else
    begin
      Pen.Color := clBtnHighlight;
      MoveTo(X + 1, Height - 2);
      LineTo(X + 1, 1);
      LineTo(X + ButtonWidth - 1, 1);
      Pen.Color := clBtnShadow;
      MoveTo(X + 2, Height - 2);
      LineTo(X + ButtonWidth - 2, Height - 2);
      LineTo(X + ButtonWidth - 2, 1);
    end;
Если его закомментировать, рамки рисоваться не будут...
Только надо будет MPlayer.pas перекомпилить и полученный MPlayer.dcu перенести в LIB. С заменой.

Последний раз редактировалось kropotkina-alice; 16.12.2014 в 02:37.
kropotkina-alice вне форума Ответить с цитированием
Старый 16.12.2014, 15:25   #5
grominfo
Форумчанин
 
Аватар для grominfo
 
Регистрация: 30.05.2011
Сообщений: 651
По умолчанию

Цитата:
Только надо будет MPlayer.pas перекомпилить и полученный MPlayer.dcu перенести в LIB. С заменой.
Вот в этом и проблема. Как перекомпилировать стандартные компоненты? У них же нет .dpk файлов
Создание, программирование и сопровождение сайтов любой сложности.
Изготовление программ на заказ.
Список услуг и портфолио на сайте www.andreygrom.ru
grominfo вне форума Ответить с цитированием
Старый 16.12.2014, 15:34   #6
zvygin1964
Старожил
 
Аватар для zvygin1964
 
Регистрация: 19.06.2013
Сообщений: 2,463
По умолчанию

Есть скрины, как это сделать тут:
http://expert.delphi.int.ru/question...-2/#mini_forum .
Делал так. Получилось. Объяснить, как это работает не смогу.
Репутация: полный "0"

Последний раз редактировалось zvygin1964; 16.12.2014 в 15:37.
zvygin1964 вне форума Ответить с цитированием
Старый 16.12.2014, 15:39   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

............delete
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 16.12.2014 в 21:42.
Аватар вне форума Ответить с цитированием
Старый 16.12.2014, 18:35   #8
kropotkina-alice
Форумчанин
 
Аватар для kropotkina-alice
 
Регистрация: 27.10.2014
Сообщений: 594
По умолчанию

Цитата:
Сообщение от grominfo Посмотреть сообщение
Вот в этом и проблема. Как перекомпилировать стандартные компоненты? У них же нет .dpk файлов
Странно... Элементарная вещь вызвала такое затруднение...
Пошаговая инструкция:
1. Скопируйте в каталог с вашим проектом файл MPlayer.pas из каталога Delphi7\Source.
2. Совершенно безбоязненно закомментируйте тот кусок, который я вам показала. Можете сделать еще что-нибудь...
3. Добавьте в любой юните вашего проекта в список uses наименование MPlayer. (Это нужно, чтобы компилятор "подцепил" его)
4. Скомпилируйте ваш проект, как вы это всегда делаете.
5. Вы обнаружите в каталоге вашего проекта волшебным образом появившийся файл MPlayer.dcu.
6. Переименуйте MPlayer.dcu в каталоге Delphi7\LIB, например, в MPlayerOLD.dcu.
7 Скопируйте в каталог Delphi7\LIB файл MPlayer.dcu из пункта 5.
8. Теперь добавьте на свою форму компонент MediaPlayer и запустите ваш проект...

ЗюЗю
Забыла указать, что надо закомментировать ещё одну строку в исходнике MPlayer.pas:
Код:
Rectangle(X, 0, X + ButtonWidth, Height);
(она прямо перед упомянутым куском кода отрисовки)

Успехов!
Если вам не нравится общая рамка вокруг MediaPlayer-а, вам ведь не составит труда найти в исходниках, где это происходит и аналогичным образом "обезвредить"?

ЗюЗюЗю
Вы в любой момент можете вернуть обычный вид MediaPlayer-а, переименовав старый и новый файлы MPlayer.dcu в каталоге Delphi7\LIB.

Последний раз редактировалось kropotkina-alice; 16.12.2014 в 19:05.
kropotkina-alice вне форума Ответить с цитированием
Старый 16.12.2014, 18:41   #9
grominfo
Форумчанин
 
Аватар для grominfo
 
Регистрация: 30.05.2011
Сообщений: 651
По умолчанию

Цитата:
Странно... Элементарная вещь вызвала такое затруднение...
Действительно, че это я. Ну не догадался )))

Попробую сейчас сначала совет Аватара. Тоже уж больно не хочется подменять файлы стандартных компонентов, а потом учитывать это при переустановке делфи
Создание, программирование и сопровождение сайтов любой сложности.
Изготовление программ на заказ.
Список услуг и портфолио на сайте www.andreygrom.ru
grominfo вне форума Ответить с цитированием
Старый 16.12.2014, 19:50   #10
grominfo
Форумчанин
 
Аватар для grominfo
 
Регистрация: 30.05.2011
Сообщений: 651
По умолчанию

Цитата:
Если вам не нравится общая рамка вокруг MediaPlayer-а, вам ведь не составит труда найти в исходниках, где это происходит и аналогичным образом "обезвредить"?
Не нравится. Составит. Не нашел где она там рисуется. Подскажите, пожалуйста. Разделители между кнопками убрал, а где рисуется рамка - не нашел.

И как можно изменить расстояние между кнопками?

Аватар, ваш метод почему-то не сработал.
Создание, программирование и сопровождение сайтов любой сложности.
Изготовление программ на заказ.
Список услуг и портфолио на сайте www.andreygrom.ru
grominfo вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как убрать рамку вокруг картинки nechaevnet HTML и CSS 3 06.07.2014 22:41
Убрать рамку из печати Paskal1 Общие вопросы Delphi 2 26.01.2013 16:31
Как заставить браузер рисовать рамку вокруг пустой ячейки? Stilet HTML и CSS 7 11.09.2012 13:36
Убрать пунктирную рамку вокруг Image ivan.tiran Общие вопросы Delphi 3 17.05.2012 20:41
Как изменить стиль гиперссылки? Нужно убрать рамку вокруг картинки. GLB HTML и CSS 5 18.01.2009 19:18