Вверх ↑
Этот топик читают: Гость
Ответов: 254
Рейтинг: 6
#1: 2016-07-28 22:46:38 ЛС | профиль | цитата
Здравствуйте! В который раз обращаю внимание, что в hiasm толком нет элементов для создания внешнего вида программы. А точнее меня интересует дизайн выпадающих списков, инпутбоксов, чекбоксов и радиокнопок. Может есть у кого примеры.
карма: 0

0
Ответов: 497
Рейтинг: 16
#2: 2016-07-28 23:05:19 ЛС | профиль | цитата
Medvedoc, спасибо ибо я последнее время ослеп и не видел
Выпадающий список есть дравбокс
Инпутбокс это только самом или же с окна сделать инпутбокс
а остальные два прекрасно заминает картинка
карма: 1
        ]  
0
Ответов: 254
Рейтинг: 6
#3: 2016-07-28 23:26:51 ЛС | профиль | цитата
RAWY_EX, ))
По поводу DriveBox понял, сейчас попробую с нима вариант. По поводу инпутов догнал - можно убрать стандартный стиль и уже картинками сделать как надо. А вот в плане боксов и радио не совсем понял. Может есть пример какой?
------------ Дoбавленo в 23.26:
посмотрел BoxDrive - не подходит. Там выбор дисков, а мне просто нужен выпадающий список
карма: 0

0
Ответов: 497
Рейтинг: 16
#4: 2016-07-28 23:57:46 ЛС | профиль | цитата
Medvedoc,
CheckBox

