|
Переместить кнопку между frame1,form,frame2
|
|||
---|---|---|---|
#18+
Ребят, привет! есть форма на ней 2 frame в одном из них кнопку, как перемещать я понял, но объект перемещается в рамках 1 frame, где изначально объект был установлен, а как переместить объект за границу данного frame, сначала форма, потом другой или тот же frame? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 15:49 |
|
Переместить кнопку между frame1,form,frame2
|
|||
---|---|---|---|
#18+
Через WinAPI функция SetParent ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 15:57 |
|
Переместить кнопку между frame1,form,frame2
|
|||
---|---|---|---|
#18+
Shocker.ProЧерез WinAPI функция SetParent не пойму как Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 18:38 |
|
Переместить кнопку между frame1,form,frame2
|
|||
---|---|---|---|
#18+
подправил код для примера Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 18:40 |
|
Переместить кнопку между frame1,form,frame2
|
|||
---|---|---|---|
#18+
Хм. действительно, в офисформах нет свойства hWnd ни у формы, ни у контролов. Не знаю, как их добыть. А зачем такие сложности? Почему нельзя таскать кнопку по форме поверх фреймов? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 18:56 |
|
Переместить кнопку между frame1,form,frame2
|
|||
---|---|---|---|
#18+
Shocker.Pro, их добывать через API надо. Типа того(внутри формы) Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
в принципе можно ihWnd объявить на уровне модуля формы и определять его при инициализации формы, а потом в других процедурах просто использовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 19:38 |
|
Переместить кнопку между frame1,form,frame2
|
|||
---|---|---|---|
#18+
Забыл. В VBA есть еще скрытые методы. И для контейнеров типа Frame можно получить hwnd без танцев с бубном: Код: vbnet 1.
но это свойство недоступно для кнопок, т.к. они вроде бы даже не являются окнами(они вроде вообще рисуются командой MS Forms Runtime и им hwnd попросту не назначается). В общем как достать hwnd кнопки я не знаю. Даже при помощи API. Поэтому не совсем представляю, как здесь setParent может помочь, ведь там помимо hwnd нового родителя нужен еще и hwnd дитятки. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 19:59 |
|
Переместить кнопку между frame1,form,frame2
|
|||
---|---|---|---|
#18+
Focha, ИМХО предполагается, что надо просто создать три одинаковые кнопки, две из них сделать невидимыми, и далее по нажатию делать видимой очередную кнопку Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2018, 01:13 |
|
Переместить кнопку между frame1,form,frame2
|
|||
---|---|---|---|
#18+
КазанскийFocha, ИМХО предполагается, что надо просто создать три одинаковые кнопки, две из них сделать невидимыми, и далее по нажатию делать видимой очередную кнопку Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Полный бред ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2018, 09:59 |
|
Переместить кнопку между frame1,form,frame2
|
|||
---|---|---|---|
#18+
Shocker.ProХм. действительно, в офисформах нет свойства hWnd ни у формы, ни у контролов. Не знаю, как их добыть. А зачем такие сложности? Почему нельзя таскать кнопку по форме поверх фреймов? А зачем такие сложности? Хочу добавить минимальную интерактивность Почему нельзя таскать кнопку по форме поверх фреймов? Можно, но проще перебрать все объекты в frame, чем сохранять какие объекты пользователь перетащил ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2018, 10:02 |
|
Переместить кнопку между frame1,form,frame2
|
|||
---|---|---|---|
#18+
The_PristЗабыл. В VBA есть еще скрытые методы. И для контейнеров типа Frame можно получить hwnd без танцев с бубном: Код: vbnet 1.
но это свойство недоступно для кнопок, т.к. они вроде бы даже не являются окнами(они вроде вообще рисуются командой MS Forms Runtime и им hwnd попросту не назначается). В общем как достать hwnd кнопки я не знаю. Даже при помощи API. Поэтому не совсем представляю, как здесь setParent может помочь, ведь там помимо hwnd нового родителя нужен еще и hwnd дитятки. могу кнопку заменить на frame ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2018, 10:31 |
|
Переместить кнопку между frame1,form,frame2
|
|||
---|---|---|---|
#18+
FochaМожно, но проще перебрать все объекты в frame, чем сохранять какие объекты пользователь перетащилага, мы видим, как проще, совсем никакого геморроя Проще в тэге для контрола отметить, какой из них был перетащен и не парится с этими контейнерами ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2018, 10:48 |
|
Переместить кнопку между frame1,form,frame2
|
|||
---|---|---|---|
#18+
Shocker.ProFochaМожно, но проще перебрать все объекты в frame, чем сохранять какие объекты пользователь перетащилага, мы видим, как проще, совсем никакого геморроя Проще в тэге для контрола отметить, какой из них был перетащен и не парится с этими контейнерами я то думал, что это так же легко сделать как в JS или C#. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2018, 10:54 |
|
Переместить кнопку между frame1,form,frame2
|
|||
---|---|---|---|
#18+
Shocker.ProПочему нельзя таскать кнопку по форме поверх фреймов?Не получается :( FochaПолный бредУгу, единственный работающий вариант на текущий момент :) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2018, 11:32 |
|
Переместить кнопку между frame1,form,frame2
|
|||
---|---|---|---|
#18+
КазанскийShocker.ProПочему нельзя таскать кнопку по форме поверх фреймов?Не получается :( FochaПолный бредУгу, единственный работающий вариант на текущий момент :) Эм.... а теперь таких frame будет 5 штук, решение такое не подходит. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2018, 11:54 |
|
Переместить кнопку между frame1,form,frame2
|
|||
---|---|---|---|
#18+
Fochaлегко сделать как в JS или C#.JS или C#, как и VBA - это языки и сами по себе они чего не могут (легко или сложно) - в этой задаче все зависит от выбранного фреймворка для вывода на экран, а Office Forms (или как они там называются) - штука достаточно слабая в плане гибкости. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2018, 12:02 |
|
Переместить кнопку между frame1,form,frame2
|
|||
---|---|---|---|
#18+
Shocker.ProFochaлегко сделать как в JS или C#.JS или C#, как и VBA - это языки и сами по себе они чего не могут (легко или сложно) - в этой задаче все зависит от выбранного фреймворка для вывода на экран, а Office Forms (или как они там называются) - штука достаточно слабая в плане гибкости. поруюсь еще в инете, если ничего не придумаю, буду делать подругому. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2018, 12:41 |
|
|
start [/forum/topic.php?fid=61&tid=2172349]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 284ms |
total: | 408ms |
0 / 0 |