Вверх ↑
Этот топик читают: Гость
Ответов: 177
Рейтинг: 24
#1: 2014-12-08 19:15:36 ЛС | профиль | цитата
Путём не сложных манипуляций, я заставила картинку менять размер при клике на соответствующую кнопку. А как можно сделать чтобы картинка меняла размер путем перетаскивания за уголок? На примере как меняем размер окна.


Add(MainForm,2953706,21,105)
{
Width=357
Height=353
}
Add(Image,7976785,742,273)
{
Left=95
Top=40
Width=50
Height=65
Color=-16777207
ViewStyle=3
Picture=[ZIPDA05000078DAAD545B4EDB50101D1B3B512879521C6C278E9334B1095541AD44055511F003AA4424D691BDE43B0BE8A2A2AE218BE89CE1CEC576A15F443A72E6CC9CB9E73EEF1EFFF824BF0B46CE3834702815FEB7C9177FE3B8FB0FB6DB2DADD76B5A2E97148621398E235FC4E0917F4D57C566B3A1BD3D97DA07758AC30E65D33E7DCE13F922068F3CEADEEAB1DBED68B55A51CDF728E8356814B629610C8F9B8204E0183CF2A8433D74D55EE0F7EBDE0B37E809465147901679F31FF5D055E7857186C68B684D0FF535349E9417CF0CE874BE5847D775A86FE605E8F8F0A29CF6515FCA4107BDEE57A3E6977C4E93439A8E8E68C2DF223FE13EE0A7151E7ADDF75EB32E6B2B63452D1EBB233AF848CCBA834FE3B6F0C82396FDE11CF47A7EE27EABB4DE187B9E06B69FCE0D3EC123AFB5D041AFE7B0B877D0CFD06B7C44B3F42323284178CCBFD00BD0F33C08745D3BA55E389FF93C323896B8DCEBD933F47A2F82EEBE5D6F78C92601E59F423AC9625AE4030BC4E091479DEE03F47ABF1A35CF9E45EB4BFBB1270562F0D617D7A7B28F9EBDA7AEEB521434650CD465E3BEF575CA7E14D617E767C61374D0EB7DC7B9AD73EF99E935D75E73EE910D2D108B37D30BF5D055EF39EED541C37F3E0FE8C56BBDA8F8420C1E79D4A1BE7A1F8BEF44ABF581168B097DFFF1852E7F7EA5ABEB6F1688C1238FBAB7DE89E23DF7F8BEC6A388CE2ECEE9E6FE961E9E7EC9173178CFF7FEFB7EBDC7BBFA17DD90B0D6]
Point(doWidth)
Point(doHeight)
Point(Width)
Point(Height)
Point(onSplitUp)
Point(Handle)
}
Add(Label,9527785,812,357)
{
Left=135
Top=255
Width=85
Alignment=2
link(Text,12715333:Result,[(818,352)(789,352)(789,405)(755,405)])
}
Add(StrCatDelim,12715333,749,357)
{
Delimiter=" х "
link(onStrCatDlm,9527785:doText,[])
link(Str1,14440388:Var2,[])
link(Str2,10242700:Var2,[])
}
Add(Hub,14069848,581,294)
{
link(onEvent1,7976785:doHeight,[])
link(onEvent2,3728142:doTimer,[(642,307)(642,363)])
}
Add(Timer,3728142,686,357)
{
Interval=60
Enable=1
AutoStop=1
link(onTimer,12715333:doStrCatDlm,[])
}
Add(Button,4211873,189,259)
{
Left=110
Top=280
Caption="+"
Point(onMouseDown)
Point(onMouseUp)
link(onMouseDown,14294407:doTimer,[])
link(onMouseUp,14294407:doStop,[])
}
Add(Button,4183947,203,385)
{
Left=180
Top=280
Caption="-"
Point(onMouseDown)
Point(onMouseUp)
link(onMouseDown,477603:doTimer,[])
link(onMouseUp,477603:doStop,[])
}
Add(Timer,14294407,252,266)
{
Interval=125
Enable=1
link(onTimer,10047452:doEvent1,[])
}
Add(Math,6315707,343,266)
{
Op2=1
link(onResult,15027383:doWork2,[])
link(Op1,13776199:Var1,[(349,240)])
}
Add(Timer,477603,259,392)
{
Interval=125
Enable=1
link(onTimer,12316575:doEvent1,[])
}
Add(Math,9808034,406,315)
{
Op2=1
link(onResult,3739921:doWork2,[(482,321)(482,300)])
link(Op1,2903685:Var1,[(412,303)(475,303)(475,348)])
}
Add(GetDataEx,14440388,749,329)
{
link(Data,7976785:Width,[])
}
Add(GetDataEx,10242700,756,343)
{
link(Data,7976785:Height,[])
}
Add(Hub,10047452,308,266)
{
link(onEvent1,6315707:doOperation,[])
link(onEvent2,9808034:doOperation,[(332,279)(332,321)])
}
Add(Math,11867382,343,392)
{
OpType=1
Op2=1
link(onResult,15027383:doWork3,[(557,398)])
link(Op1,13776199:Var2,[(349,361)(398,361)])
}
Add(Math,9154642,392,441)
{
OpType=1
Op2=1
link(onResult,3739921:doWork3,[(564,447)])
link(Op1,2903685:Var2,[(398,415)(489,415)])
}
Add(Hub,12316575,308,392)
{
link(onEvent1,11867382:doOperation,[])
link(onEvent2,9154642:doOperation,[(329,405)(329,447)])
}
Add(HubEx,15027383,553,266)
{
link(onEvent,7976785:doWidth,[(661,272)(661,293)])
}
Add(HubEx,3739921,560,294)
{
link(onEvent,14069848:doEvent1,[])
}
Add(GetDataEx,13776199,392,235)
{
Angle=1
link(Data,14440388:Var1,[(517,240)(517,334)])
}
Add(GetDataEx,2903685,483,343)
{
Angle=1
link(Data,10242700:Var1,[])
}