Add(ChildPanel,904329,308,77)
{
link(onEvent1,876199:doEvent,[])
}
BEGIN_SDK
Add(EditMulti,638614,21,21)
{
EventCount=1
VarCount=1
Width=594
Height=382
link(Var1,8636122:State,[(27,291)(314,291)])
}
Add(Panel,5387078,35,105)
{
Left=125
Top=70
Width=20
Height=20
Color=15793151
BorderWidth=0
BevelInner=0
BevelWidth=0
}
Add(Image,10563329,252,140)
{
Width=20
Align=5
Color=16777215
Point(onMouseUp)
link(onMouseUp,8636122:doSwitch,[])
}
Add(BitmapArray,2077693,189,42)
{
Bitmaps=['Bitmap'=[ZIP7606000078DAA554CD4EC240101E0FFC24FC84042ED01E4C14F0093C1BEFBE8E4F6434BE0498F8041AF4A006E447C30115A4F44260DD6FDBA1DBBA2B24369974DBF9E6DB6F7666E7F4EC3C4DEA39967624AD12DA1EEDABFF27A15F7F8410E42F040D0781618D7F621D9A30DB4A9AE70BEA0F05BD6A71784F26829A8D4BAA1F5ED3782C719EA0E5D2CE07DF5CC6017B50BFA27AF34271285D921FDFE5F21D954A4FE43A2DEAF5024E9B36F880A9B92D1553A9DC2B3D837EC827F7C0FF4CE683F2F901D56A37347A931AE6A14E4D17B8E0030658C42016B9F17941B7EBB4A9901FC538933A37BA342EBC911338F80C19E738B71B5C2ED7DFE89CCD024BEAE27DBBDDF8BEB63C18DF7910CAD897CD7E6E7CEF23A9CB523FD659ADB6639C85C233158B2FBFF601D6F7ECFD65D3994ACD9525EB05EC6A19EF49533F4CA7417ED0051EA2B532ACA1133E9CA7A9C74D7CC03E760495646CC4B7DACA67EA7BCED7DD315FBD3F93E65BFA0B9AB81E7A6D6DF7087B800BB5DFA55FB6E9B4F53DE3BF66418DB04EF652526774DF5AC67CBEBDA86EBBDCB7BFE681B7D83E0FD2E9496C1EFC675E018B18C4625EF17CB1CE539D47BB4FAC1358E4D66C44F3D438EFD786FB68B89F7C5E30E6FA01706B6572],'Bitmap'=[ZIP7606000078DAA5545D4B936118BE3AE917F403223A88A23A8812C26ACE9CDF994AE247B5A48C4AA4AC303018644875105460479D75504456645844989126F849E5FCD6A9736E6ECDAFA64EF7EEBDBBEF674A3AD295BD7033DE3DEF733DD7755FD7FD18534B36423DFBB8B6716D5AAC0DD8ACFE372CAE2F7F48A7501141D775F51B241D01D2F083C651470DE8231B7E924FAD45AC65784BB540F398A0297C232BCED65C4013B5F2FB24AFE97F87B9A2744CD134BAA8172583D7716EFE22AE78AFC14E0EE6ADADE4A0AF8D25DF0BB7111AC5437A843C5F3EF68E1D40CE849939B628CDD207C1092E6811F104CBCB3D6BA046248FA463D75414F69311C7E9342C8E9B18A02185190C0623EAD428A8747650378AEC9711ED36218A0CD8E2DA8E98E97814CE14E303D5B2475EE5D7DA3A437E8ACEBBF400B18E441C1E4BC2092A4026E562F76814E27C2928F45E828D392E50604D4C3FEB94736BA91E465B220E8D9B60769DC1637A82FB5481E80123B63A77228FF299E327E5BD602EE52BBCBC9C85666A4376FF49C47A9290307404CFE925E7AE1FEDD481626789C2932A9BB9052B75C1B74A1EA5BF43648765BC0CA9BD1948EE4EC7337AC1F918556BE2CF57CE61823B0D3B86F720D7730AD5F41E6E72AB1E85EBB6D130AAB46AE4349B51D055888FF499FBE8E4F367F8FB80F2DC4963F8424D4869CF80C161422959941E1FCD85F21386575E7F076FE8ADE2213316DEEF59DE275E3DA54A44F719611834A1925EAB3914CCE578C223A46B52F559BC09D7201C649FEC178F0FF6C6C1EC2CC03BAA61DD91F3F3C77CB2971EDEDBC0BACFBB8A10D39980ABB3A568A3EF2AB7D29BD5E677E5DCEBA17CEA1A73F7AB5CB570EF72EC66C458E3716FAE023DD4B3AADFE17882E50FCCABF9092A6C4D795B4B7538D6998BB4D64CBCA22AB8D833396F3DF78FEC7393078D7C8F1DB56621AD3D4BDD6D2E3EE7DFF17EF3169E359CAFEC5633CA5B6FABACAC172F34A77EC549E6C5527D03FD34F85F78C251635F256F924FC9D32F89DF2F69]]
}
Add(ArrayRW,14799250,189,140)
{
link(onRead,10563329:doLoad,[])
link(Array,2077693:Array,[])
}
Add(Switch,8636122,308,147)
{
DataOn=Integer(1)
DataOff=Integer(0)
Default=0
Point(State)
Point(onOn)
Point(onOff)
link(onSwitch,14358469:doEvent1,[])
}
Add(Timer,6589668,252,182)
{
Interval=10
AutoStop=1
link(onTimer,8636122:doReset,[(300,188)(300,160)])
}
Add(Hub,14358469,350,147)
{
link(onEvent1,5932016:In,[])
link(onEvent2,2309641:In,[(388,160)(388,167)])
}
Add(LineBreak,10108313,133,140)
{
link(Out,14799250:doRead,[])
Primary=[5932016,280,7]
}
Add(LineBreak,16167152,532,42)
{
link(Out,638614:onEvent1,[(588,48)(588,27)])
Primary=[2309641,-119,119]
}
END_SDK
Add(LED,9761526,462,70)
{
Left=165
Top=70
}
Add(IndexToChanel,876199,378,77)
{
link(onEvent1,9761526:doOff,[])
link(onEvent2,9761526:doOn,[])
}


не то а вот это
BoxDrawManager

Add(BoxDrawManager,4026623,259,203)
{
}


а про CtrlPalette я вобще молчу
CtrlPalette

Add(CtrlPalette,5059628,371,161)
{
Left=370
Top=160
}



