Вверх ↑
Этот топик читают: Гость
Ответов: 8
Рейтинг: 0
#1: 2017-12-13 10:07:12 ЛС | профиль | цитата
Добрый день, подскажите пожалуйста, как можно использовать пользовательское изображение в качестве фона для компонента "Поле ввода (Edit)"?
Т.е. необходимо, чтобы поле ввода было активно, но не закрывало фоновое изображение (картинку).
карма: 0

0
Ответов: 1061
Рейтинг: 22
#2: 2017-12-13 10:23:25 ЛС | профиль | цитата
Shadow76, по идее это должно делаться через альфа-канал в свойстве Color компонента Edit, но HiAsm не знает об этом.
карма: 0

0
Ответов: 8
Рейтинг: 0
#3: 2017-12-13 10:34:45 ЛС | профиль | цитата
Да, я так и делаю, но удается получить только прозрачность, где фоном будет изображение рабочего стола... А хотелось бы фоном использовать картинку приложения.
карма: 0

0
Ответов: 8
Рейтинг: 0
#4: 2017-12-13 16:14:00 ЛС | профиль | цитата
Может быть как-то можно всю форму с компонентами сделать прозрачной, а в качестве нижнего слоя указать картинку ?
Помогите пожалуйста...
карма: 0

0
Ответов: 1061
Рейтинг: 22
#5: 2017-12-13 16:42:45 ЛС | профиль | цитата
Попробуй через Handle компонента и InlineCode.
карма: 0

0
Ответов: 8
Рейтинг: 0
#6: 2017-12-13 17:08:29 ЛС | профиль | цитата
Я бы с удовольствием, - если б где-то посмотреть пример...
карма: 0

0
Ответов: 1061
Рейтинг: 22
#7: 2017-12-13 17:21:11 ЛС | профиль | цитата
http://forum.hiasm.com/wiki/5722
http://forum.hiasm.com/topic/9215

Редактировалось 2 раз(а), последний 2017-12-13 17:23:39
карма: 0

0
Ответов: 8
Рейтинг: 0
#8: 2017-12-14 08:40:17 ЛС | профиль | цитата
Я так понял, что я далёк от программирования
карма: 0

0
Ответов: 8926
Рейтинг: 823
#9: 2017-12-14 15:41:39 ЛС | профиль | цитата
Shadow76, желаете странного Вот что-то похожее: по нажатию кнопки открывается объекты, по выполнению закрываются
странное


Add(MainForm,2953706,287,119)
{
Caption="ФонФормы"
Point(Width)
Point(Height)
Point(onResize)
Point(Handle)
Point(doPicture)
Point(onPaint)
Point(MouseX)
Point(MouseY)
Point(doSetFocus)
Point(onMouseMove)
Point(onMouseDown)
link(onCreate,50962:doCreate,[(347,139)(347,202)(270,202)(270,216)])
link(onResize,12022643:doWork1,[(340,146)])
link(onPaint,12022643:doWork2,[])
link(onMouseDown,50962:doMouseDown,[(333,167)(333,188)(256,188)(256,230)])
}
Add(HubEx,12022643,336,147)
{
Angle=1
link(onEvent,50962:doReSize,[(340,195)(263,195)(263,223)])
}
Add(Edit,11763683,511,140)
{
Left=50
Top=35
Visible=1
Point(onMouseMove)
Point(doVisible)
Point(doSetFocus)
link(onEnter,1661130:doEvent1,[])
}
Add(Button,8217003,476,245)
{
Left=50
Top=80
Visible=1
Point(doVisible)
link(onClick,14754477:doEvent1,[])
}
Add(ComboBox,14371827,644,112)
{
Left=145
Top=35
Width=100
Height=21
Visible=1
Strings=#3:000|3:111|3:222|3:333|3:444|
Point(doVisible)
link(onClick,7756679:doEvent1,[])
}
Add(Edit,10942031,861,140)
{
Left=270
Top=35
Visible=1
Point(doVisible)
Point(doSetFocus)
link(onEnter,10868955:doEvent1,[])
}
Add(StrList,12124749,245,119)
{
Strings=#11:50;35;50;20|13:145;35;100;21|12:270;35;50;20|11:50;80;55;20|
}
Add(ChanelToIndex,5504094,392,154)
{
link(onIndex,15685442:doEvent1,[])
}
Add(Hub,1661130,553,147)
{
link(onEvent2,5504094:doWork1,[(578,160)(578,132)(382,132)(382,160)])
}
Add(IndexToChanel,10992444,336,210)
{
Count=20
link(onEvent2,5504094:doWork2,[(381,223)(381,167)])
link(onEvent3,843036:doWork2,[(620,230)(620,167)])
link(onEvent4,4416517:doWork2,[(760,237)(760,167)])
link(onEvent5,10256612:doWork2,[(417,244)(417,258)])
}
Add(ChanelToIndex,843036,602,154)
{
link(onIndex,14371827:doVisible,[])
}
Add(Hub,14754477,518,245)
{
link(onEvent2,10256612:doWork1,[(543,258)(543,286)(424,286)(424,251)])
}
Add(Hub,7756679,686,119)
{
link(onEvent2,843036:doWork1,[(711,132)(711,104)(592,104)(592,160)])
}
Add(Hub,10868955,903,147)
{
link(onEvent2,4416517:doWork1,[(928,160)(928,132)(732,132)(732,160)])
}
Add(ChanelToIndex,10256612,434,245)
{
link(onIndex,8217003:doVisible,[])
}
Add(ChanelToIndex,4416517,742,154)
{
link(onIndex,5459040:doEvent1,[])
}
Add(If_else,3648113,812,161)
{
Op2=Integer(1)
link(onTrue,10942031:doSetFocus,[])
}
Add(Hub,5459040,784,154)
{
link(onEvent1,10942031:doVisible,[])
link(onEvent2,3648113:doCompare,[])
}
Add(If_else,13426269,469,161)
{
Op2=Integer(1)
link(onTrue,11763683:doSetFocus,[])
}
Add(Hub,15685442,441,154)
{
link(onEvent1,11763683:doVisible,[])
link(onEvent2,13426269:doCompare,[])
}
Add(MultiElementEx,50962,280,210)
{
@Hint=#24:Обработка нажатия кнопки|
link(Array,12124749:Array,[(286,180)(265,180)])
link(Width,2953706:Width,[])
link(Height,2953706:Height,[])
link(Handle,2953706:Handle,[])
link(MouseX,2953706:MouseX,[])
link(MouseY,2953706:MouseY,[])
link(onIs,10992444:doEvent,[])
}
BEGIN_SDK
Add(EditMultiEx,10848770,21,21)
{
WorkCount=#8:doCreate|8:doReSize|11:doMouseDown|
EventCount=#4:onIs|
DataCount=#5:Array|5:Width|6:Height|6:Handle|6:MouseX|6:MouseY|
Width=333
Height=228
VOffset=49
HOffset=217
link(doCreate,8205796:doEvent1,[])
link(doReSize,1783668:doEvent1,[(179,83)(179,97)])
link(doMouseDown,1607912:doMove,[(137,90)(137,153)])
}
Add(MultiElementEx,886022,245,84)
{
@Hint=#22:Открытие картинки фона|
link(Width,10848770:Width,[])
link(Height,10848770:Height,[])
link(Handle,10848770:Handle,[])
}
BEGIN_SDK
Add(EditMultiEx,13565663,21,21)
{
WorkCount=#6:doOpen|8:doReSize|6:doDraw|
VarCount=#6:Bitmap|
DataCount=#5:Width|6:Height|6:Handle|
Width=356
Height=242
VOffset=49
HOffset=203
link(doOpen,14558037:doExecute,[])
link(doReSize,7798990:doWork2,[(32,83)(32,118)])
link(doDraw,7200411:doWork1,[(172,90)(172,160)(221,160)])
link(Bitmap,7944797:Var1,[(230,201)])
}
Add(ODialog,14558037,35,70)
{
StartDir="C:\Users\LA\Pictures"
FileName="1111.jpg"
link(onExecute,7239175:doLoad,[])
}
Add(PictureStream,7239175,77,70)
{
link(onLoad,9355355:doEvent1,[])
}
Add(Resize,5943668,147,210)
{
link(onResult,5710331:doEvent1,[])
link(Bitmap,10380337:Bitmap,[])
link(Width,2004912:Result,[])
link(Height,14998652:Result,[(167,152)(202,152)])
}
Add(Hub,9355355,119,70)
{
link(onEvent1,10380337:doLoad,[(137,76)(137,48)])
link(onEvent2,7798990:doWork1,[(144,83)])
}
Add(Math,2004912,154,112)
{
OpType=1
Op2=10
ResultType=0
link(onResult,14998652:doOperation,[])
link(Op1,13565663:Width,[(160,82)(230,82)])
}
Add(Math,14998652,196,112)
{
OpType=1
Op2=30
ResultType=0
link(onResult,5943668:doResize,[(235,118)(235,125)(137,125)(137,216)])
link(Op1,13565663:Height,[(202,89)(237,89)])
}
Add(Img_Bmp,660783,238,217)
{
DrawSource=1
link(Bitmap,13565663:Handle,[])
link(SourceBitmap,7944797:Var2,[])
}
Add(Bitmap,10380337,147,42)
{
}
Add(HubEx,7798990,140,112)
{
link(onEvent,2004912:doOperation,[])
}
Add(Bitmap,2209730,266,161)
{
}
Add(Hub,5710331,189,210)
{
link(onEvent1,2209730:doLoad,[(208,216)(208,167)])
link(onEvent2,7200411:doWork2,[])
}
Add(GetDataEx,7944797,245,196)
{
Angle=1
link(Data,2209730:Bitmap,[(272,201)])
}
Add(HubEx,7200411,217,217)
{
link(onEvent,660783:doDraw,[])
}
END_SDK
Add(Hub,1783668,189,91)
{
link(onEvent1,886022:doReSize,[])
link(onEvent2,2509083:doWork2,[])
}
Add(Hub,8205796,189,70)
{
link(onEvent1,886022:doOpen,[(235,76)(235,90)])
link(onEvent2,2509083:doWork1,[(214,83)])
}
Add(HubEx,2509083,210,98)
{
Angle=1
link(onEvent,2355251:doEvent1,[(214,125)(32,125)(32,153)])
}
Add(ArrayEnum,4014147,77,154)
{
link(onItem,3980236:doEvent1,[])
link(Array,10848770:Array,[(83,67)(244,67)])
}
Add(Img_Line,2512750,161,203)
{
Point2AsOffset=0
Color=-16777211
Point(Point1)
Point(Point2)
link(Bitmap,886022:Bitmap,[(167,131)(251,131)])
link(Point1,14855223:CoordX,[])
link(Point2,14855223:CoordY,[])
}
Add(InlineCode,14855223,168,154)
{
WorkPoints=#6:doCalc|
EventPoints=#6:onCalc|5:onEnd|
VarPoints=#6:CoordX|6:CoordY|
DataPoints=#
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|29:uses kol,Share,Windows,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|0:|10: private|18: _X,_Y:integer;|4: |9: public|25: _data_Data:THI_Event;|41: onCalc:THI_Event; //Нарисовать линию|42: onEnd:THI_Event; //Окончание расчёта|0:|75: procedure doCalc(var _Data:TData; Index:word); //Расчитать|50: procedure CoordX(var _Data:TData; Index:word);|51: procedure CoordY(var _Data:TData; Index:word); |5: end;|38: |21: |14:implementation|0:|2: |29:procedure THiAsmClass.doCalc;|41:var _Const,Left,Top,Width,Height:integer;|16: _Str:string;|17: |5:begin|16: _Const:=65536;|24: _Str:=ToString(_Data);|33: Left:=str2int(Parse(_Str,';'));|32: Top:=str2int(Parse(_Str,';'));|34: Width:=str2int(Parse(_Str,';'));|24: Height:=str2int(_Str);|26: _X:= Top*_Const + Left;|22: _Y:= Height*_Const;|26: _hi_onEvent(onCalc, 1);|26: _X:= Top*_Const + Left;|14: _Y:= Width;|26: _hi_onEvent(onCalc, 1);|37: _X:= (Top + Height)*_Const + Left;|14: _Y:= Width;|26: _hi_onEvent(onCalc, 1);|34: _X:= Top*_Const + Left + Width;|22: _Y:= Height*_Const;|29: _hi_onEvent(onCalc, 1); |3: |27: _hi_onEvent(onEnd, 1); |4:end;|0:|29:procedure THiAsmClass.CoordX;|6:begin |32: _Data.Data_type := data_Real; |21: _Data.Rdata := _X; |4:end;|0:|29:procedure THiAsmClass.CoordY;|6:begin |32: _Data.Data_type := data_Real; |21: _Data.Rdata := _Y; |4:end;|4:end.|
link(onCalc,2512750:doDraw,[(207,160)(207,195)(151,195)(151,209)])
link(onEnd,886022:doDraw,[(221,167)(221,104)])
}
Add(InlineCode,1607912,287,133)
{
WorkPoints=#7:doStart|13:doSizeObjects|6:doMove|
EventPoints=#6:onMove|
VarPoints=#
DataPoints=#6:MouseX|6:MouseY|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|29:uses kol,Share,Windows,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|0:|10: private|129: _SizeObjects: Array[0..100, 0..3] of integer; //"0"--Х, "1"--У:--Левый верхний угол, "2"--Х, "3"--У:--Правый нижний угол |75: Num:integer; //Количество объектов|9: public|25: _data_Data:THI_Event;|21: MouseX:THI_Event;|21: MouseY:THI_Event;|43: onMove:THI_Event; //Окончание расчёта|0:|51: procedure doStart(var _Data:TData; Index:word);|57: procedure doSizeObjects(var _Data:TData; Index:word);|76: procedure doMove(var _Data:TData; Index:word); //Расчитать |5: end;|38: |21: |14:implementation|0:|30:procedure THiAsmClass.doStart;|17:var i,j:integer;|5:begin|60: for i:=0 to 100 do for j:=0 to 3 do _SizeObjects[i,j]:=0;|10: Num:=0;|4:end;|2: |36:procedure THiAsmClass.doSizeObjects;|29:var _Str:string; |5:begin|15: Num:=Num + 1;|24: _Str:=ToString(_Data);|48: _SizeObjects[Num,0]:=str2int(Parse(_Str,';'));|48: _SizeObjects[Num,1]:=str2int(Parse(_Str,';'));|70: _SizeObjects[Num,2]:=str2int(Parse(_Str,';')) + _SizeObjects[Num,0];|60: _SizeObjects[Num,3]:=str2int(_Str) + _SizeObjects[Num,1]; |4:end;|0:|29:procedure THiAsmClass.doMove;|35:var i,j,_Is,Xmouse,Ymouse:integer;|5:begin|9: _Is:=0;|38: Xmouse:=ReadInteger(_Data,MouseX,0);|38: Ymouse:=ReadInteger(_Data,MouseY,0);|21: for i:=1 to 100 do|9: begin|139: if (((Xmouse>_SizeObjects[i,0]) and (Xmouse<_SizeObjects[i,2])) and ((Ymouse>_SizeObjects[i,1]) and (Ymouse<_SizeObjects[i,3]))) then|12: begin|15: _Is:=i;|13: break|11: end;|8: end;|28: _hi_onEvent(onMove, _Is); |4:end;|0:|4:end.|
link(onMove,10848770:onIs,[(335,139)(335,76)])
link(MouseX,10848770:MouseX,[(293,75)(272,75)])
link(MouseY,10848770:MouseY,[(300,68)(279,68)])
}
Add(Hub,2355251,42,147)
{
link(onEvent1,1607912:doStart,[(67,153)(67,139)])
link(onEvent2,4014147:doEnum,[])
}
Add(Hub,3980236,119,154)
{
link(onEvent1,14855223:doCalc,[])
link(onEvent2,1607912:doSizeObjects,[(144,167)(144,146)])
}
END_SDK

карма: 19

0
Ответов: 8
Рейтинг: 0
#10: 2017-12-14 16:08:55 ЛС | профиль | цитата
Да, действительно - странное. Но тоже интнресно
Хотелось бы, чтобы заполненные данные были видны, а то весь смысл пропадает...
карма: 0

0
Ответов: 1328
Рейтинг: 69
#11: 2017-12-15 09:50:49 ЛС | профиль | цитата
del

Редактировалось 1 раз(а), последний 2017-12-15 09:55:51
карма: 2

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