Помощь - Поиск - Пользователи - Календарь
Полная версия: Изображение на кнопке
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Ада и другие языки
Fanat
Есть ли такое свойство,чтобы рисунок автоматически
растягивался или сжимался по размеру кнопки?..

Как в процессе работы можно изменить изображение кнопки,
то есть на рисунок из другого файла?..
FreeMan
делоешь со стилем BS_BITMAP..
когда хочешь сменить битмап, то посылаешь BM_SETIMAGE message.
Fanat
Цитата(FreeMan @ 7.10.2007 11:02) *

делоешь со стилем BS_BITMAP..
когда хочешь сменить битмап, то посылаешь BM_SETIMAGE message.


Можно поподробней...что делать со стилем BS_BITMAP?..Как?..
И кому посылать BM_SETIMAGE message?..
volvo
Цитата
Как в процессе работы можно изменить изображение кнопки
А можно поподробнее - какой кнопки? Кнопки они разные бывают... Бывает TButton, а бывает TBitBtn или TSpeedButton ...
FreeMan
Цитата
If you create a button by specifying the BUTTON class with the CreateWindow or CreateWindowEx function, you can specify a combination of the following button styles.
блаблабла
BS_BITMAP
Specifies that the button displays a bitmap.

Цитата
An application sends a BM_SETIMAGE message to associate a new image (icon or bitmap) with the button.
Syntax
To send this message, call the SendMessage function as follows.
lResult = SendMessage( // returns LRESULT in lResult
(HWND) hWndControl, // handle to destination control
(UINT) BM_SETIMAGE, // message ID
(WPARAM) wParam, // = (WPARAM) () wParam;
(LPARAM) lParam // = (LPARAM) () lParam; );

Parameters
wParam Specifies the type of image to associate with the button. This parameter can be one of the following values:
IMAGE_BITMAP
IMAGE_ICON
lParam Handle to the image to associate with the button.

Return Value
The return value is a handle to the image previously associated with the button, if any; otherwise, it is NULL.

Вотъ
Цитата
Бывает TButton, а бывает TBitBtn или TSpeedButton ...

А они случаем не из обычной кнопке получаюцо?
volvo
Цитата
А они случаем не из обычной кнопке получаюцо?
Получаются может и из обычной, только если у меня TBitBtn, то мне гораздо проще сменить Glyph, чем мудрить с сообщениями (если уж пользоваться VCL - то пользоваться ей везде, а не часть API/часть VCL)...

Кстати, Fanat,
Цитата(Правила Раздела)
2. Точно указывайте язык, название и версию компилятора (интерпретатора).

ты не указал... Может у тебя действительно чистый API в этом задании...
Fanat
Цитата(volvo @ 7.10.2007 12:10) *

Получаются может и из обычной, только если у меня TBitBtn, то мне гораздо проще сменить Glyph, чем мудрить с сообщениями (если уж пользоваться VCL - то пользоваться ей везде, а не часть API/часть VCL)...

Кстати, Fanat,

ты не указал... Может у тебя действительно чистый API в этом задании...


C++ Builder 6. Пользоваться можно чем угодно. Но мне понятнее Glyph.
А как сменить Glyph?
volvo
BitBtn1->Glyph->LoadFromFile(new_file_name);

?
Fanat
Цитата(volvo @ 7.10.2007 12:51) *

BitBtn1->Glyph->LoadFromFile(new_file_name);

?


Работает. Спасибо. smile.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.