![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как красиво отучить 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]
> хотя она должна быть прозрачной?
Микрософт этого не обещал.