Уверен , что Вы Андрей знаете Manuel Mercado. Это он написал TsBrows . В то же время ( более 15 лет ) он сделал еще один класс - TsButton
, TSLines TSRadio TSTSay. Есть исходники, примеры. Mercado выложил все , как и для бровса. Думаю , что внедрить в МГ его будет более просто, чем бровс и более интересно ,чем просто "подтягивать" кнопки до такого же уровня.
Хотя возможно и ошибаюсь :)
И примеры кнопок, как обещал ...
Могут быть круглые, овальные прямоугольные, размер любой
@75, 15 SBUTTON oBtn PROMPT "Exit" OF oDlg ;
SIZE 25, 10 PIXEL ROUND ;
COLORS CLR_WHITE, { CLR_BLACK, CLR_HRED, 3 } ;
ACTION oDlg:End()
oBtn:cToolTip := "Boxes are transparent to other controls"
На кнопке может быть градиент ( вертикальный,горизонтальный, смещенный) надписи , картинки. На следующем скрине шесть
кнопок. Печать и 1.2.3.4.5
Это кнопка печати
@ 68, 82 SBUTTON aCtl[ 12 ] PROMPT "OK" OF oDlg ;
RESOURCE "Print" TEXT ON_BOTTOM ROUNDRECT NOBORDER ;
FONT oFont[ 1 ] SIZE 26, 38 PIXEL COLORS CLR_BLACK, {nRGB( 68, 146, 107 ), CLR_WHITE, 3 } ; //nRGB( 105, 139, 34 )
ACTION fPrintBole( aCtl, aGet, nGet, nTarifa, nBoletos, nCarro, cHora )
Кнопка отрабатывает "мышь". Т.е. нет фокуса, есть, нажатие. В соответствии с чем меняется картинка на кнопке. Вот две картинки , когда фокуса нет и когда указатель мыши на кнопке.
@60, 300 SBUTTON oBtn[ 4 ] OF aChild[ 1 ] FONT oFont[ 2 ] ;
SIZE 74, 26 PIXELS ;
RESOURCE "Lamp1", "Lamp2",, "Lamp3", "Shape3" ;
SHAPE ;
PROMPT "Exit" ;
TEXT ON_LEFT ;
ACTION aChild[ 1 ]:End();
COLORS CLR_BLACK ;
TOOLTIP "End Program" ;
MESSAGE 'See new "Shape" feature and 3D text (bas-relief), ' + ;
'default position, specific 3D colors'
// 3D effect (raised) in text with default position, specific colors
oBtn[ 4 ]:SetText( Nil, Nil, Nil, .F., CLR_LIGHT, CLR_SHADOW )
Интересный момент , когда на одной кнопке есть множественный выбор.
Здесь две кнопки. На первой можно выбрать просмотр, сохранение или печать.
@ 5, 30 SBUTTON oBtn[ 1 ] PROMPT aPrompt[ 1 ] PIXEL OF oDlg ;
RESOURCE "VSP" FONT oFont COLOR CLR_BLUE SHAPE ;
ACTION MsgInfo( "Main Action Sample 1" ) ;
TOOLTIP "Test"
oBtn[ 1 ]:AddHotSpot( aRVSP[ 1 ], aBVSP[ 1 ], aTVSP[ 1 ] )
oBtn[ 1 ]:AddHotSpot( aRVSP[ 2 ], aBVSP[ 2 ], aTVSP[ 2 ] )
oBtn[ 1 ]:AddHotSpot( aRVSP[ 3 ], aBVSP[ 3 ], aTVSP[ 3 ] )
Есть возможность создавать анимированные кнопки.
Кнопки "каквофисе" и еще кое что :))