Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> setwindowpos, запутался с параметрами 
:(
    Опции темы
efedron
Дата 18.4.2005, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 16.3.2005

Репутация: 4
Всего: 4



люди добрые, мне окошко надо показать поверх всех, но без фокуса...
--------------------
Прежде чем совершить акт разрезания определенной материи целесообразно удостовериться в правильности всех произведенных измерений.
PM MAIL   Вверх
amt
Дата 19.4.2005, 09:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 249
Регистрация: 26.10.2004
Где: г. Волгоград

Репутация: 3
Всего: 3



Это как сделать всегда сверху.
Код

Option Explicit


Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, _
          ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, _
          ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

Private Const HWND_TOPMOST = -1
Private Const HWND_NOTOPMOST = -2
Private Const SWP_NOMOVE = &H2
Private Const SWP_NOSIZE = &H1
Private Const SWP_NOACTIVATE = &H10
Private Const SWP_SHOWWINDOW = &H40

Public Sub SetFormPosition(frmHandl As Long, TopPosition As Boolean)
          If TopPosition Then
               SetWindowPos frmHandl, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_NOSIZE Or SWP_NOMOVE
          Else
               SetWindowPos frmHandl, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOSIZE Or SWP_NOMOVE
          End If
End Sub

Дальше (если я правильно понял) нужно для загружаемоо таким образом окна прописать передачю фокуса другому приложению. единственный нюанс: если окно запускается твоим приложением и у твоего приложения должен отсаться фокус - тут все просто. Иначе придется отслеживать какие окна были открыты перед запуском окна (всегда сверху) и какое имело фокус, ну а потом уже после запуска передать фокус обратно.
Если я не ошибаусь передачу фокуса можно осуществить с помощью функции
AppActivate "имя приложения",
где "имя приложения" - название проги, указанное в строке заголовка.

Это сообщение отредактировал(а) amt - 19.4.2005, 09:09
--------------------
С точки зрения банальной эрудиции не каждый индивидуум способен игнорировать тенденции парадоксальных эмоций.
PM MAIL   Вверх
efedron
Дата 20.4.2005, 11:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 16.3.2005

Репутация: 4
Всего: 4



amt
зачем NOSIZE и NOMOVE? в любом случае я пробовал уже SWP_NOACTIVE и не получил удволетворительного эффекта, оно получается "сжатым" по размерам до своих минимумов (остается один заголовок)..
--------------------
Прежде чем совершить акт разрезания определенной материи целесообразно удостовериться в правильности всех произведенных измерений.
PM MAIL   Вверх
amt
Дата 21.4.2005, 09:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 249
Регистрация: 26.10.2004
Где: г. Волгоград

Репутация: 3
Всего: 3



efedron
Код я тебе кинул готовый для того, чтобы всегда сверху. Мне когда-то нужен был, я спросил, мне дали. У меня он работает и я его не расковыривал. А по поводу фокуса я тебе другое писал.
С уважением.

--------------------
С точки зрения банальной эрудиции не каждый индивидуум способен игнорировать тенденции парадоксальных эмоций.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0455 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.