Вверх ↑
Этот топик читают: Гость
Ответов: 207
Рейтинг: 14
#1: 2020-07-27 11:45:34 ЛС | профиль | цитата
Есть ли возможность выделения строки при наведении курсора в ListBox (как в ComboBox)?
карма: 2

0
Ответов: 2059
Рейтинг: 132
#2: 2020-07-27 12:59:34 ЛС | профиль | цитата

Add(MainForm,2953706,21,105)
{
Width=764
Height=574
}
Add(ListBox,16753366,168,105)
{
Left=440
Top=15
Width=265
Height=495
Strings=#11:trfy iyfyit|16:drgery gyutgyity|17:rtyrty gyutyutyut|13:4t3e64vbn hui|7:tyuryui|9:.mjklouyy|8:gjhbjkhb|
Point(MouseX)
Point(MouseY)
Point(PHandle)
Point(onMouseMove)
Point(doSelect)
link(onMouseMove,808901:doWork1,[(229,125)(229,244)])
}
Add(ComboBox,11498998,84,105)
{
Left=45
Top=30
Width=285
Height=21
Strings=#11:trfy iyfyit|16:drgery gyutgyity|17:rtyrty gyutyutyut|13:4t3e64vbn hui|7:tyuryui|9:.mjklouyy|8:gjhbjkhb|
}
Add(MultiElement,808901,231,238)
{
link(onEvent1,16753366:doSelect,[(275,244)(275,198)(156,198)(156,153)])
link(Data1,16753366:MouseX,[(237,194)(195,194)])
link(Data2,16753366:MouseY,[(244,194)(202,194)])
link(Data3,16753366:PHandle,[(251,194)(209,194)])
}
BEGIN_SDK
Add(EditMulti,16003329,21,21)
{
EventCount=1
WorkCount=1
DataCount=3
Width=594
Height=403
link(doWork1,7932066:doData,[(81,27)(81,167)])
}
Add(InlineCode,7309271,287,189)
{
WorkPoints=#15:doGetItemString|
EventPoints=#15:onGetItemString|
DataPoints=#14:ListBoxPHandle|1:X|1:Y|
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|18: X,Y: THI_Event;|29: ListBoxPHandle: THI_Event;|30: onGetItemString: THI_Event;|57: procedure doGetItemString(var Data:TData; Index:word);|3: |5: end;|0:|14:implementation|0:|39: procedure THiAsmClass.doGetItemString;|7: var |20: LBCtrl: PControl;|12: R: TRect;|13: P: TPoint;|14: i: Integer;|15: S,S1:String;|6: begin|54: LBCtrl:= PControl(ToIntegerEvent(ListBoxPHandle));|53: P := MakePoint(ToIntegerEvent(X),ToIntegerEvent(Y));|74: for i := LBCtrl.Perform(LB_GETTOPINDEX,0,0) to LBCtrl.Count -1 do begin|53: LBCtrl.Perform(LB_GETITEMRECT, i , Integer(@R));|40: if PointInRect(P,R) then begin |43: _hi_OnEvent(onGetItemString,i); |12: Exit;|9: end;|8: end; |5: end;|4:end.|
link(onGetItemString,16003329:onEvent1,[(467,195)(467,27)])
link(ListBoxPHandle,16003329:Data3,[(293,105)(41,105)])
link(X,16003329:Data1,[(300,105)(27,105)])
link(Y,13474284:Var3,[(307,78)])
}
Add(ChangeMon,7932066,140,161)
{
Point(onNoData)
link(onData,7309271:doGetItemString,[(230,167)(230,195)])
link(Data,13474284:Var2,[])
}
Add(GetDataEx,13474284,140,73)
{
Angle=3
link(Data,16003329:Data2,[(34,78)])
}
END_SDK

карма: 6

1
Голосовали:Joiner
Ответов: 207
Рейтинг: 14
#3: 2020-07-27 13:13:47 ЛС | профиль | цитата
flint2, Спасибо!
карма: 2

0
Разработчик
Ответов: 26113
Рейтинг: 2126
#4: 2020-07-27 13:14:48 ЛС | профиль | цитата
Это делается без всяких IC

Схема


