Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 | 2 |

 

  Вопрос: Всегда неактивное окно Добавлено: 28.09.06 20:22  

Автор вопроса:  Ирина

Ответить

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

Номер ответа: 16
Автор ответа:
 Ирина



Вопросов: 2
Ответов: 15
 Профиль | | #16 Добавлено: 01.10.06 19:53
Знаю, что программирование не женское дело, но ни чего не выходит.

Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Const WS_EX_NOACTIVATE As Long = &H8000000
Private Const WS_EX_CLIENTEDGE = &H200&
Private Const GWL_EXSTYLE = (-20)

Private Sub Form_Load()
SetWindowLong Me.hwnd, GWL_EXSTYLE, WS_EX_CLIENTEDGE
GetWindowLong Me.hwnd, GWL_EXSTYLE & WS_EX_NOACTIVATE
End Sub

Ругается - переполнение!

Ответить

Номер ответа: 17
Автор ответа:
 Ирина



Вопросов: 2
Ответов: 15
 Профиль | | #17 Добавлено: 01.10.06 20:15
Т.е.
SetWindowLong Me.hwnd, GWL_EXSTYLE, WS_EX_NOACTIVATE
GetWindowLong Me.hwnd, GWL_EXSTYLE

Ответить

Номер ответа: 18
Автор ответа:
 Neco



ICQ: 247906854 

Вопросов: 133
Ответов: 882
 Web-сайт: neco.pisem.net
 Профиль | | #18
Добавлено: 01.10.06 20:20
Вот так всё должно работать:
Option Explicit
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Const WS_EX_NOACTIVATE As Long = &H8000000
Private Const GWL_EXSTYLE           As Long = (-20)

Private Sub Form_Load()
    SetWindowLong Me.hwnd, GWL_EXSTYLE, GetWindowLong(Me.hwnd, GWL_EXSTYLE) + WS_EX_NOACTIVATE
End Sub


А насчёт женщины-программера: у нас работает девушка-кодер, да и на курсах по ораклу я учился на админа второго уровня вместе с женщиной (ну ей точно за сорок было) - а раз sql знает, значит тоже программёрка!

Ответить

Номер ответа: 19
Автор ответа:
 Ирина



Вопросов: 2
Ответов: 15
 Профиль | | #19 Добавлено: 01.10.06 20:26
Должно, но не работает. Окно сразу загружается активным.

Ответить

Номер ответа: 20
Автор ответа:
 Neco



ICQ: 247906854 

Вопросов: 133
Ответов: 882
 Web-сайт: neco.pisem.net
 Профиль | | #20
Добавлено: 01.10.06 20:42
Option Explicit
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function ShowWindow Lib "user32.dll" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Private Const WS_EX_NOACTIVATE As Long = &H8000000
Private Const GWL_EXSTYLE           As Long = (-20)
Private Const SW_SHOWNOACTIVATE As Long = 4

Private Sub Form_Load()
    Me.Visible = False
    ShowWindow Me.hwnd, SW_SHOWNOACTIVATE
    SetWindowLong Me.hwnd, GWL_EXSTYLE, GetWindowLong(Me.hwnd, GWL_EXSTYLE) + WS_EX_NOACTIVATE
End Sub

Тему можно развивать. :)

Ответить

Номер ответа: 21
Автор ответа:
 Ирина



Вопросов: 2
Ответов: 15
 Профиль | | #21 Добавлено: 01.10.06 21:01
Спасибо Вам за помощь!
Только ни чего не вышло, форма становиться активной при первом клике. Простите, что заняла столько Вашего времени.

Ответить

Номер ответа: 22
Автор ответа:
 Neco



ICQ: 247906854 

Вопросов: 133
Ответов: 882
 Web-сайт: neco.pisem.net
 Профиль | | #22
Добавлено: 01.10.06 21:22
Да ну не может быть - может Вы имеете в виду, что рамка становится похожей на активную? Но это ещё не значит, что форма активна - пощёлкайте на клаве для проверки. Для надёжности ориентируйтесь на экзешник, а не на debug. У меня прога с этим флагом живёт уже вечность и ни разу не замечал, чтобы глючило.
Если что я в асе сижу.

Ответить

Номер ответа: 23
Автор ответа:
 Ирина



Вопросов: 2
Ответов: 15
 Профиль | | #23 Добавлено: 01.10.06 22:55
Простите!!!!!!!(((
Да! Да! Да! Все работает как нужно!
Смущал вид активного окна, но нет ни каких мерцаний, и активность не передается!
Спасибо Вам огромное!

Ответить

Номер ответа: 24
Автор ответа:
 Ирина



Вопросов: 2
Ответов: 15
 Профиль | | #24 Добавлено: 01.10.06 22:57
Простите!!!!!!!
Да! Да! Да! Все работает как нужно!
Смущал вид активного окна, но нет ни каких мерцаний, и активность не передается!
Спасибо Вам огромное!

Ответить

Страница: 1 | 2 |

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



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