Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как красиво отучить TSpeedButton рисовать себя в стиле WinXP [D7, WinXP]


MegaVolt ©   (2007-02-15 12:47:00) 

Кнопка TSpeedButton в D5 имела замечательную возможность быть прозрачной. В D7 в WinXP эта возможность пропала хотя без стилей она ещё есть. Как можно максимально красиво отучить её рисовать себя под WinXP непрозрачной хотя она должна быть прозрачной?


MegaVolt   (2007-02-20 15:13:00) [1]

Как создать битмап с разными состояниями кнопки? (Фотошоп пока оставим в стороне)


RASkov   (2007-02-20 14:40:00) [2]

> Чем мне поможет CopyRect?

Создай битмап с разными состояниями кнопки и при определенном условии CopyRect нужный...


MegaVolt   (2007-02-20 14:34:00) [3]

Стандартная функция рисования DrawThemeBackground насколько я в курсе исспользует стандартные цвета и кисти. Каким образом мне её намалявать на моём фоне? Чем мне поможет CopyRect?


RASkov   (2007-02-20 14:26:00) [4]

> [13] MegaVolt ©   (20.02.07 14:22)

FillRect (Brush.Bitmap=)
CopyRect
И рисуй что хочешь....


MegaVolt   (2007-02-20 14:22:00) [5]

>Попробуй заменить TSpeеdButton чем нибудь другим - ТImage например.

Да хоть Tcanvas :) Как на ней програмнонарисовать кнопку сохранив фоновый рисунок?


RASkov   (2007-02-20 13:08:00) [6]

> [11] MegaVolt ©   (20.02.07 12:14)

Откажись от стилей... откажись от TSpeеdButton.... начни с нуля... сделай свое.... ищи сторонние компоненты.
Тебе не отвечают потому, что не страдают такой фигней
Попробуй заменить TSpeеdButton чем нибудь другим - ТImage например.


MegaVolt   (2007-02-20 12:14:00) [7]

>Ну "выгни" его в какомнить графич. редакторе.....
Это понятно но не совсем ясно как правильно гнуть чтобы вышло похоже. Поэтому и хотелось бы как то это рисовать програмно стандартными функциями. Неужели стандартные функции отрисовки тем не позволяют такую фишку нарисовать?


RASkov   (2007-02-20 12:09:00) [8]

> [9] MegaVolt ©   (20.02.07 10:46)

Ну "выгни" его в какомнить графич. редакторе.....


MegaVolt   (2007-02-20 10:46:00) [9]

Попробовал глиф как был плоский так плоским и остался :(


RASkov   (2007-02-19 16:28:00) [10]

> [7] MegaVolt ©   (19.02.07 16:24)

Попробуй, потом раскажешь.;)


MegaVolt   (2007-02-19 16:24:00) [11]

>Вырежи тот кусочек фона над которым лежит кнопка, сохрани в отдельный файл и загрузи его в глиф кнопки....

И что это даст? Нужно же как то его натянуть на изогнутую кнопку. Или при загрузке в глиф он автоматом мою картинку натянет на кнопку и картинк будет выглядеть как нормальная XP кнопка?


RASkov   (2007-02-19 15:30:00) [12]

> [5] MegaVolt ©   (19.02.07 13:11)

Вырежи тот кусочек фона над которым лежит кнопка, сохрани в отдельный файл и загрузи его в глиф кнопки....


MegaVolt   (2007-02-19 13:11:00) [13]

>можно. так же, как и форму: button.Visible := false;
Прозрачная и невидимая всё же разные вещи :) Мне Нужно получить кнопку через которую видно фоновую картинку. В 98 всё прекрасно работало. В XP тот способ который был в 98 уже не подходт так как кнопка слишком угловата для XP-шного интерфейса. Вот и появилось желание сделать кнопку в стиле XP но чтобы через неё был виден фон.

Фон статичен т.е. меня вполне устроят парочка картинок нажата / ненажата. Но вот как из моей фоновой картинки сделать кнопку я не знаю :(


amoeba   (2007-02-17 14:38:00) [14]


> MegaVolt ©   (15.02.07 12:47)  
> Кнопка TSpeedButton в D5 имела замечательную возможность
> быть прозрачной. В D7 в WinXP эта возможность пропала хотя
> без стилей она ещё есть. Как можно максимально красиво отучить
> её рисовать себя под WinXP непрозрачной хотя она должна
> быть прозрачной?

Когда коту делать нечего ...


Ketmar   (2007-02-17 11:48:00) [15]

> MegaVolt ©   (16.02.07 14:40) [2]
можно. так же, как и форму: button.Visible := false;


MegaVolt   (2007-02-16 14:40:00) [16]

>Микрософт этого не обещал.

Микрософт не обещал. А вот ворланд если судить по наличию свойства transparent обещал.

Может есть другие пути получить прозрачную кнопку?
Вот форму со всем добром можно сделать прозрачной. А отдельную кнопку можно?


Anatoly Podgoretsky   (2007-02-15 20:37:00) [17]

> MegaVolt  (15.02.2007 12:47:00)  [0]

> хотя она должна быть прозрачной?

Микрософт этого не обещал.


Наверх

Титульная страница Поиск, карта сайта Написать письмо