Add(MainForm,2953706,147,105)
{
Position=1
}
Add(ListBox,4984454,231,105)
{
Left=40
Top=15
Width=190
Height=145
Strings=#5:xdgxf|5:dfdfg|7:dfgdgdg|6:dgfdgd|8:dffdfgdf|10:dfgdfgdfgd|12:dgfdfgfdfgfd|8:gdfgdfgd|10:gdfgdfgdfg|10:dfgdgdgfdg|9:fgdfgfdgd|11:dfgdgdffgfd|9:dfgdfgdfg|10:dfgdfgdfgd|10:dfgdfgdfgd|7:dfgdddd|
Point(onMouseMove)
Point(Handle)
Point(MouseX)
Point(MouseY)
Point(doSelect)
link(onMouseMove,4184292:doSendMessage,[(284,125)(284,97)(221,97)(221,265)])
}
Add(SendMessage,4184292,245,259)
{
@Hint=#16:LB_ITEMFROMPOINT|
Point(Message)
link(onSend,4739854:doDeferredEvent,[])
link(Handle,4984454:Handle,[(251,145)(258,145)])
link(LParam,14179848:Point,[])
link(Message,1955454:Text,[(272,236)(279,236)])
AddHint(45,-26,124,13,@Hint)
}
Add(PointXY,14179848,259,161)
{
link(X,4984454:MouseX,[])
link(Y,4984454:MouseY,[])
}
Add(VisualStrings,1955454,273,210)
{
Lines=#3:425|
Width=53
}
Add(DeferredEvent,4739854,294,259)
{
InData=0
link(onDeferredEvent,4984454:doSelect,[(333,265)(333,300)(214,300)(214,139)])
}

карма: 22

1
Голосовали:Joiner
Ответов: 2059
Рейтинг: 132
#5: 2020-07-27 13:17:36 ЛС | профиль | цитата
nesco писал(а):
Это делается без всяких IC

По мне, так проще и красивее!
карма: 6

0
Разработчик
Ответов: 26113
Рейтинг: 2126
#6: 2020-07-27 13:22:13 ЛС | профиль | цитата
flint2 писал(а):
По мне, так проще и красивее!

Но IC выполнен не технично. Зачем столько телодвижений, да еще и с перебором списка, когда есть специальное для этого сообщение, которое само ищет нужный индекс?

--- Добавлено в 2020-07-27 13:32:48

Вот моя схема на IC

Схема


Add(MainForm,2953706,161,105)
{
Position=1
}
Add(ListBox,4984454,231,105)
{
Left=40
Top=15
Width=190
Height=145
Strings=#5:xdgxf|5:dfdfg|7:dfgdgdg|6:dgfdgd|8:dffdfgdf|10:dfgdfgdfgd|12:dgfdfgfdfgfd|8:gdfgdfgd|10:gdfgdfgdfg|10:dfgdgdgfdg|9:fgdfgfdgd|11:dfgdgdffgfd|9:dfgdfgdfg|10:dfgdfgdfgd|10:dfgdfgdfgd|7:dfgdddd|
Point(onMouseMove)
Point(doSelect)
Point(PHandle)
Point(MouseX)
Point(MouseY)
link(onMouseMove,7309271:doGetItemString,[(284,125)(284,83)(214,83)(214,167)])
}
Add(InlineCode,7309271,252,161)
{
WorkPoints=#15:doGetItemString|
EventPoints=#15:onGetItemString|
DataPoints=#14:ListBoxPHandle|1:X|1:Y|
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|18: X,Y: THI_Event;|29: ListBoxPHandle: THI_Event;|30: onGetItemString: THI_Event;|57: procedure doGetItemString(var Data:TData; Index:word);|3: |5: end;|0:|14:implementation|0:|38:procedure THiAsmClass.doGetItemString;|4:var |19: LBCtrl: PControl;|5:begin|52: LBCtrl:= PControl(ToIntegerEvent(ListBoxPHandle));|120: _hi_OnEvent(onGetItemString, LBCtrl.Perform(LB_ITEMFROMPOINT, 0 , ToIntegerEvent(Y) shl 16 + ToIntegerEvent(X))); |4:end;|0:|4:end.|
link(onGetItemString,4984454:doSelect,[(291,167)(291,90)(221,90)(221,139)])
link(ListBoxPHandle,4984454:PHandle,[])
link(X,4984454:MouseX,[])
link(Y,4984454:MouseY,[])
}


