Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Форма, как рабочий стол. VB6 Добавлено: 18.10.09 10:36  

Автор вопроса:  oi
Вопрос: Как сделать так, чтобы форма в VB6 была на последнем месте, как рабочий стол.
То есть при клике на форму, она не делалась выше всех.

Ответить

  Ответы Всего ответов: 15  

Номер ответа: 1
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #1
Добавлено: 19.10.09 09:14
функция SetWindowPos со вторым параметром HWND_BOTTOM
Пример на ассемблере MASM (MASM32 SDK):
  1. ;Функция NullProc
  2. ;прячет окно календаря на задний план
  3. NullProc proc hWnd:DWORD
  4. LOCAL rct:RECT
  5. invoke GetWindowRect,hWnd,addr rct
  6. mov eax,rct.right
  7. sub eax,rct.left
  8. mov ebx,rct.bottom
  9. sub ebx,rct.top
  10. invoke SetWindowPos,hWnd,HWND_BOTTOM,rct.left,rct.top,eax,ebx,SWP_SHOWWINDOW
  11. ret
  12. NullProc endp

Ответить

Номер ответа: 2
Автор ответа:
 oi



Вопросов: 5
Ответов: 10
 Профиль | | #2 Добавлено: 19.10.09 13:10
mc-blackспасибо.
Еще вопрос:
А как сделать так, чтобы форма была ВСЕ ВРЕМЯ сзади всего. Пробовал Таймером, происходит мерцание при получении фокуса у формы.

Ответить

Номер ответа: 3
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #3
Добавлено: 19.10.09 16:30
Наверное сойдет обработчик события Activate формы.

Ответить

Номер ответа: 4
Автор ответа:
 oi



Вопросов: 5
Ответов: 10
 Профиль | | #4 Добавлено: 19.10.09 22:22
Все равно происходит мерцание.

Ответить

Номер ответа: 5
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #5
Добавлено: 20.10.09 10:08
Я сделал как-то в своем календарике (см. ссылку на мой web-сайт), тут главное подобрать правильно событие (или оконное сообщение) - никаких таймеров ни в коем случае! Почему мерцает твоя форма, если взять событие Activate, вроде не должно? Может более одной программы стремятся стать одновременно неактивными.. Ты учитываешь, что форма на заднем плане не может быть одновременно активна? Пробуй разные обработчики сообшений по смыслу (у меня сейчас нет VB6 под рукой проверить). Смотри исходники моей программки, правда она на ассемблере, но смысл уловить несложно.

Ответить

Номер ответа: 6
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #6
Добавлено: 20.10.09 15:19
GotFocus?

Ответить

Номер ответа: 7
Автор ответа:
 oi



Вопросов: 5
Ответов: 10
 Профиль | | #7 Добавлено: 21.10.09 13:46
Ну мерцает в том смысле, что переднее окно на милисекунду закрывается формой, а потом при срабатывании Activate снова назад идет.

Ответить

Номер ответа: 8
Автор ответа:
 oi



Вопросов: 5
Ответов: 10
 Профиль | | #8 Добавлено: 21.10.09 13:54
mc-black спасибо! Поставил на MouseDown, и без мерцаний.

Ответить

Номер ответа: 9
Автор ответа:
 oi



Вопросов: 5
Ответов: 10
 Профиль | | #9 Добавлено: 21.10.09 14:10
Только при нажатии на: "Свернуть все окна" программа тоже сворачивается.
Как сделать так чтобы не сворачивалась ??????

Ответить

Номер ответа: 10
Автор ответа:
 Arvitaly



ICQ: 301746136 

Вопросов: 28
Ответов: 549
 Web-сайт: okazani.ru
 Профиль | | #10
Добавлено: 21.10.09 14:36
Resize надо полагать

Ответить

Номер ответа: 11
Автор ответа:
 



Администратор

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #11
Добавлено: 29.10.09 11:03
Имхо, проги подобного плана на ВБ писать глупо. Хотя я писал... Но надо писать грамотно и с оптимизацией.

Ответить

Номер ответа: 12
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #12 Добавлено: 29.10.09 14:43
:) Палач вернулсо!

Ответить

Номер ответа: 13
Автор ответа:
 AndreyMp



ICQ: 237822510 

Вопросов: 28
Ответов: 1182
 Профиль | | #13 Добавлено: 29.10.09 15:24
Палач вернулсо!
И всех построил.
Имхо, проги подобного плана на ВБ писать глупо.
;)

Ответить

Номер ответа: 14
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #14 Добавлено: 29.10.09 17:28
:-)

Ответить

Номер ответа: 15
Автор ответа:
 Millenium



ICQ: 629966 

Вопросов: 118
Ответов: 903
 Web-сайт: www.aliyev.us
 Профиль | | #15
Добавлено: 15.11.09 13:31
Чтобы не мерцало, отключи AutoRedraw!
  1. AutoRedrow = False

а чтобы не сворачивался:
  1. On Form Resize
  2. Me.WindowState = vbMaximized 'или vbNormal

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам