007wan |
Отправлено: 25 Ноября, 2019 - 14:42:32
|
Эксперт
Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017
Репутация: -2
|
Как вывести на кнопку ихображение так, что бы эффект нажатия кнопки не перекрывался картинкой?
Я знаю, что можно вывести картинку на статик и при нажатии отображать эффект, но это не актуально я думаю и лишняя работа, что бы рисовать эффект.
(Добавление)
У меня есть решение для этого: Есть Toolbar control. Там можно добавлять иконки для кнопок, которые не полностью растягиваются. Так может мне убрать текст кнопок у Toolbar, и будет просто кнопка с иконкой, а как хрен знает.
(Добавление)
Так выглядит прямо и красиво, но с большими отступами
Нажмите для увеличения
А так выглядит по уродски, даже иконки прямо не стоят.
Нажмите для увеличения
Нужно что-то типа этого...
(Добавление)
Иконка 16х16
(Добавление)
Всё. разобрался. Иконка стоит ровно теперь и красиво.
------
Как Toolbar задать отступы сверху, слева, справа,снизу?? А так же указать размер кнопки, что бы иконку растянуть. - Это два разных вопроса.
(Добавление)
Не работает (Отобразить)CODE:if(message.lparam == Object_Toolbar1)
{
if(message.wparam == WM_USER + 1)
{
messagebox("Home");
return;
}
} |
|
|
007wan |
Отправлено: 04 Декабря, 2019 - 13:07:50
|
Эксперт
Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017
Репутация: -2
|
Zireael пишет: Цитата: а ico можно?
LoadImageA 3й параметр.
Не работает!
CODE:int image1 = LoadImage(0, "C:\Users\Home\Desktop\Home.ico", 1, 16, 16, 16); // загрузка картинки кнопки 100*34
int Object_Button5 = CreateWindow(0, "BUTTON", "", WS_VISIBLE | WS_CHILD, 10, 10, 20, 20, gethwnd(0), 0, 0, 0);
sendmessage(BM_SETIMAGE, 0, image1, formatiw(Object_Button5));
И вообще не понятно какие константы используются при создании кнопки |
|
|
Zireael |
Отправлено: 04 Декабря, 2019 - 13:30:37
|
Эксперт
Покинул форум
Сообщений всего: 4464
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: Не работает!
Ну, ну. В BM_SETIMAGE wParam кто будет менять.
code (Отобразить)CODE:#define BM_SETIMAGE 247
#define WS_VISIBLE 268435456
#define WS_CHILD 1073741824
#define WS_BORDER 8388608
#define BS_ICON 64
#define IMAGE_ICON 1
external(INT, "CreateWindow", "CreateWindowExA", "User32.dll" );
external(INT, "LoadImage", "LoadImageA", "User32.dll" );
int b0;
int image1=LoadImage(0, "C:\111.ico", IMAGE_ICON, 0, 0, 16); // загрузка картинки
createdialog(0);
showdialog(0, "Диалог",100, 100, 300, 300, 1, 1);
loop()sleep(10);
function getmessage(0, WM_CREATE)
{
b0=CreateWindow(0, "BUTTON", "", BS_ICON | WS_VISIBLE | WS_CHILD | WS_BORDER, 10, 10, 80, 25, gethwnd(0), 0, 0, 0);
sendmessage(BM_SETIMAGE, IMAGE_ICON, image1, formatiw(b0)); // установить изображение
} |
|
|
007wan |
Отправлено: 04 Декабря, 2019 - 14:08:11
|
Эксперт
Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017
Репутация: -2
|
Zireael пишет: Цитата: Не работает!
Ну, ну. В BM_SETIMAGE wParam кто будет менять.
code (Отобразить)CODE:#define BM_SETIMAGE 247
#define WS_VISIBLE 268435456
#define WS_CHILD 1073741824
#define WS_BORDER 8388608
#define BS_ICON 64
#define IMAGE_ICON 1
external(INT, "CreateWindow", "CreateWindowExA", "User32.dll" );
external(INT, "LoadImage", "LoadImageA", "User32.dll" );
int b0;
int image1=LoadImage(0, "C:\111.ico", IMAGE_ICON, 0, 0, 16); // загрузка картинки
createdialog(0);
showdialog(0, "Диалог",100, 100, 300, 300, 1, 1);
loop()sleep(10);
function getmessage(0, WM_CREATE)
{
b0=CreateWindow(0, "BUTTON", "", BS_ICON | WS_VISIBLE | WS_CHILD | WS_BORDER, 10, 10, 80, 25, gethwnd(0), 0, 0, 0);
sendmessage(BM_SETIMAGE, IMAGE_ICON, image1, formatiw(b0)); // установить изображение
} Спасибо! теперь все работает думал нужно заменять BM_SETIMAGE на IMAGE_ICON |
|
|
007wan |
Отправлено: 15 Декабря, 2019 - 20:54:48
|
Эксперт
Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017
Репутация: -2
|
1)есть новые контролы, которые еще не было?
2)есть новые функции для контроллов(например, сменить цвет текста у кнопки или цвет текста у отдельной вкладки таба)?
3)например, ищется изображение на одном разрешении экрана, а на другом не найдется, потому что разрешение уже другое, а картинка та же. Можно ли найти способ поиска изображений, что бы искал на всех изображениях, например, сжатие или обратное этому, что бы я указал разрешение, а он сжимал исходя из оригинала или увеличивал картинку |
|
|
|