Редактировалось 1 раз(а), последний 2020-07-27 13:32:48
карма: 22

0
Ответов: 2059
Рейтинг: 132
#7: 2020-07-27 14:13:47 ЛС | профиль | цитата
nesco писал(а):
Но IC выполнен не технично.

Ну наверное я специально не рисовал IC.
Сейчас по уши с мужиками в большом проекте.
Вижу, что никто не отвечает, вот первый попавшийся и подходящий IC и кинул.
Зато его можно изменять по своим хотелкам.

Add(MainForm,3167274,84,70)
{
Width=281
Height=309
Caption="ListBox Тест строки под курсором"
}
Add(ListBox,7681868,147,77)
{
Width=273
Height=281
Align=5
Font=[MS Sans Seriff,8,1,8388608,1]
Name="lista"
Hint=" "
HintManager=""
Strings=#28:vec3 apply_chart(vec3 image)|1:{|84: const vec3 scale = vec3(LUT_SIZE - 1.0, LUT_SIZE - 1.0, LUT_SIZE - 1.0) / LUT_SIZE;|50: const vec3 bias = vec3(0.5, 0.5, 0.0) / LUT_SIZE;|4: |53: vec3 lookup = clamp(image, 0.0, 1.0) * scale + bias;|1: |36: float slice = lookup.z * LUT_SIZE; |33: float sliceFrac = fract(slice); |36: float sliceIdx = slice - sliceFrac;|1: |45: lookup.x = (lookup.x + sliceIdx) / LUT_SIZE;|32: lookup.xy /= iResolution.xy;|43: lookup.xy *= vec2(LUT_WIDTH, LUT_SIZE);|4: |48: vec3 col0 = texture(iChannel1, lookup.xy).xyz;|4: |26: // slice interpolation|57: lookup.x += 1.0 / LUT_SIZE * LUT_WIDTH / iResolution.x;|48: vec3 col1 = texture(iChannel1, lookup.xy).xyz;|4: |41: return col0 + (col1 - col0) * sliceFrac;|1:}|0:|55:void mainImage( out vec4 fragColor, in vec2 fragCoord )|1:{|44: vec2 uv = fragCoord.xy / iResolution.xy;|40: vec4 image = texture(iChannel0, uv);|42: image.xyz = pow(image.xyz, vec3(2.2));|4: |31: if (fragCoord.x < iMouse.x)|13: { |30: // move to proxy space|59: image.xyz = ACES_2_ACESproxy(rgb_2_ap0(image.xyz));|0:|26: // apply the chart|43: image.xyz = apply_chart(image.xyz);|5: }|8: else|5: {|55: image.xyz = pow(image.xyz, vec3(1.0 / 2.2)); |5: }|3: |52: vec3 lookupTable = (texture(iChannel1, uv).xyz);|57: if(fragCoord.x < LUT_WIDTH && fragCoord.y < LUT_SIZE)|33: image.xyz = lookupTable.xyz;|4: |36: fragColor = vec4(image.xyz,1.0);|1:}|
DataType=1
Point(doHint)
Point(String)
Point(onKeyDown)
Point(onDblClick)
Point(Value)
Point(ValueArray)
Point(Index)
Point(onMouseDown)
Point(onMouseMove)
Point(doSelect)
Point(PHandle)
Point(MouseX)
Point(MouseY)
link(onMouseMove,1122117:doGetItemString,[(228,118)(228,195)(179,195)(179,160)])
}
Add(InlineCode,1122117,189,154)
{
WorkPoints=#15:doGetItemString|
EventPoints=#15:onGetItemString|
DataPoints=#14:ListBoxPHandle|1:X|1:Y|
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|18: X,Y: THI_Event;|29: ListBoxPHandle: THI_Event;|30: onGetItemString: THI_Event;|57: procedure doGetItemString(var Data:TData; Index:word);|3: |5: end;|0:|14:implementation|0:|39: procedure THiAsmClass.doGetItemString;|7: var |20: LBCtrl: PControl;|12: R: TRect;|13: P: TPoint;|14: i: Integer;|6: begin|54: LBCtrl:= PControl(ToIntegerEvent(ListBoxPHandle));|53: P := MakePoint(ToIntegerEvent(X),ToIntegerEvent(Y));|74: for i := LBCtrl.Perform(LB_GETTOPINDEX,0,0) to LBCtrl.Count -1 do begin|53: LBCtrl.Perform(LB_GETITEMRECT, i , Integer(@R));|35: if PointInRect(P,R) then begin|52: _hi_OnEvent(onGetItemString,LBCtrl.Items[i]);|12: Exit;|9: end;|7: end;|35: _hi_OnEvent(onGetItemString,-1);|5: end;|4:end.|
link(onGetItemString,7681868:doHint,[(235,160)(235,202)(137,202)(137,125)])
link(ListBoxPHandle,7681868:PHandle,[])
link(X,7681868:MouseX,[])
link(Y,7681868:MouseY,[])
}

Чего тут рассусоливать - это не так, да это не эдак?
Какой это имеет с смысл?

Редактировалось 1 раз(а), последний 2020-07-27 14:16:59
карма: 6

0
Ответов: 8921
Рейтинг: 823
#8: 2020-07-27 15:03:59 ЛС | профиль | цитата
flint2 писал(а):
Какой это имеет с смысл?

Ну и ассоциации:
Иа писал(а):
А все почему? И по какой причине? И какой из этого следует вывод?

Ковбой из анекдота писал(а):
Какое это имеет значение, Мери, лучше ...

карма: 19

0
Разработчик
Ответов: 26113
Рейтинг: 2126
#9: 2020-07-27 16:53:54 ЛС | профиль | цитата
flint2 писал(а):
Вижу, что никто не отвечает

Я не успел буквально несколько минут.
flint2 писал(а):
Чего тут рассусоливать - это не так, да это не эдак?
Какой это имеет с смысл?

Мне казалось, что найти наикратчайшее решение должно заинтересовать любого программиста. А тут получилось -- "а, и так сойдет". Не думал, что так воспримут. Извиняюсь, если обидел.
карма: 22

0
Ответов: 207
Рейтинг: 14
#10: 2020-07-28 00:56:44 ЛС | профиль | цитата
Спасибо всем за помощь, все примеры отлично работают, но как известно, аппетит приходит во время еды. Можно как-то разделить группы в ListBox как в MenuEx? Или может выделить определенные слова (другим цветом или шрифтом)?
карма: 2

0
Разработчик
Ответов: 26113
Рейтинг: 2126
#11: 2020-07-28 01:07:00 ЛС | профиль | цитата
Joiner писал(а):
Можно как-то разделить группы в ListBox как в MenuEx? Или может выделить определенные слова (другим цветом или шрифтом)?

Нет, нельзя. Все, что из него можно выдавить в данной реализации, так это только вот это

BoxManager