карма: 1

0
Ответов: 2271
Рейтинг: 677
#2: 2014-12-08 19:25:51 ЛС | профиль | цитата
Lora, такая тема уже обсуждалась и примеры выкладывались, попробуйте поиск.
карма: 11

0
Ответов: 177
Рейтинг: 24
#3: 2014-12-09 00:17:03 ЛС | профиль | цитата
sla8a писал(а):
Lora, такая тема уже обсуждалась и примеры выкладывались, попробуйте поиск.

Что-то я не нашла ничего подходящего. Может я как-то не так ищу???
------------ Дoбавленo в 20.39:
В принципе я понимаю что там как-то надо связать координаты картинки+размер+координаты курсора. Но что-то ничего не выходит. Не получается увязать все это в грамотную схему.
------------ Дoбавленo в 00.17:
Ваш хвалёный "поиск" так мне и ничем и не помог. Ну не выдаёт он по запросу: "изменение картинки мышкой" ничего касаемо этой темы!!!
Но худо-бедно справилась сама. Угробила кучу времени, но тем не менее.
Я запаковала картинку в дочернюю форму и снабдила функцией активирующей рамку при клике. И всё бы ничего, но вот как быть если у меня будет 40 картинок? Это что же, делать 40 дочерних форм для каждой картинки???!!


Add(MainForm,6015176,266,196)
{
Width=357
Height=353
Point(Left)
Point(Top)
Point(onMove)
link(onCreate,15603061:doWork1,[(312,216)])
link(onMove,15603061:doWork2,[])
}
Add(Label,9527785,469,322)
{
Left=135
Top=255
Width=85
Alignment=2
link(Text,12715333:Result,[(475,317)(446,317)(446,370)(412,370)])
}
Add(StrCatDelim,12715333,406,322)
{
Delimiter=" х "
link(onStrCatDlm,9527785:doText,[])
link(Str1,6477786:Var3,[])
link(Str2,6477786:Var4,[])
}
Add(ChildForm,6477786,392,252)
{
link(onEvent1,12715333:doStrCatDlm,[(436,258)(436,293)(394,293)(394,328)])
}
BEGIN_SDK
Add(EditMulti,294958,21,21)
{
EventCount=1
WorkCount=2
VarCount=4
Width=776
Height=515
link(Var3,4698621:Width,[(41,389)(398,389)])
link(Var4,4698621:Height,[(48,398)(405,398)])
link(doWork1,4698621:doLeft,[(119,27)(119,244)])
link(doWork2,4698621:doTop,[(113,34)(113,251)])
}
Add(MainForm,4698621,378,210)
{
Left=35
Top=105
Width=132
Height=120
Color=-16777198
BorderStyle=0
Point(Left)
Point(Top)
Point(Width)
Point(Height)
Point(doLeft)
Point(doTop)
Point(doWidth)
Point(doHeight)
Point(doBorderStyle)
Point(onMouseDown)
Point(onKillFocus)
Point(Handle)
Point(onResize)
Point(doPicture)
link(onMouseDown,13034431:doData,[(506,237)(506,223)])
link(onKillFocus,5813637:doData,[])
link(onResize,294958:onEvent1,[(767,251)(767,27)])
}
Add(DoData,13034431,602,217)
{
Data=Integer(7)
link(onEventData,13767174:doWork1,[(686,223)])
}
Add(DoData,5813637,525,238)
{
Data=Integer(0)
link(onEventData,13767174:doWork2,[])
}
Add(HubEx,13767174,682,238)
{
Angle=1
link(onEvent,4698621:doBorderStyle,[(686,286)(366,286)(366,272)])
}
END_SDK
Add(MultiElement,5040457,266,252)
{
link(Data1,6015176:Left,[])
link(Data2,6015176:Top,[])
link(onEvent1,6477786:doWork1,[])
link(onEvent2,6477786:doWork2,[])
}
BEGIN_SDK
Add(EditMulti,10470734,21,21)
{
EventCount=2
WorkCount=1
DataCount=2
Width=762
Height=536
link(doWork1,7389300:doEvent1,[(53,27)(53,167)])
}
Add(Math,1700019,161,168)
{
Op2=50
link(onResult,10470734:onEvent2,[(542,174)(542,34)])
link(Op1,10470734:Data2,[(167,94)(34,94)])
}
Add(Math,6539096,203,105)
{
Op2=100
link(onResult,10470734:onEvent1,[(509,111)(509,27)])
link(Op1,10470734:Data1,[(209,63)(27,63)])
}
Add(Hub,7389300,84,161)
{
link(onEvent1,6539096:doOperation,[(150,167)(150,111)])
link(onEvent2,1700019:doOperation,[])
}
END_SDK
Add(HubEx,15603061,308,217)
{
link(onEvent,5040457:doWork1,[(331,223)(331,245)(254,245)(254,258)])
}


