MDI child окна - в таскбар?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 06.09.2004 (Пн) 15:11

Ну а &H112 - это WM_SYSCOMMAND :-)
Изображение

ZlydenGL
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 148
Зарегистрирован: 13.08.2004 (Пт) 10:02

Сообщение ZlydenGL » 06.09.2004 (Пн) 17:20

Код: Выделить всё
Private Sub TaskButtons_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
Dim t As RECT, pt As POINTAPI
If Button = 2 Then
    GetCursorPos pt
    SendMessage Forms(TaskButtons.SelectedItem.Index).hwnd, &H112, TrackPopupMenu(GetSystemMenu(Forms(TaskButtons.SelectedItem.Index).hwnd, 0), &H100, pt.x, pt.y, 0, Forms(TaskButtons.SelectedItem.Index).hwnd, t), 65536 * pt.x + pt.y
End If
End Sub


Все равно не срабатывают пункты меню :-( Где еще может быть корявка?

[Добавлено через 10 минут]

Тормоз... Нашел корявку (спасибо, Шаман!!!), теперь работает!
Последний раз редактировалось ZlydenGL 06.09.2004 (Пн) 17:31, всего редактировалось 2 раз(а).
Покой нам только снится!!! И то редко. Поскольку нет в мире совершенства, а есть только стремление к оному.

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

Сообщение GSerg » 06.09.2004 (Пн) 17:25

Мдя? А где TPM_RETURNCMD? Почему вырезал?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

ZlydenGL
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 148
Зарегистрирован: 13.08.2004 (Пт) 10:02

Сообщение ZlydenGL » 06.09.2004 (Пн) 17:48

Ну что же, похоже то, что хотел - получилось! Выкладываю результаты (сам понимаю, совсем простенький контрол - но вдруг кому потребуется)?

Контрол полагает, что в MDI окне есть дочернее окно frmMain ("Main form"), которое открыто всегда. Впрочем, если не нужно, это легко подправить ;)

Три основные процедуры:
1. Public Sub AddTask(frm As Form)
Добавляет кнопку, к кнопке привязывает форму.

2. Public Sub RemTask(frm As Form)Соответственно с точностью до наоборот :)

3. Public Sub SelTask(frm As Form)Если форма была выбрана иным способом (через меню, щелчком по заголовку, ets), то эта процедура подсветит нужную кнопку.

Еще раз ОГРОМЕННОЕ спасибо всем тем, кто мне помогал!!!
Вложения
TaskBar.rar
Проба пера, так сказать...
(1.29 Кб) Скачиваний: 32
Покой нам только снится!!! И то редко. Поскольку нет в мире совершенства, а есть только стремление к оному.

ZlydenGL
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 148
Зарегистрирован: 13.08.2004 (Пт) 10:02

Сообщение ZlydenGL » 08.09.2004 (Ср) 15:23

Никак не могу понять принцип появления Tooltip текста. В своем случае хочу, чтобы этот самый текст всплывал в любой момент когда курсор мыши находится над одной из кнопок. А он высплывает только если:
1. Только что производилось переключение между кнопками/окнами;
2. Вызывается системное меню привязанного окна.

В остальных случаях подсказка упорно не показывается. Как ее можно принудительно призывать?

И еще один вопрос, не такой сложный. Не могу заставить щелчок правой клавишей мыши восприниматься как последовательность выбора кнопки + вызов системного меню окна.

В очередной (и похоже не в последний) раз - need help!!!
Покой нам только снится!!! И то редко. Поскольку нет в мире совершенства, а есть только стремление к оному.

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

Сообщение tyomitch » 08.09.2004 (Ср) 15:33

Изображение

ZlydenGL
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 148
Зарегистрирован: 13.08.2004 (Пт) 10:02

Сообщение ZlydenGL » 08.09.2004 (Ср) 16:07

Если бы все было так просто! Все эти тултипы (и прочие, найденные мной) используют привязку по hWnd. А какой hWnd есть у TabStrip.Tabs(0)?

А что с поиском на форуме? Даю поиск по фразе "прав*", выдается результат всего одна тема... Абсолютно не по теме :evil:
Покой нам только снится!!! И то редко. Поскольку нет в мире совершенства, а есть только стремление к оному.

ZlydenGL
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 148
Зарегистрирован: 13.08.2004 (Пт) 10:02

Сообщение ZlydenGL » 18.04.2005 (Пн) 15:18

Извините что поднимаю уже давно не топовую тему - но вопросы появились.

1. Так и не нашел, как прилепить тултипс к моему тулбару (на основе TabStrip компоненты) - по причине, описанной выше. Может у кого есть идеи как реализовать?

2. Щелчком правой клавишей мыши по кнопке пользователь вызывает системное меню дочернего окна. Так вот, после этого действия таскбар ВООБЩЕ перестанет реагировать на нажатия мышкой :evil: То есть активной всегда остается клавиша, при нажатии на которую вызывалось меню. Это поправимо?

Спасибо! Заранее, так сказать :twisted:

Через некоторое время

Второй вопрос снят, перевесил процедуру с события MouseDown на MouseUp. Первый вопрос актуален :D
Покой нам только снится!!! И то редко. Поскольку нет в мире совершенства, а есть только стремление к оному.

Пред.

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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 177

    TopList  
cron