Add(MainForm,13953644,539,203)
{
Width=519
Caption="BoxManagers"
Position=1
link(onCreate,958045:doDisk,[])
}
Add(ListBox,13159302,490,252)
{
Left=315
Top=10
Width=185
Height=245
Color=12632256
Font=[MS Sans Serif,8,1,0,1]
Hint="ListBox"
HintManager="ComboBox"
Strings=#14:Item 1|Item 10|6:Item 2|6:Item 3|6:Item 4|6:Item 5|6:Item 6|
ItemHeight=48
IndexManager="BoxIdx_2"
BoxDrawManager="BoxDraw"
IconsManager="BoxImage"
}
Add(ComboBox,13263422,434,252)
{
Left=10
Top=10
Width=300
Height=21
Color=12632256
Font=[MS Sans Serif,8,1,0,1]
Hint="ComboBox"
HintManager="ComboBox"
Strings=#6:Item 1|6:Item 2|6:Item 3|6:Item 4|6:Item 5|6:Item 6|6:Item 7|6:Item 8|6:Item 9|7:Item 10|7:Item 11|7:Item 12|
ReadOnly=0
ItemHeight=32
IndexManager="BoxIdx_1"
BoxDrawManager="BoxDraw"
IconsManager="BoxImage"
}
Add(IconsManager,3581197,378,357)
{
Name="BoxImage"
ImgSize=32
Icons=['0'=[ZIP7E03000078DA63606004420101062029C190C1CCC020C6C0C0A001C440210605068838083830336003D30CB1203C0028FB1F1510A95E4E4E8E78F572304023F349723F49E183AC912440BCB1A4C6D7715440A47A607812AF1E1E5F649B2F870428743FF1E1D3F01F0DB723D8DFA1189F1A000855AF91],'1'=[ZIP7E03000078DA63606004420101062029C190C1CCC020C6C0C0A001C44021060506883808383033501534E04078C087DFFFD110498AF168C1A5982AEAE1E2C4A8471684EB4223F1787990AB672014BF24A947D63520E03F107CE087E007ECFFFF1F80E206206600620120FE00C32075F2FFFFFFB0FFFFFFCF7F080000CAF2F5E7],'2'=[ZIP7E03000078DACD91B10DC23014442F4A419B0A5152B2058CC318EE188A26AB2016800A248AE391A01F8342E42612179F1D9DDFFFB213A9E2691A31AFB4AFA5A5A40D26D25A7DFED2AED6CCBA3CCCE025A5F40371BFB49DC082FF2A895651D227399F979047B780F364F4A83996F71FE5C138F3341682B4CD3CDCDCEF31AD22ACDB2EE916F09F2ACD0697C907FB5EF3A32ACC976A179F4E585B9B6D1FF1159FF019DFF0135BF0B218],'3'=[ZIP7E03000078DA63606004420101062029C190C1CCC020C6C0C0A001C440210605068838083830331001A222A30C0D0C21088FB2736DC97B130DB77A0A6C75E580A339161CC92A1CE82A6BA3F6862A6EF594586A039405990F11079A7F2CD372AD23C714902EA8E263A55E7B0325804681157340DC03570F3773ADA744B60648F6DEAA2920C35D39B25510EEC7540FD2E2C8017576A426507D3221F57070AD2F7B6FAC21D016881682EA415AA6155F9B54BCD4552248818318F5D080EACADE9B6A88AC7E8AAB628F0907C1F882AB07F92E5613189EC51A1C53706804AA872306DA000E816A0E9E6C22157BF91E63E058CBC0B294482D41A1C7FEFFFF0F522FD043BC15205BB0813FF60C0C0FF819181A807983C5928181C7168881622D407C00883F00E5FE3042D4016D65F8570F618330880D00EC7069E6],'4'=[ZIP7E03000078DA63606004420101062029C190C1CCC020C6C0C0A001C440210605068838083830330C10484A4A22950B17C4CF25C3FC51FF8EFA170EFEFF87E07BDF19187A92213429620062494686],'5'=[ZIP7E03000078DABD922F1282401C859F43609B9B1C9B46EB469A63E41A146788448A873052B98789C8212CDC400D0EF860D745C03F18F4C7F71866F77B2C0160C24B4AF03EC7D6016600560C97B0845EAF67EDE037A354D69092CFB2571954D1908E92C755E804C1B0D2FA7988D81316CA7DBFAE74FCF35EE6013494936478440A1F867BA508A1E95754865818FCCE29947984FE2AFB7224C2F0E0DB0A653E8B486EB2A8359FF9BAA267A46FE73FFE9037FE2BBEFD75AB0A2817C0750A5C5C1DB87A6FC71C98237362CA5EEAEE0DC13FA43A],'6'=[ZIP7E03000078DAB553BB0DC230107D510A4A52213A28E9190096F00AA76CE09635BC82A760800CC118144870387672675B040A5E2E9665BF771FFB0C34FC751D78DCA26F810D8003FFBC843DC6F537CE2DFE0497EC03286CDB644E4CEA3E87C8A7602E4D4A1509BE29F85255E59B829F852011CBA6D1A95A68382ABED5B5083E33472BFDDB00759E2EF2F174B264A679EFA39A77AD92E4F9C86B9A72363A73797D930791F02CB435FF2255C5271DA8D636F369D0524B64CDB6D8725FE071026E6BE0FAC3DBB834AC5901F71DF002A8DF6705],'7'=[ZIP7E03000078DA63606004420101062029C190C1CCC020C6C0C0A001C440210605068838083830330C149874078190404303020D6AF5431C34202154F01F090D5EF5B403FF81F6343662C7203942F200B4725451],'8'=[ZIP7E03000078DA63606004420101062029C190C1CCC020C6C0C0A001C44021060506883808383033500C7C890068EAFFE30558D543CC8133E00097FAC1663E5665C4B807AEE6F2E5CB98EE99C660081744560061434878140015C3D5632A8393100064C3D52303AC8A2100A21E337960558C4B3D5C0B1A80BB87C84408F72FA9E9F9FF7F20C18F07F301310B42FD0F20FE03C4FF58207A01F3DB4328],'9'=[ZIP7E03000078DAC58EA10EC32014455FD31FA85A2627672BEB1664657FA1661E3933315959C92F202B49A690C8492C9F50C96EF3B2195A928A65970721F79DFB80A8C0AA2AC279A46B497420A233362C3A11FB8B2E25FD49B7A6516DAB849812A9BA5E0ADDB665D83CA4EB7B141CAD9495D24F538C719EE71002F3DC4D7987895D6786C17BCF913C1FACD542682991E3489EF7CEB971C42B5A6B445ECE65F87CA53CBEBD5AAB3CFCB8218EACF236519EDF3BDF18F38BF9B8C3B41B42EB0BEFD5E7CD6711E37DCF2E39F706AE028C20],'10'=[ZIP7E03000078DA63606004420101062029C190C1CCC020C6C0C0A001C440210605068838083830338C02186868683870E040030C20C4191AE0246143181AFE33FC873090B5404C869B8FA618AE05BFE170C5708D709743CC447339B262342DB8CC275E319A16E2C39924C5F407FF91C177207EFCFFFF838340BAE1FFFF832059209E0CA21981B819888F03F17B8416007CCB7CEA],'11'=[ZIP7E03000078DA63606004420101062029C190C1CCC020C6C0C0A001C440210605068838083830331002D5C941DFF756DF6B31BC576C78AD58A2D8CB7260D5B7B4B400B5C011904BD00B4035FFFFFF3F76EC58545010031160A8AB072A83234C29B802B8480B1240D6025116548D9082283E060370410882B830393919E25AAC006E11DC3B40F3E1EAF16B84B80A623E1040CCF98F0120E26801081769C1006841F4431E15FFB1C782ED181866C84035300231281FB103C580EA01FFC9EB45]]
}
Add(IndexManager,2674236,434,315)
{
Name="BoxIdx_1"
Index=['0'=0,'1'=1,'2'=2,'3'=3,'4'=4,'5'=5]
}
Add(IndexManager,15303393,483,315)
{
Name="BoxIdx_2"
Index=['0'=6,'1'=7,'2'=8,'3'=9,'4'=10,'5'=11]
}
Add(BoxDrawManager,1967607,378,315)
{
Name="BoxDraw"
Gutter=1
StyleBack=1
InversClrTxt=0
}
Add(HintManager,2846837,434,357)
{
Name="ComboBox"
Font=[Tahoma,8,0,0,1]
}
Add(Label,16330128,378,266)
{
@Hint=#56:Этот пустой Label со включенным свойством прозрачности -|51:- самый быстрый способ включить двойную буферизацию|42:контекста, что предотвращает мигание формы|41:и убирает различные артефакты перерисовки|
Left=10
Top=45
Transparent=0
Caption=""
AutoSize=1
}
Add(FontBox,9240611,539,252)
{
Left=10
Top=55
Width=300
Height=21
Color=12632256
Hint="FontBox"
HintManager="ComboBox"
BoxDrawManager="BoxDraw"
}
Add(DriveBox,958045,602,210)
{
Left=10
Top=90
Width=300
Height=21
Color=12632256
Font=[MS Sans Serif,8,1,0,1]
BoxDrawManager="BoxDraw"
Point(doDisk)
}

Короче, Menu из ListBox-a не получится.

Редактировалось 4 раз(а), последний 2020-07-28 01:12:25
карма: 22

1
Голосовали:Joiner
Ответов: 207
Рейтинг: 14
#12: 2020-07-28 01:27:02 ЛС | профиль | цитата
nesco, Не ожидал такого быстрого ответа. Спасибо!

--- Добавлено в 2020-07-28 01:36:38

Значит выделю иконками

Редактировалось 1 раз(а), последний 2020-07-28 01:36:38
карма: 2

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