Вверх ↑
Разработчик
Ответов: 26117
Рейтинг: 2126
#1: 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