![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
BM_SETIMAGE [D7, WinXP]
tytus © (2006-03-16 12:13:00)Добрый день всем. Помогите разобраться - как с помощью данного сообщения нарисовать на кнопке (TButton) картинку
(BitMap)?
XaM (2006-03-18 06:27:00) [1]На вкладке "Дополнительно" есть SpeedButton
tytus (2006-03-17 14:54:00) [2]Ну это понятно, а как все таки нарисовать битмап на кнопке?
XaM (2006-03-17 13:40:00) [3]Да и я об этом
clickmaker (2006-03-17 13:27:00) [4]
> tytus (16.03.06 12:13)
А смысл? Если все равно пользуешь VCL, то BitBtn, SpeedButton
XaM (2006-03-17 12:59:00) [5]Тот пример для чистого апи. В VCL в StdCtrls.pas для кнопки определены стандартные стили BS_DEFPUSHBUTTON или BS_PUSHBUTTON.
procedure TButton.SetButtonStyle(ADefault: Boolean);
const
BS_MASK = $000F;
var
Style: Word;
begin
if HandleAllocated then
begin
if ADefault then Style := BS_DEFPUSHBUTTON else Style := BS_PUSHBUTTON;
if GetWindowLong(Handle, GWL_STYLE) and BS_MASK <> Style then
SendMessage(Handle, BM_SETSTYLE, Style, 1);
end;
end;
tytus (2006-03-17 09:10:00) [6]>[1]XaM
BM:HBITMAP;
BM:=LoadImage(HInstance,PChar(ExtractFilePath(Application.ExeName)+'Img1.bmp'),IMAGE_BITMAP,0,0,LR_LOADFROMFILE);//картинка грузится
SendMessage(Button2.Handle,BM_SETIMAGE,0,BM);//ничего не присходит
пытался изменить стиль кнопки:
SendMessage(Button2.Handle,BM_SETSTYLE,BS_BITMAP,0);
тоже ничего не происходит...
XaM (2006-03-16 13:28:00) [7]Bitmap:Hbitmap;
Bitmap:=LoadBitmap(Форма или 0,'картинка');
sendMessage(Кнопка,BM_SETIMAGE,0,Bitmap);