Меню "Пуск"

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Kovu
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 924
Зарегистрирован: 29.04.2005 (Пт) 17:38

Меню "Пуск"

Сообщение Kovu » 29.04.2005 (Пт) 17:49

Ребят не подскажите как сделать так , чтобы окошко, которое вылазит по кнопке ПУСК, вылазило на моей форме и чтобы его легко можно было изменять. :?: :D [/i]

badDRAGON
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 103
Зарегистрирован: 07.11.2003 (Пт) 11:16
Откуда: krasnodar

Сообщение badDRAGON » 30.04.2005 (Сб) 14:19

:shock:

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Сообщение Alexanbar » 30.04.2005 (Сб) 15:57

Сделать собственное меню на соответствующей форме (скрытое). Далее при нажатии кнопки вызвать меню методом Popupmenu

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

Сообщение GSerg » 30.04.2005 (Сб) 16:12

И как это поможет в данном вопросе? :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Matew
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 894
Зарегистрирован: 28.06.2004 (Пн) 17:44
Откуда: Дальний Восток, г. Ха

Сообщение Matew » 30.04.2005 (Сб) 16:27

Именно это окошко (для каждого компа свое)? Изменения должны вноситься в меню пуск? :shock:

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 30.04.2005 (Сб) 17:02

На форме два таймера tmr1 и tmr2:
Код: Выделить всё
Option Explicit
Dim hMainMenu As Long
   
Private Sub Form_Load()
    'Только для русской версии Windows
    hMainMenu = FindWindow("DV2ControlHost", "Главное меню")
    If hMainMenu = 0 Then MsgBox "Главное меню не найдено", vbCritical: End
    'Subclass hMainMenu
    tmr1.Enabled = True
    tmr1.Interval = 100
    tmr2.Enabled = False
    tmr2.Interval = 100
End Sub

Private Sub Form_Unload(Cancel As Integer)
    'Unsubclass
End Sub

Private Sub tmr1_Timer()
    If GetWindowLong(hMainMenu, GWL_STYLE) And WS_VISIBLE Then
        tmr1.Enabled = False
        tmr2.Enabled = True
        SetWindowPos hMainMenu, 0, Me.Left / Screen.TwipsPerPixelX, Me.Top / Screen.TwipsPerPixelY, 0, 0, SWP_NOSIZE
    End If
End Sub

Private Sub tmr2_Timer()
    If Not CBool(GetWindowLong(hMainMenu, GWL_STYLE) And WS_VISIBLE) Then
        tmr1.Enabled = True
        tmr2.Enabled = False
    End If
End Sub


Все объявления API беруться из API Text Viever'а

Ну это о том, как его получить и переместить.
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 01.05.2005 (Вс) 20:39

ANDLL, я тоже на этом попадался. Так как пример будет работать будеть только в ХР с продвинутым Пуском.
الفيجوال بيسك الرابح

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 02.05.2005 (Пн) 7:10

А в другом windows'е просто другой класс окна... В студии есть такая утилита Spy++.
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 02.05.2005 (Пн) 7:15

ANDLL писал(а):А в другом windows'е просто другой класс окна... В студии есть такая утилита Spy++.

В другом windows'e создается обычное меню, а не окно.
الفيجوال بيسك الرابح

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 02.05.2005 (Пн) 12:45

А вот это уже хуже...
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

Kovu
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 924
Зарегистрирован: 29.04.2005 (Пт) 17:38

Сообщение Kovu » 06.05.2005 (Пт) 17:07

Спасибо всем вам! Очень помогло! :D

Kovu
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 924
Зарегистрирован: 29.04.2005 (Пт) 17:38

Сообщение Kovu » 09.06.2005 (Чт) 15:03

Только вопросик: Почему в ХРе тень остается и не стирается до перезапуска Explorer.exe :( (При Runе без среды)
Если всё делать своими ручками, они скоро отвалятся !

SSecurity
Служба безопасности
Аватара пользователя
 
Сообщения: 1283
Зарегистрирован: 19.08.2003 (Вт) 1:11
Откуда: Россия, Мурманск

Сообщение SSecurity » 22.06.2005 (Ср) 21:03

нуууу.... я тут свою консоль пишу под винду ... добил меня ентот ХР ...

так я обошел тень так:
1. Нашел хендл
2. Присвоил ему прозрачность 0 - (чтобы спрятать)
3. Долбанул по Хенделу - CloseWindow [найденный хендл][/b]
Программист - это маленький Бог, а все его ошибки - это самостоятельные творения:)
Так задумано:)

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 23.06.2005 (Чт) 23:54

SSecurity писал(а):3. Долбанул по Хенделу - CloseWindow [найденный хендл]

Ты уверен, что сделал то, что хотел?

MSDN писал(а):The CloseWindow function minimizes (but does not destroy) the specified window.
Изображение

SSecurity
Служба безопасности
Аватара пользователя
 
Сообщения: 1283
Зарегистрирован: 19.08.2003 (Вт) 1:11
Откуда: Россия, Мурманск

Сообщение SSecurity » 24.06.2005 (Пт) 7:06

Если бы я хотел бы его уничтожить я бы послал ему сообщение кажись WM_DESTROY.
Этот вариант я пробовал - в продвинутом меню он не убил всего окна меню, а лишь конкретно его сократил:)))))
Посему я рад тому что сделал:) после оного преобразования при нажатие на Виндо-кнопку :) цвет кнопки пуск слегка меняется, но для меня это не проблема поскольку саму кнопку пуск я прячу вместе со всей панелью задач. (а спрятать кнопку Пуск отдельно и того проще:))
Программист - это маленький Бог, а все его ошибки - это самостоятельные творения:)
Так задумано:)

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 24.06.2005 (Пт) 8:00

SSecurity писал(а):Если бы я хотел бы его уничтожить я бы послал ему сообщение кажись WM_DESTROY.

Не угадал - надо вызывать DestroyWindow
Изображение

SSecurity
Служба безопасности
Аватара пользователя
 
Сообщения: 1283
Зарегистрирован: 19.08.2003 (Вт) 1:11
Откуда: Россия, Мурманск

Сообщение SSecurity » 24.06.2005 (Пт) 8:02

Во всяком случае я пошел иным путем:)
Программист - это маленький Бог, а все его ошибки - это самостоятельные творения:)
Так задумано:)

Kovu
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 924
Зарегистрирован: 29.04.2005 (Пт) 17:38

Сообщение Kovu » 24.06.2005 (Пт) 19:51

Люди я имел ввиду убрать тень пока юзер видит меню пуска
Я его на форму приклеил(круто по типу 8) ), а тень мне просто не нужна.
Мне всё окно чистить не надо :!: :!: :!:
Если всё делать своими ручками, они скоро отвалятся !


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

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

Сейчас этот форум просматривают: Majestic-12 [Bot] и гости: 75

    TopList  
cron