Вверх ↑
Этот топик читают: Гость
Ответов: 16884
Рейтинг: 1239
#16: 2009-06-01 17:40:14 ЛС | профиль | цитата
Pirr писал(а):
у кнопок-картинок - фокуса нет.

Да ну !!!! Смелое утверждение...
Если его не видно, то еще не значит, что его нет.
Понажимай TAB и понаблюдай. Поставил светодиоды на фокус.
И у кнопок-картинок - фокус ЕСТЬ.

code_13558.txt
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1code_13558.txt [1007B] [184]
Ответов: 409
Рейтинг: 17
#17: 2009-06-01 21:15:40 ЛС | профиль | цитата
nesco писал(а):
А чего, вот так нельзя сделать

Наверно можно, только я и не предпологал что так возможно.

Tad писал(а):
Да ну !!!! Смелое утверждение...
Если его не видно, то еще не значит, что его нет.

Возможно я и не прав, просто у кнопки-картинки - нет параметра DefaultBtn, и выделения не видно.
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#18: 2009-06-01 22:34:05 ЛС | профиль | цитата
Pirr писал(а):
просто у кнопки-картинки - нет параметра DefaultBtn, и выделения не видно.
Нужно было задавать вопрос не
Pirr писал(а):
Может есть другие варианты?
а ПОЧЕМУ при установке фокуса на кнопке не появляется картинка SELECT ?
Так как SELECT = SetFocus.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Гость
Ответов: 17029
Рейтинг: 0
#19: 2009-06-02 07:22:38 правка | ЛС | профиль | цитата


Редактировалось 3 раз(а), последний 2025-01-21 05:29:39
карма: 0

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#20: 2009-06-02 08:40:41 ЛС | профиль | цитата
212.220.75.238 писал(а):
возможно как нибудь закрасить цветом стандартный Button в ХР стиле?

Стандартный батон ни в каком стиле закрасить нельзя
карма: 22

0
Разработчик
Ответов: 4698
Рейтинг: 426
#21: 2009-06-02 09:15:39 ЛС | профиль | цитата
Почему же? Можно, только надо тогда ставить кучу событий от таймера(при нажатии, при фокусе и т д), да и таймер -- загрузка ЦП:
code_13561.txt
карма: 10
0
файлы: 1code_13561.txt [296B] [159]
Гость
Ответов: 17029
Рейтинг: 0
#22: 2009-06-02 09:29:43 правка | ЛС | профиль | цитата


Редактировалось 3 раз(а), последний 2025-01-21 05:29:39
карма: 0

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#23: 2009-06-02 10:09:44 ЛС | профиль | цитата
212.220.75.238 писал(а):
а что не позволяет?


Вот, описание конструктора наших стандартных кнопок. Мне кажется, эта информация отражает полностью суть вопроса

Кладов писал(а):
NewButton( Parent, s ) - создает обычную кнопку, у которой нельзя изменить цвет (так устроена Windows: некто однажды решил, что все кнопки обязаны иметь стандартную мышиную раскраску, и с тех пор так оно и есть, только вот не все программисты используют в результате стандартные кнопки в своих приложениях).


Могу добавить только, что этот класс не представляет нам событие onPaint, а следовательно и контекст, на котором мы можем что-либо нарисовать. Были эксперименты по надрисовке картинок на стандартных кнопках в стиле XP, коряво, но получалось, а вот цвет изменить -- ничего не получилось вообще. Проще, нарисовать кнопку самому
карма: 22

0
Ответов: 5227
Рейтинг: 587
#24: 2009-06-02 10:22:09 ЛС | профиль | цитата
Разводят Вас, красят без проблем http://slil.ru/27716885 - 9 Kb
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Разработчик
Ответов: 4698
Рейтинг: 426
#25: 2009-06-02 10:25:17 ЛС | профиль | цитата
andrestudio писал(а):
http://slil.ru/27716885

А схемку на hiasm не подкинешь?
карма: 10
0
Разработчик
Ответов: 26170
Рейтинг: 2127
#26: 2009-06-02 10:35:54 ЛС | профиль | цитата
andrestudio писал(а):
Разводят Вас, красят без проблем