карма: 1
        ]  
0
Ответов: 254
Рейтинг: 6
#5: 2016-07-29 00:40:09 ЛС | профиль | цитата
Спутал по невнимательности боксдрайв с драфбоксом сорри. Самое то

------------ Дoбавленo в 00.39:
а как в комбобоксе при включенном режиме readonly увеличить высоту раскрываемого списка, а то отображается только один элимент
карма: 0

0
Ответов: 497
Рейтинг: 16
#6: 2016-07-29 00:44:52 ЛС | профиль | цитата
Medvedoc, не поверишь но просто добавь еще пункты
карма: 1
        ]  
0
Ответов: 254
Рейтинг: 6
#7: 2016-07-29 00:48:22 ЛС | профиль | цитата
добавил, нажимаю на комбобокс раскрывается на высоту элимента, а чтобы остальные увидеть надо прокручивать
карма: 0

0
Ответов: 497
Рейтинг: 16
#8: 2016-07-29 00:57:34 ЛС | профиль | цитата
Medvedoc, DropDownCount=Количество видимых пунктов в выпадающем списке
карма: 1
        ]  
0
Ответов: 254
Рейтинг: 6
#9: 2016-07-29 02:58:54 ЛС | профиль | цитата
Разобрался Hiasm после обновления глюкнул. Перезапустил все заработало
------------ Дoбавленo в 01.17:
осталось понять как скроллинг спрятать в комбобоксе
------------ Дoбавленo в 02.57:
можно как-нибудь добавить точку для элемента combobox, чтобы она обрабатывала процесс раскрытия списка? То есть чтобы например повесил на эту точку кнопку, при нажатии на которую список открывался бы. Это все условно сказано. Просто нужна такая точка
------------ Дoбавленo в 02.58:
или просто точку, чтобы при наведении список открывался
карма: 0

0
Разработчик
Ответов: 26117
Рейтинг: 2126
#10: 2016-07-29 03:38:24 ЛС | профиль | цитата
Medvedoc писал(а):
при нажатии на которую список открывался бы


Add(MainForm,2953706,168,175)
{
}
Add(ComboBox,7723821,266,154)
{
Left=75
Top=30
Width=200
Height=21
Strings=#5:12321|5:11113|5:11111|5:11122|
ReadOnly=0
Point(PHandle)
}
Add(InlineCode,3059356,280,231)
{
WorkPoints=#14:doShowDropDown|
DataPoints=#7:PHandle|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|38:uses kol,Share,Debug,Windows,Messages;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|24: PHandle: THI_Event;|59: procedure doShowDropDown(var _Data:TData; Index:word);|5: end;|0:|14:implementation|0:|66:procedure THiAsmClass.doShowDropDown(var _Data:TData; Index:word);|3:var|21: sControl: PControl;|5:begin|48: sControl := PControl(ToIntegerEvent(PHandle));|38: if not Assigned(sControl) then exit;|69: SendMessage(sControl.Handle, CB_SHOWDROPDOWN, ToInteger(_Data), 0);|4:end;|0:|4:end.|
link(PHandle,7723821:PHandle,[])
}
Add(Button,3765190,168,238)
{
Left=290
Top=30
TabOrder=-1
Caption="Drop"
link(onClick,995737:doWork2,[])
}
Add(ChanelToIndex,995737,224,231)
{
link(onIndex,3059356:doShowDropDown,[])
}

------------ Дoбавленo в 03.34:
Medvedoc писал(а):
чтобы при наведении список открывался


