Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 26071
Рейтинг: 2122
#31: 2017-09-06 12:52:56 ЛС | профиль | цитата
sla8a писал(а):
Как волной изображение получается.

Да, что-то такое есть.
карма: 22

0
Ответов: 9906
Рейтинг: 351
#32: 2017-09-06 13:19:18 ЛС | профиль | цитата
Пока то, чего помню.

Получили WM_PAINT, начали рисовать. В Bitmap. Для прозрачности, сначала тех - кто под ним (посылая им свой WM_PAINT).
Не учитывая произошедшего смещения.
Потом нарисовали себя, и выкинули этот Bitmap в контекст. Как оказалось, немного в другое место.

В общем, ситуация понятная.
Непонятно как ее разруливать.
Как минимум, не на один день трудов.

Это все было про KOL, а не про PaintBox
карма: 9

0
Разработчик
Ответов: 26071
Рейтинг: 2122
#33: 2017-09-06 13:33:00 ЛС | профиль | цитата
Детально провел анализ отображения альфа-картинки -- увы, полную прозрачность этот элемент пока не поддерживает, только псевдопрозрачность.
карма: 22

0
Ответов: 2203
Рейтинг: 675
#34: 2017-09-06 13:38:52 ЛС | профиль | цитата
Проще обрезать регионами:
схема


Add(MainForm,4442582,322,322)
{
Left=10
Top=10
Width=229
Height=262
Position=1
link(onCreate,13023293:doEnum,[])
}
Add(BitmapArray,3560040,378,287)
{
Bitmaps=['Bitmap'=[ZIP9661000078DAED9CAF72DB5818C5B5810501059D9D828280CE4E414041404081414067D7C0202020B35B1090990DF0CC16042C2828282C08085C10B00F10D007E82304EC23E421EC3DD6B18E8FBF7B253BAD9D486E34B7AAECD8B2F4D3F9FEDCEF5EA9F7DBC51F45B9ECE1DF2FF8F727FEFD8A7F3F153F97EFFF8EBFFFF584FFAA65DCE2E5D9CB17E38E2CADE6F87C77E7EDC793976FF71E39AE6039F9F763EFFC78F7B0F7C8F15B16B0831877076F9E3CDD1E8D4683CB619BB5D9763D821DF4D8FF7C860D903DFBF27970F9FECDF0B06DF26C2F47041936E871FBF95328112801114C21D2BD93FE23C76597177BAFF6CF0600477CD0E3EBE30300C5FB40F9C871057CA14744F30E738489E134A00B28056BE8020261DB79B30B1B5CEBE162FFF85134706C55CC29EE2401B063181D94B63669D82883001B4D0F1F5EC7B1E23A61E70832F815AC3BA6471C2E4437C367E0F4720AF472880DD15CA15E260EF1B0870BC9C340C315ED927F040B4A00877EF0F73B0A01E78053FAF4E9D3D5D5950432C30A9A559AF29DDA8415235EE318680A68F82DB6B625920B38BA1DA19D9E9E02DFD7AF5F2F2E2E0011EB5EEFECAA5CB00DD98275A0C973BE6B4F99B90E1ABE0883E01A97448EB86379384D090D0481EFFCFC1CC8F6F68E40EDE6E60610D1AEAFAFF1276CBCDA7D8B6D7C00AC254FA204E225DD190962CD0DA6908448A0ED2C5E14CD7E1D1C69C820D8EF7F0041E23B3838C01A2FB1C69F4090DBD4265EE25B602D0347C34E9A8D91EC844F10A9415C09E50604FAB0E078A84B71A4638212010542A3FAD2066ADEC0F1C5CE1E1A3802317D821C6B9DBB14418A519D19A6DCDE9466DD0F4A3A13708020FAD3583A09A7650F75C8A405EF3771DCDFDF877F44F7167BA1DCD8B04D64D820B2B46D6F3F035070C441303E303AA1A528016E6B6B4B1CA544E9911D41B44073E5A98F221BD3030658BA7B7060EFBE6C43E2EB57A9CB02BBC6EE60C8A0497CA4098275F8BCC14B4E803E7F0A45E3CC993CB3A5E7EF7A748EF48C3C2BEDC1CDFC7B50F2E2610F38D3C0AE52DF447726BDA1E2A7A7CC0BEC1AA7A1C395D92E43300813AA044AD9238F3858A5EBD19D23B35769593479543CBC85287991F813BA36538F51B28BF82A014A7AC4E7026402A372C982788D784207E11E10BED28132463B3B846FE7787474042E582B71491D9C38BA45D33F328765FE289AF459A080E699500856A446C55174A4CF8B4187A3DCBEAF3E85ABEF722876CAFF780C77C87B609B90124E46108103960ED7295237E5E21C6F6F6F1164146D26FA2A6962C129290794A3DC2A97548CF28FF2B0DE5C9EDCA1D3776A6AFC8AF279D9A63498757FCC3788AFAECE94E10833D436136C1A82C2F175B9F025FE04F5E1A5C0617B341A618D6D9C129376729CC8B63428420C224AC5283DE2CC654A02AA6DD2940B9A3ABBF2A55CAABEC25D091F09F6552EA8EC570264AF6C6199AEC86A50DBECB7F07C080E94F1012AC8FD4E68FE26AD1E5F9CB02E3982A94B529F74824C12E9C5BC47E80D27197AAB948C6A42A13729134E21BAEF234116B4EE9C87E324A5476DC3A85352A96AE883D2C6BF4E0C76FB997A2940832B2149FAFEB31CD5C1E7E979AC64034AB460F8B25F09397C8B8E6F50D1245911BC6B9DB8486508760E2EB8AAD03CA1A3103C92860F8B2CD9812C38D64518D9357360C7D1AF4EBB9FA42041B9294497A13789FADB2AED8587E6C08E7A91C39ED2294364E863384A77EAC42AE7C5CF2046295E538F81A3E44CE798575382C3B5A9C0AA0BE0DF0D5FC1C6F7108C1C1D9FA241567A811A9D119B08FAFBAE532F9EF35768F8FA755577E41C0385C15C6C1D062844E94A24D3C0D125BC92D1C7C2EBB5C29725E8B2F2CE899CBAAFFD4F8ED877CB9F734F1A24A98EED2C35897D8C981E538FF2A46EDD41D10A4D2BE95C16EABA38414F1DDC48D95277EEB9055B203B45993804AAD239CAA87930C0E10401AE8298112321D2AE65DDCC5DF89270E50A5758C72C1C22FD11AD294DC102C1651AE1FA1E244C6D489212A6CC62D2AF3F3F0E10BDB3917214325AB717A1B5B18E727AE1165DD70170824177212556AEAB97FA7C6AE6729ABC84418F346A778555AA9C778B418F125DC8DED734F05DE8FAA7DED09D5D3820BDC311C46C92EC343D4FAEAB8029BEA9883011E3220D06887E30BA78ECD2AD7548A750DF2B88D18D31A5463A2A7467393A4AACA5C459CDA67297EA1DD3C669D4D3B133AB1AF4932C272B433F421587D63EAE106A30CC10FD6CDD78494D872B9FAD77741AA948756234E7B9F853A2F4940B6FB2CBA11E5BDFBA1C598EFA69FE9608DECF3077113D63093174EF9DA6F3524FDEF165FD7AEA37532FA9F0C20E358BF859709EFD05821ED0EE7358B188DD95244007AD7921448D8A908107B83CBD00513FC18B47D3E6C170903235E1B417E83ED1777BFFA3DB45C87264711E8883F12ACB4DC9A688F5DD342592E969848087C1D256E8B7853A856FCC157B0E7B0F325FA508D53AD5D943B929E8D14F265D67692A227915D6A3761063F8952C3EDF1B77F260E3D7D9301DCA76417A0B5B56985265C88142D71B17D2D5A71F0D1D3BCF6C68C80F3BA25D643DA35BF492EC529475661E860498FD04FFA8044BDD64AF877B48C177DB30C3A20862A4677473AE23551743B340431A949AB65271F6ACA9CA10F765257285ED992D55A462745B4ED985E6B52C6E34DBB813F1A115EF176A0A435AFB70436ED7FC9E5975B68CD4C12DA61007D6E62B31932990ECC365FB6D69709876784B59354CD909D5F5354D525D1947A53B4DA342D504DC4CF3A2563DC79006F14795848F3BBBCCEC5A7694BA45E98E98486A8E69555B656530DB0B96AF48FDA3D7743BCED1A667048E33255E0E2FFEBB469BE3A859E25551ABAE1E13E2AF4A93748E9BC2B1D463364C571CA7F52B709C2F08CE1707735128CDFBBC23EC1CBB6BDA05EB021EAC53A3A65D4F08C6E92FC9BA1162488064D44A1E3BCC5101B1CE3F4A8F9A42D9A0C77EBD1ED3CA4518FCDA088ED6ADCEEAD166C034297190D40AEBF21E9F31B0097186FF71743F9DCA96C91C1B9C23677AD497FEA5C73012DBF2DCF02E1C2D647394AE4692C325F5D82C467A46BA66E6E184D8793D7AEF50D38BEA3A85839A7573A4F639AC5319DA7076A79DE3DC7C8AE929D55B77E80ED6414C6730F93C1BD56E55A190A3ECAE18E7388639BFCDBDEC8656A7C4500627531F32DC103DCEACBB1CEAF23142C5876CE9ACA180960E19527D8A36ED2F407C0B4777945E43F3219AE54BB969D95503849AE5E528378AA31B78185DD03CE2667621347BE19ABBD527FDCD0DE43813A61978764C353B24EB83275E19D35DE87C820CED9AD39C39B9B48577B1AE80A3D3F4C1F554A15E0AA307740DCAFDF1EBF8D3D997CFE0C81D9E9E9E5E94CBF1EB6D6C6F2C47A5443E3BD4CBFDF4A1BA2D368C022AD9D6FDC71A81C036E0F29EE30FBDE92CFCDECE934DE6A8BEA34FBCCBCE140D5376548E93E1B3F8468EBC897B341AFD73389D7C0F556E3E4797677AE382A293477C39CDD9232DCA4E24B15E5D5DDDDEDE82E3E8E602460D170961FE401C7D818870F294D5F49EBF4A83614C423D22C8900FEA00CA51B57C79F712AA8499FFA01CE1D7C05138A69EF1B0179FFC3137F630D484804AA1EFF9A0954E3CA2708D7A0441C810D20B15A35822AA46C414AF3D5B6ADBA3B6EE95237323F50ED9E753C5A85F33BB5B4FA5F1C468DCE56535CF37D35D2EBCFD4AD1D9C71ADDB4E91F9560725ACF23C7D9022261C4317773F87BF567A4C771C797D53F6F8FDA9CD3A3DFDD5CD97578CCDC23C7B878F4B0FBEC8781A3D729C6DD5F56CF510F958B6364F3762DFF38DE88652DCFD154D8A943298E9B21C67571049D20C9590E548D3DF0A167E34D59D6F55CD7867B4658701B6FD6B2C6E7E36A4EADDFA33DDED0A5F81F01EEF609],'Bitmap'=[ZIP9661000078DAEDDCBD0D02310C86E1A3650246600206A0861D60004A56615D8840147480BF24FE79ADA481EE91628E9CEDFDF1765E9EB16B7BDBF6A5ED43DBAB65F3FCFCD4BEBFAE5FFB1D77E28F686E9F0B47131F8E1A3E1CAD7C0DEEB57034F1E1A8E1C351C387A386AFB6A38EAFA46307BE4A8E3DF90A380EE1CBEB38962F9DE324BE2C8EB3F9823BBAE18BE9E88F2F8EE31757551E9657C7207C5E1DA3F139738C69E7C6313EDF54C7447C331C33F20D744CCDD7DFB1065F37C7627C6AC7AA7C22C7F27C3647F84C8EF0991CE13339C2677284CFE4085F3F4774AC8EB888CF3540BFFFCE9022C5CF3D808A9FC30115FF2F44537C4F01A8F8DE0C50EE1FB90FE7FD4C76CD09EF0B7104747A3D45F6043ABCBE2729E8BC7AB35CA00EEA1F53687AAAC78D0CEAB23E9CBAE6B2093442FF0C7D1F75CE7BB6BE381C6383A6E81B76904073F5B1CF034D3A57613868F6391FA334CBCC9DE90C5A6F0E521FD0AA73B9D409B4FC9C381128F3F634E71D470D288E1A501C350914470D288EE2F34E084071D4802E0F4ED01690],'Bitmap'=[ZIP9661000078DAEDDCCB6DC3301004D0C93515B884549002728E7B480AC831ADA45D9B70904B20EBE7D99D25358279F10FE6032D48DC21DFCE3F9FB81DAFADBDB4F6D5DA7B6B4F38DD9EFF68AF7F3FFFB6BFE3A23EDA4FA03CC4BDE817AE142B46B2139AA204DFE3566A5068F8A287603A28F204557FEB144D840B8ACF8DCBA0551CABF3AD03553AF62718A689230A06688283D8A3E0AC66ACE38082244DEC471C49F0BE26D9F128887B29B119716CC13B9A04C783226EA4841129943022851246A450C28814CA2547F34D51AE72F460DC312461440A258C48A144ADD3E2D60F943951A2CA607CF0F3EA2109F160A47FA36848EA1C195527A5E6A4A3EA47706A23EA12F99463D589D28A93A44AC7F894481EE53FC791105594898EC901B01C4AA1A32068399EA326B33A8EA32A261BDD353B76ECA8CCA28FE0288CBFFB7F6D473B8E72119E7729EEEB70DF17D6BF2F1C85321B119E378B9A7F4C5F6CD5EB3CEEE47CB8764ABCEBBA82EB5CD18E8AEA656775D799FAB5384FD1670EA06ABEA7BEE09A7C8FA3529CBC992969F947E77169795C0F495A3EDC949CF50AA6A4AD9F31256D3D972969EB0BBDDE95B6DED5EBAFBD1F40DEF4A8F7A798BBBBF77E297982DEBF873933EFFDA448B50D7E75A9BE265590E6A82F95245684C21D1734E1FD1FB99A8A1279A860A0E3065016EBBAF705F65410A14B7F64745099D9EEDC4EEC18C42AEEC5C507C5F10AF23AA5A1]]
}
Add(MoveWindow,8170460,343,231)
{
link(Handle,3748656:Var2,[])
}
Add(Img_Bmp,4904784,532,343)
{
link(Bitmap,5675711:Var,[])
}
Add(ArrayEnum,13023293,378,336)
{
link(onItem,7233659:doEvent1,[])
link(Array,3560040:Array,[])
}
Add(MoveWindow,1923613,448,231)
{
link(Handle,3459531:Var2,[])
}
Add(PaintBox,9256865,441,154)
{
Left=25
Top=20
Width=109
Height=76
Point(onMouseDown)
Point(doBringToFront)
Point(Handle)
link(onMouseDown,9316478:doEvent1,[])
}
Add(MoveWindow,10024935,553,231)
{
link(Handle,6642357:Var2,[])
}
Add(PaintBox,889031,546,154)
{
Left=95
Top=130
Width=109
Height=76
Point(onMouseDown)
Point(doBringToFront)
Point(Handle)
link(onMouseDown,10383419:doEvent1,[])
}
Add(GetIndexData,5675711,532,294)
{
Count=3
link(onIndex,3277768:doIndex,[])
link(Data1,3890076:Bitmap,[(538,279)(342,279)])
link(Data2,9256865:Bitmap,[(545,272)(447,272)])
link(Data3,889031:Bitmap,[])
}
Add(Hub,7233659,441,336)
{
OutCount=5
link(onEvent1,10203287:doData,[])
link(onEvent2,4904784:doDraw,[])
link(onEvent3,1813350:doPicture,[(468,356)(468,419)])
link(onEvent4,1813350:doOutlinePicture,[(474,363)(474,412)])
link(onEvent5,1813350:doClear,[(462,370)(462,426)])
}
Add(DoData,10203287,476,336)
{
link(onEventData,5675711:doIndex,[(520,342)(520,300)])
link(Data,13023293:Index,[(482,327)(433,327)(433,376)(391,376)])
}
Add(PaintBox,3890076,336,154)
{
Left=55
Top=70
Width=109
Height=76
Point(onMouseDown)
Point(doBringToFront)
Point(Handle)
link(onMouseDown,9123238:doEvent1,[])
}
Add(Hub,9123238,378,161)
{
link(onEvent1,3890076:doBringToFront,[(403,167)(403,146)(326,146)(326,174)])
link(onEvent2,8170460:doMove,[(403,174)(403,216)(333,216)(333,237)])
}
Add(Hub,9316478,483,161)
{
link(onEvent1,9256865:doBringToFront,[(508,167)(508,146)(431,146)(431,174)])
link(onEvent2,1923613:doMove,[(508,174)(508,216)(438,216)(438,237)])
}
Add(Hub,10383419,588,161)
{
link(onEvent1,889031:doBringToFront,[(613,167)(613,146)(536,146)(536,174)])
link(onEvent2,10024935:doMove,[(613,174)(613,216)(543,216)(543,237)])
}
Add(RGN_OutlinePicture,1813350,532,406)
{
ModeTransparent=0
Point(doPicture)
Point(doClear)
link(onOutlinePicture,12593170:doSetRegion,[])
}
Add(RGN_SetToWindow,12593170,588,406)
{
link(Handle,3277768:Var,[])
}
Add(GetIndexData,3277768,588,294)
{
Count=3
link(Data1,3748656:Var3,[(594,208)])
link(Data2,3459531:Var3,[(601,201)])
link(Data3,6642357:Var3,[(608,194)])
}
Add(GetDataEx,3748656,343,203)
{
link(Data,3890076:Handle,[])
}
Add(GetDataEx,3459531,448,196)
{
link(Data,9256865:Handle,[])
}
Add(GetDataEx,6642357,553,189)
{
link(Data,889031:Handle,[])
}
Никакого дерганья при перетаскивании кстати нет.
карма: 11

0
Ответов: 2059
Рейтинг: 132
#35: 2017-09-06 21:03:00 ЛС | профиль | цитата
Не так?
https://yadi.sk/d/N0INwL3p3MfJLc
Картинки большие.
Мышкой таскаем картинку.

Редактировалось 1 раз(а), последний 2017-09-06 21:11:15
карма: 6

0
Разработчик
Ответов: 26071
Рейтинг: 2122
#36: 2017-09-06 21:54:02 ЛС | профиль | цитата
flint2 писал(а):
Не так?

И где здесь прозрачность самого PaintBox-a? Цимус всего этого затеянного безобразия в получении именно прозрачности самого интерфейсного элемента так, как это реализовано в Label. Те из-под контрола должны быть видны другие контролы, а не картинка.

Редактировалось 1 раз(а), последний 2017-09-06 21:55:52
карма: 22

0
Ответов: 2059
Рейтинг: 132
#37: 2017-09-06 22:35:32 ЛС | профиль | цитата
Те из-под контрола должны быть видны другие контролы, а не картинка.

Вот блин, не разобрался.
Признаю вину.

Виноват, исправлюсь!


Согласен, ТЗ надо тчательнее читать.

Редактировалось 1 раз(а), последний 2017-09-06 22:41:55
карма: 6

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