Вот только не надо такое говорить. Никто никого не разводит. Отрисовать на контексте окна, не означает иметь полноценную кнопку со всеми необходимыми событиями. Думаешь как отрисовывали картинки на стандартной кнопке, да точно так же, на контексте окна
карма: 22

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#27: 2009-06-02 14:28:00 ЛС | профиль | цитата
Вот что получилось на контексте окна стандартной кнопки со стилем XP


Add(MainForm,2953706,133,217)
{
Point(Handle)
link(onCreate,5655503:doEvent1,[])
}
Add(Button,8682126,462,119)
{
Left=35
Top=25
Width=145
Height=70
TabOrder=-1
Name="bt"
HintManager="hm"
Caption=""
Point(Handle)
Point(onMouseUp)
Point(onMouseDown)
Point(onMouseMove)
Point(onKeyUp)
Point(onKeyDown)
link(onMouseUp,854492:doWork2,[])
link(onMouseDown,1207932:doWork1,[(508,139)])
link(onMouseMove,13060471:doWork1,[(520,146)(520,277)(368,277)])
link(onKeyUp,854492:doWork3,[(529,153)])
link(onKeyDown,1207932:doWork2,[])
}
Add(Img_Rectangle,15227372,574,532)
{
Point2AsOffset=0
rX=3
rY=3
Color=15780518
BgColor=15780518
Style=1
Point(Point1)
Point(Point2)
Point(BgColor)
link(onDraw,9037603:doDraw,[])
link(Bitmap,16626909:Var2,[])
link(Color,8600096:Var1,[(587,520)])
link(Point1,8100984:Point,[])
link(Point2,13815064:Point,[(601,502)(629,502)])
link(BgColor,8600096:Var2,[])
}
Add(PointXY,8100984,588,455)
{
X=6
Y=5
}
Add(PointXY,13815064,623,455)
{
link(X,7756737:reCalc,[(629,436)(594,436)])
link(Y,4031826:reCalc,[])
}
Add(UserHintManager,15627709,14,273)
{
Name="hm"
link(onShow,264357:doOn,[])
link(onHide,264357:doReset,[(65,293)(65,279)])
}
Add(Switch,264357,84,266)
{
DataOn=Integer(1)
DataOff=Integer(0)
Point(doOn)
link(onSwitch,14201552:doEvent,[])
}
Add(IndexToChanel,14201552,133,266)
{
link(onEvent1,5655503:doEvent2,[(184,272)(184,244)])
link(onEvent2,7038931:doEvent2,[(248,279)(248,188)])
}
Add(Timer,16501102,413,315)
{
Interval=0
Enable=1
AutoStop=1
link(onTimer,14145006:doCapture,[])
}
Add(MathParse,7756737,581,385)
{
DataCount=1
MathStr="%1 - 11"
ResultType=0
Point(reCalc)
link(X1,11568665:Var2,[])
}
Add(MathParse,4031826,623,385)
{
DataCount=1
MathStr="%1 - 10"
ResultType=0
Point(reCalc)
link(X1,9855834:Var2,[])
}
Add(Img_Text,9037603,672,532)
{
Font=[MS Sans Serif,10,1,65793,1]
Text="Test"
Point(X)
Point(Y)
link(onDraw,16513603:doDraw,[])
link(Bitmap,1855893:Var2,[])
link(X,3254813:reCalc,[])
link(Y,945038:reCalc,[(699,506)(734,506)])
}
Add(MathParse,3254813,679,455)
{
MathStr="(%1 - %2) div 2"
ResultType=0
Point(reCalc)
link(X1,11568665:Var3,[(685,373)])
link(X2,9037603:TextWidth,[(692,443)(663,443)(663,576)(678,576)])
}
Add(MathParse,945038,721,455)
{
MathStr="(%1 - %2) div 2"
ResultType=0
Point(reCalc)
link(X1,9855834:Var3,[(727,366)])
link(X2,9037603:TextHeight,[(734,443)(710,443)(710,576)(685,576)])
}
Add(StyleXP,303255,84,217)
{
}
Add(ScreenShort,14145006,462,315)
{
link(onCapture,6634431:doEvent1,[])
link(Handle,6996153:Var2,[])
}
Add(Bitmap,14328569,574,315)
{
Point(Width)
Point(Height)
}
Add(Hub,6634431,525,315)
{
link(onEvent1,14328569:doLoad,[])
link(onEvent2,15227372:doDraw,[(557,328)(557,538)])
}
Add(Img_Bmp,16513603,756,532)
{
DrawSource=1
link(Bitmap,6996153:Var3,[(762,282)])
link(SourceBitmap,1855893:Var3,[(769,513)])
}
Add(GetDataEx,16626909,567,504)
{
link(Data,14328569:Bitmap,[])
}
Add(GetDataEx,6996153,455,273)
{
link(Data,8682126:Handle,[])
}
Add(GetDataEx,11568665,574,364)
{
link(Data,14328569:Width,[])
}
Add(GetDataEx,9855834,616,357)
{
Angle=3
link(Data,14328569:Height,[(594,366)])
}
Add(GetDataEx,1855893,665,504)
{
Angle=3
link(Data,16626909:Var3,[])
}
Add(Hub,5655503,203,231)
{
InCount=2
link(onEvent1,4863827:doWork1,[])
link(onEvent2,10893719:doWork2,[(233,244)(233,321)])
}
Add(ChanelToIndex,4863827,357,231)
{
Count=3
link(onIndex,15038114:doEvent,[])
}
Add(GetIndexData,12839546,630,231)
{
Count=3
link(Data1,12387519:Result,[])
link(Data2,7718954:Result,[(643,209)(678,209)])
link(Data3,9202940:Result,[(650,215)(720,215)])
}
Add(GetDataEx,8600096,595,511)
{
Angle=1
link(Data,12839546:Var,[(636,520)])
}
Add(Hub,7038931,259,175)
{
InCount=2
OutCount=3
link(onEvent1,3223465:doReset,[])
link(onEvent2,4863827:doWork2,[(341,188)(341,244)])
link(onEvent3,10893719:doWork1,[(284,195)])
}
Add(HubEx,10893719,280,308)
{
link(onEvent,10971091:doWork2,[])
}
Add(SelectColor,12387519,630,168)
{
Color=-16777197
}
Add(SelectColor,7718954,672,168)
{
Color=15780518
}
Add(SelectColor,9202940,714,168)
{
Color=-16777213
}
Add(Hub,7508479,308,245)
{
OutCount=3
link(onEvent1,4863827:doWork3,[])
link(onEvent2,10971091:doWork1,[(333,258)])
link(onEvent3,3223465:doOn,[(551,265)(551,188)])
}
Add(HubEx,10971091,329,308)
{
link(onEvent,13060471:doWork2,[])
}
Add(IndexToChanel,15038114,574,231)
{
Point(Index)
link(onEvent1,12839546:doIndex,[])
link(Index,3223465:State,[])
}
Add(Switch,3223465,574,168)
{
DataOn=Integer(1)
DataOff=Integer(0)
Point(doOn)
Point(State)
}
Add(HubEx,13060471,364,308)
{
link(onEvent,16501102:doTimer,[])
}
Add(HubEx,854492,525,119)
{
Angle=3
link(onEvent,7038931:doEvent1,[(529,100)(247,100)(247,181)])
}
Add(HubEx,1207932,504,147)
{
Angle=1
link(onEvent,7508479:doEvent1,[(508,208)(296,208)(296,251)])
}

карма: 22

0
Ответов: 409
Рейтинг: 17
#28: 2009-06-02 15:18:54 ЛС | профиль | цитата
nesco писал(а):
Вот что получилось на контексте окна стандартной кнопки со стилем XP

Извращеньям нет предела
А при нажатии пробела... глюк получается, текста кнопки невидно.
карма: 0

1
Голосовали:Tad
Разработчик
Ответов: 26170
Рейтинг: 2127
#29: 2009-06-02 15:29:41 ЛС | профиль | цитата
Pirr писал(а):
А при нажатии пробела... глюк получается, текста кнопки невидно.

Pirr, а мозги включить... Я чего, зря точки мышей завел на отрисовку
------------ Дoбавленo в 15.34:
Добавил в схему поддержку нажатия клавиш.
карма: 22

0
Ответов: 409
Рейтинг: 17
#30: 2009-06-02 15:56:38 ЛС | профиль | цитата
nesco писал(а):
а мозги включить... Я чего, зря точки мышей завел на отрисовку

nesco я непротив включать мозги, но... сотворить такое ради одной кнопки... не думаю что ты серьезно думаешь что это можно использовать в рабочей схеме.
карма: 0

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)