карма: 1

0
Ответов: 8928
Рейтинг: 823
#4: 2014-12-09 11:28:45 ЛС | профиль | цитата
Lora, ищите через Яндекс или Google
"За уголок" правый нижний в 10 пикселей code_34731.txt
карма: 19

0
файлы: 1code_34731.txt [3.6KB] [212]
Ответов: 177
Рейтинг: 24
#5: 2014-12-09 18:32:35 ЛС | профиль | цитата
Леонид писал(а):
Lora, ищите через Яндекс или Google
"За уголок" правый нижний в 10 пикселей code_34731.txt


Спасибо!
Это то что я хотела получить! Кстати очень интересненький вариант, я бы до такого не додумалась!
Если вернуться к моему варианту, вот как на ваш взгляд, это очень нехорошо использовать дочернюю форму для картинки? У меня их 23 получилось! Можно ли оставить так как я сделала? Просто у меня там уже много всего понаделано, переделывать неохота! Какие могут быть проблемы? Как вы думаете???
карма: 1

0
Ответов: 8928
Рейтинг: 823
#6: 2014-12-09 19:08:16 ЛС | профиль | цитата
Lora, что дочерняя форма, что панель или картинка разницы нет, это всё "окна" и выведя такие же точки получите одинаковый результат
Но т. к. у вас форма без "бордюра", а сверху предполагается картинка, то мышкой вы не сможете кликнуть по форме и регулировать её размер тоже не выйдет даже если картинка будет нарисовано на форме, размер формы измените, а картинку нет.
Небольшое дополнение заодно перемещение картинки code_34732.txt
карма: 19

0
файлы: 1code_34732.txt [2.6KB] [216]
Ответов: 2271
Рейтинг: 677
#7: 2014-12-09 20:30:53 ЛС | профиль | цитата
Lora писал(а):
Ну не выдаёт он по запросу: "изменение картинки мышкой" ничего касаемо этой темы!!!
А по запросу "изменение размера"? На моей памяти несколько раз уже обсуждали эту тему.
Вот вам ваш подход с дочерними формами в моей обработке: code_34733.txt
  • Рамка изменения размера появляется при выборе картинки и пропадает при клике по "пустоте".
  • Минимальный размер для изменения ограничивается элементом MinMaxSize (Ограничение размеров формы) и равен 50х50.
    Леонид писал(а):
    регулировать её размер тоже не выйдет даже если картинка будет нарисовано на форме
    Леонид, регионы творят чудеса (см. схему).
  • карма: 11

    1
    файлы: 1code_34733.txt [9.7KB] [460]
    Голосовали:Lora
    Ответов: 8928
    Рейтинг: 823
    #8: 2014-12-09 20:36:14 ЛС | профиль | цитата
    sla8a, регионы редко применяю, как и другие рюшечки, поэтому всегда про них забываю
    карма: 19

    0
    Ответов: 2271
    Рейтинг: 677
    #9: 2014-12-09 20:47:39 ЛС | профиль | цитата
    Леонид писал(а):
    регионы редко применяю, как и другие рюшечки
    Регионы - рюшечки?
    Регионы- это очень полезный инструмент для решения различных задач ИМХО
    карма: 11

    0
    Ответов: 177
    Рейтинг: 24
    #10: 2014-12-09 21:25:34 ЛС | профиль | цитата
    sla8a писал(а):
    даже если картинка будет нарисовано на форме, размер формы измените, а картинку нет.

    Блиин, а ведь действительно! Что-то я не подумала.

    sla8a писал(а):
    Вот вам ваш подход с дочерними формами в моей обработке: code_34733.txt

    Очень красиво! И картинки сами по себе и дочерняя форма лишь одна! Мне нравится! Буду переделывать также как у вас! Надо только понять как это всё куда и откуда зачем туда! Ой чувствую, сей дивный орнамент элементов я буду изучать до утра!


    Мдааааа... Я вчера весь день убила чтобы сотворить хоть что-то, а вы за несколько часов накидали мне столько вариантов! Мой комплекс неполноценности достиг апогея! Пойду тортик съем!!!

    Спасибо вам бооольшущие!
    карма: 1

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