On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение
постоянный участник




Пост N: 6462
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 05.10.19 13:47. Заголовок: Динамическое изменение размеров иконки/картинки ?


Всем привет.
Столкнулся с проблемой изменения размеров иконки/картинки на кнопке.
Имеется иконка + картинка одного размера в ресурсах проги.
iSanta128         ICON           res\Santa128x128.ico 
Santa128 PNG res\santa128x128.png

Как на базе этой иконки/картинки получить другой размер ?
Есть ли какие функции в MiniGui или в FW ?
В МиниГуи можно же загрузить из ресурса объект и получить его хендл:
M->hImg   := LoadImage( "Santa128" )

А хенд на кнопку как можно поместить ?
И можно ли делать преобразования иконки/картинки по этому хендлу ?
Я слабо разбираюсь в этой тематике, просветите пожалуйста меня.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 28 , стр: 1 2 All [только новые]


moderator




Пост N: 1604
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 09.10.19 16:02. Заголовок: Andrey пишет: с ик..


Andrey пишет:

 цитата:
с иконками когда пример будет работать ?


После выхода новой сборки 19.10

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 6471
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 09.10.19 17:03. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
После выхода новой сборки 19.10



Ждем с нетерпеньем !

На сайте http://www.hmgextended.com/download.html :
Harbour MiniGUI Extended Edition 19.08 setup.
Includes MiniGUI libraries, include files, development tools, source code, sample applications, documentation, Harbour compiled libraries, Harbour include files and Harbour compiler binaries. Libraries are compiled for Borland C++.
Borland C++ Compiler version 5.8


Borland C++ Compiler version 5.8 - это сейчас Open Source лицензия ?
Не хотелось бы попадать под всякие разборки...

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 6475
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.10.19 09:25. Заголовок: Всем привет ! В дого..


Всем привет !
В догонку к исправлениям для иконок.
Имеем сейчас в МиниГуи такую команду:
   DRAW ICON IN WINDOW Form_1 AT 0, 0 PICTURE cIco WIDTH 96 HEIGHT 96 COLOR aBackColor

Можно ли сделать/добавить вот такой новый синтаксис:
   nImgSize := 48 
hIco := LoadIconByName( cIco, nImgSize, nImgSize )
DRAW ICON IN WINDOW Form_1 AT 0, 0 PICTURE hIco WIDTH nImgSize HEIGHT nImgSize COLOR aBackColor
или
DRAW ICON IN WINDOW Form_1 AT 0, 0 HPICTURE hIco WIDTH nImgSize HEIGHT nImgSize COLOR aBackColor

Т.е. показ иконки через загруженный хендл иконки ?

Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 1605
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 12.10.19 18:25. Заголовок: Andrey пишет: добав..


Andrey пишет:

 цитата:
добавить вот такой новый синтаксис


Такая возможность уже существует в этой команде
Попробуй

 цитата:
DRAW ICON IN WINDOW Form_1 AT 0, 0 HICON hIco WIDTH nImgSize HEIGHT nImgSize COLOR aBackColor



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 6478
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.10.19 19:21. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Попробуй


Отлично, Работает. Спасибо !

А в доку эти команды попадут ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 6514
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 17.11.19 18:02. Заголовок: Всем привет ! Надо б..


Всем привет !
Надо бы пример исправить \MiniGUI\SAMPLES\BASIC\ButtonEx_DynamicMenu\demo.prg, вот так:
         // Расчет фонтов кнопок  STOP ------------------------------ 

// получить размер иконки кнопки в зависимости от высоты кнопки
nIcoSize := INT(nBtnH - 10) // размер иконки
nIcoSize := IIF( nIcoSize > 128, 128, nIcoSize)

FOR nI := 1 TO Len(aBtn)

cN := aBtn[nI][1]
@ nY, nX BUTTONEX &cN WIDTH nBtnW HEIGHT nBtnH ;
CAPTION aBtn[nI][2] ICON aBtn[nI][4] BOLD SIZE aBtn[nI][9] ;
FLAT NOXPSTYLE HANDCURSOR NOTABSTOP ;
BACKCOLOR aBtn[nI][6] GRADIENTFILL aBtn[nI][7] ;
ON MOUSEHOVER ( This.Fontcolor := aFC2Btn, This.GradientFill := This.Cargo[2][7] ,;
This.Icon := LoadIconByName( This.Cargo[2][5], This.ImageWidth, This.ImageHeight ) ) ;
ON MOUSELEAVE ( This.Fontcolor := aFC1Btn, This.GradientOver := This.Cargo[2][6] ,;
This.Icon := LoadIconByName( This.Cargo[2][4], This.ImageWidth, This.ImageHeight ) ) ;
ACTION _wPost( 1, This.Index ) ;
ON INIT { || This.Cargo := { nI, aBtn[ nI ] } }

This.&(cN).ImageWidth := nIcoSize
This.&(cN).ImageHeight := nIcoSize
This.&(cN).Icon := LoadIconByName( aBtn[nI,4], nIcoSize, nIcoSize )

aN := aBtn[ nI ][8] // HotKey array

А то в некоторых случаях пролёт получается, пока придумал как сделать все мозги себе вынес...

Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 1623
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 17.11.19 19:25. Заголовок: Andrey пишет: приме..


Andrey пишет:

 цитата:
пример исправить


Поправлю, конечно.
Благодарю за помощь

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 7341
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.03.23 20:21. Заголовок: Вывожу на форме икон..


Вывожу на форме иконку:
               DRAW ICON IN WINDOW &cForm AT nY, nX2 + nG PICTURE cFile2 WIDTH nWImg HEIGHT nHImg COLOR WHITE

Если в эти координаты надо перерисовать такую же иконку, но с другими размерами,
надо ли убивать хендл этой иконки ?
И как это сделать ?

При задании имени файла - какой будет хендл этой иконки.
Команду - DestroyIcon( hIcon ) видел, hIcon - какой будет, если выводим иконку по имени ?

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 28 , стр: 1 2 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 136
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет