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

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

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);


Наверх

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