windows + меню "пуск"

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Chuvak
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 102
Зарегистрирован: 11.03.2003 (Вт) 8:39
Откуда: Russia, Ozёrsk

windows + меню "пуск"

Сообщение Chuvak » 07.05.2003 (Ср) 6:03

ответьте пожалуйста:
1) как изменить положение меню ПУСК
2) можно ли сделать так, чтобы при нажатии кнопки в моей проге нажималась кнопка ПУСК
3) ПУСК - это кнопка или окно? (мне впаривают, что это окно)

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 07.05.2003 (Ср) 10:37

Код: Выделить всё
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
Private Declare Function MoveWindow Lib "user32" (ByVal hwnd As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal bRepaint As Long) As Long

Private Type RECT
    Left As Long
    Top As Long
    Right As Long
    Bottom As Long
End Type


Function FindStartButton() as Long
  Dim tWnd As Long
  tWnd = FindWindow("Shell_TrayWnd", vbNullString)
  FindStartButton = FindWindowEx(tWnd, ByVal 0&, "BUTTON", vbNullString)
End Function

Private Sub MoveStart (X as Long, Y as Long)
  Dim R As RECT, bWnd As Long
  bWnd = FindStartButton
  GetWindowRect bWnd, R
  MoveWindow bWnd, X, Y, R.Right - R.Left, R.Top - R.Bottom, True
End Sub


Заметь, что кнопка будет двигаться в пределах статусбара.

Ну и по названию функция нетрудно догадаться, окно оно или нет.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

serix
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 177
Зарегистрирован: 09.11.2002 (Сб) 17:54
Откуда: Russia

Сообщение serix » 07.05.2003 (Ср) 12:07

GSerg писал(а):Заметь, что кнопка будет двигаться в пределах статусбара.

Кнопка двигается не в пределах статусбара, по-моему пределов вообще нет, т.к эту кнопочку можно спрятать, передвинув за экран :wink: ...
ZU

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 07.05.2003 (Ср) 12:12

Ниже, левее, правее - можно, а выше нельзя. Или можно? Но для этого наверно нужно поменять этой кнопке Parent, чтобы у неё координатная система поменялась. У неё ведь позиция (0, 0) - это её дефолтовое положение. Если координату Y сделать положительной, кнопкка пойдёт вниз, а если отрицательной - вверх, но не выйдет за пределы статусбара в том смысле, что её не будет видно.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 51

    TopList