Add(MainForm,2953706,217,168)
{
Point(onMouseEnter)
}
Add(ComboBox,7723821,266,154)
{
Left=75
Top=30
Width=200
Height=21
Strings=#5:12321|5:11113|5:11111|5:11122|
ReadOnly=0
Point(PHandle)
Point(onMouseLeave)
Point(onMouseEnter)
link(onMouseEnter,995737:doWork2,[(319,181)(319,272)(214,272)(214,244)])
}
Add(InlineCode,3059356,280,231)
{
WorkPoints=#14:doShowDropDown|
DataPoints=#7:PHandle|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|38:uses kol,Share,Debug,Windows,Messages;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|24: PHandle: THI_Event;|59: procedure doShowDropDown(var _Data:TData; Index:word);|5: end;|0:|14:implementation|0:|66:procedure THiAsmClass.doShowDropDown(var _Data:TData; Index:word);|3:var|21: sControl: PControl;|5:begin|48: sControl := PControl(ToIntegerEvent(PHandle));|38: if not Assigned(sControl) then exit;|69: SendMessage(sControl.Handle, CB_SHOWDROPDOWN, ToInteger(_Data), 0);|4:end;|0:|4:end.|
link(PHandle,7723821:PHandle,[])
}
Add(ChanelToIndex,995737,224,231)
{
link(onIndex,3059356:doShowDropDown,[])
}

------------ Дoбавленo в 03.38:
В принципе можно было обойтись и штатным компонентом SendMessage, достаточно было послать окну ComboBox-a сообщение CB_SHOWDROPDOWN со значение wParam=1. Так что, MSDN и компонент SendMessage в помощь.
карма: 22

0
Ответов: 254
Рейтинг: 6
#11: 2016-07-29 03:43:07 ЛС | профиль | цитата
nesco, спасибо большое =0 то что надо. А то не поучалось стилизовать скролл в списке
А можно скролл вообще отключить в выпадающем списке?
карма: 0

0
Разработчик
Ответов: 26117
Рейтинг: 2126
#12: 2016-07-29 03:43:33 ЛС | профиль | цитата
Medvedoc писал(а):
А можно скролл вообще отключить в выпадающем списке?
nesco писал(а):

MSDN и компонент SendMessage в помощь

карма: 22

0
Ответов: 254
Рейтинг: 6
#13: 2016-07-29 04:27:58 ЛС | профиль | цитата
а как подправить код, чтобы при потери фокуса список сворачивался?
------------ Дoбавленo в 04.17:
не могу найти в программе штатный компонент sendmessage
------------ Дoбавленo в 04.27:
Add(Message,4616445,392,105)
{
Message="CB_SHOWDROPDOWN wParam=1"
link(onMessage,784244:doAdd,[])
}
Add(ComboBox,784244,469,105)
{
Left=465
Top=105
Strings=#1:1|1:2|1:3|1:4|1:5|1:6|1:7|1:8|1:9|2:10|2:11|2:12|
}
Add(Button,16300616,329,98)
{
Left=325
Top=95
link(onClick,4616445:doMessage,[(377,104)(377,111)])
}


карма: 0

0
Ответов: 16884
Рейтинг: 1239
#14: 2016-07-29 07:20:39 ЛС | профиль | цитата
nesco, [flood]потянуло на IC ? [/flood]
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26117
Рейтинг: 2126
#15: 2016-07-29 10:09:40 ЛС | профиль | цитата
Medvedoc писал(а):
не могу найти в программе штатный компонент sendmessage


Add(MainForm,16627017,189,217)
{
Point(onMouseEnter)
}
Add(ComboBox,7723821,238,203)
{
Left=75
Top=30
Width=200
Height=21
Strings=#5:12321|5:11113|5:11111|5:11122|
ReadOnly=0
Point(onMouseLeave)
Point(onMouseEnter)
Point(Handle)
link(onMouseEnter,995737:doWork2,[(277,230)(277,195)(179,195)(179,300)])
}
Add(ChanelToIndex,995737,196,287)
{
link(onIndex,6408325:doSendMessage,[])
}
Add(SendMessage,6408325,252,287)
{
WParam=1
Point(Message)
link(Handle,7723821:Handle,[])
link(Message,12945795:Text,[])
}
Add(VisualStrings,12945795,273,252)
{
Lines=#3:335|
}

------------ Дoбавленo в 10.09:
[flood]
Tad писал(а):
потянуло на IC ?

Ненуачо, почему бы и нет, особенно для управления контролами?[/flood]
карма: 22

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