Форум программистов, компьютерный форум, киберфорум
Наши страницы

Visual Basic .NET

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
abbat81
29 / 29 / 2
Регистрация: 20.07.2011
Сообщений: 390
#1

Отобразить в трее значение переменных - Visual Basic .NET

28.07.2011, 16:07. Просмотров 1410. Ответов 13
Метки нет (Все метки)

С какой стороны подойти к данной задаче.

Нужно отображать в трее значения переменных.

Напр, как тут:

Отобразить в трее значение переменных
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.07.2011, 16:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Отобразить в трее значение переменных (Visual Basic .NET):

Приложение в трее и контекстное меню в трее - Visual Basic .NET
Хочу сделать приложение, которое сидело бы только в трее в виде иконки и по клику правой клавиши мыши выскакивало контекстное меню....

Меню в трее - Visual Basic .NET
Добрый день. Требуется сделать меню с трее, например как у антивируса Avast. Ниже скрин.

Вывод уведомления в трее - Visual Basic .NET
как сделать чтобы NotifyIcon выводил уведомление при нажатии только левой кнопки мыши, а не при любом клике по иконке в трее.

Всплывающие сообщение в трее с текущим временем - Visual Basic .NET
При нажатии на кнопку выходило сообщение в трее с текущим временем

Менять иконку в трее в зависимости от условия - Visual Basic .NET
Доброго времени суток. Прошу помочь в следующей задаче. В таскбаре (рядом с часами) надо вывести значек (пиктограмму), который (ая) в...

Как правильно сделать динамическое меню в трее? - Visual Basic .NET
Dim m As New MainMenu Dim cm As New ContextMenu Dim ni As New NotifyIcon Private Sub Button1_Click(ByVal sender As System.Object,...

13
Юпатов Дмитрий
1602 / 1114 / 223
Регистрация: 23.12.2010
Сообщений: 1,490
28.07.2011, 16:54 #2
рисуешь текст медотами Graphics. В итоге будешь иметь картинку, которую потом загонишь в свойство icon контрола Notifyicon.
Но так получится только квадратные иконки затаскивать: прямоугольные (не квадрат) будут искажаться до квадрата.
Или вот: http://www.realcoding.net/article/view/778 но тут на дельфи. Но вроде можно и требуемые размеры задать (вроде как прямоугольную иконку без искажений отобразить). Но надо переводить код.
0
Bazzy
190 / 183 / 10
Регистрация: 09.02.2011
Сообщений: 458
28.07.2011, 17:49 #3
С 16*16 все просто:
vb.net
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        NotifyIcon1.Visible = True
        For i As Integer = 0 To 15
            NotifyIcon1.Icon = NotyfiIconDigImage(i)
 
            Threading.Thread.Sleep(1000)
        Next
        NotifyIcon1.Visible = False
    End Sub
    Function NotyfiIconDigImage(ByVal input As Integer) As Icon
        Dim icn As New Bitmap(16, 16)
        Dim outputicon As Icon
        Dim gr As Graphics = Graphics.FromImage(icn)
        gr.SmoothingMode = Drawing2D.SmoothingMode.AntiAlias
        Dim fnt As New Font("Arial", 9, FontStyle.Regular, GraphicsUnit.Pixel)
        gr.FillRectangle(Brushes.Aqua, New Rectangle(0, 0, icn.Width, icn.Height))
        gr.DrawString(input.ToString, fnt, New SolidBrush(System.Drawing.Color.Black), 1, 3)
        outputicon = Icon.FromHandle(icn.GetHicon())
        gr.Dispose()
        icn.Dispose()
        Return outputicon
    End Function
А вот с другой шириной думаю только через WinAPI
1
abbat81
29 / 29 / 2
Регистрация: 20.07.2011
Сообщений: 390
28.07.2011, 17:58  [ТС] #4
Спасибо - интересно вышло.
Только обновлять нужно потерявшийся трей.
Може эту панель убрать и но своему написать ее, с лейблами-часами и лейблами - своими данными?
0
Bazzy
190 / 183 / 10
Регистрация: 09.02.2011
Сообщений: 458
28.07.2011, 18:05 #5
Если только пишете эту программу для себя... не думаю что кто-то будет ради вашего приложения идти на такие радикальные меры... Тем более "засунуть" туда свой NotifyIcon вы сможете, но вот заставить делать сторонние приложения будет крайне сложно, не говоря уже о кнопке Пуск
0
Provaider
28.07.2011, 18:17
  #6

Не по теме:

Я конечно дико извиняюсь, что влез, но если стоит задача-всесторонний доступ к экспресс информации о валютах,то не лучше ли будет сделать это дело не в трее, а методом напоминающий гаджет на Windows Vista\seven? То есть сделать маленькое окошко с твоей программой, жёстко зафиксировать на рабочем столе, убрать у окна заголовок, и выводить туда всё что тебе требуется. И мороки меньше и функциональность не хромает.

0
abbat81
29 / 29 / 2
Регистрация: 20.07.2011
Сообщений: 390
28.07.2011, 18:23  [ТС] #7
Provaider, интересная идея. но где разместить ее?
Будет коряво не вписываться в окно работы с компом, а там должен отображаться остаток баланса, как в старттопике на картинке.
0
Provaider
104 / 32 / 1
Регистрация: 01.10.2010
Сообщений: 310
28.07.2011, 18:32 #8
Здесь про функции WINAPI, если уж решил делать так. Здесь

Добавлено через 8 минут
Цитата Сообщение от abbat81 Посмотреть сообщение
Provaider, интересная идея. но где разместить ее?
Не люблю думать сам, когда за меня подумали инженеры в Майкрософте. То есть расположить там, где обычно лежат гаджеты у Виндовс(справа экрана). Если ты хочешь , что бы постоянно иметь доступ к окну, то сделай это окно "по верх всех окон"(это с помощью WinAPI, что-то мне подсказывает, что .net на такое не способен, хотя мб опытные обитатели этого форума и скажут как обойтись без этого), а что бы искомое не бросалось в глаза, сделай его почти полностью прозрачным, а когда на окно наводишь мышь, то пусть оно"проявляется".
Пока выбирал себе новый утюг, возникла новая идея(выбор утюга-крайне медитативное занятие). А что если ты просто сворачиваешь свою программу, а когда она сворачивается у тебя на панели задач в режиме "бегущая строка" показываются курсы вечнозелёных американских президентов.
То есть при сворачивании меняешь название окна на свои переменные.
0
abbat81
29 / 29 / 2
Регистрация: 20.07.2011
Сообщений: 390
28.07.2011, 18:39  [ТС] #9
Provaider,
Такие вещи не очень хорошо работают с полноэкранными програмами, играми.
Например этот оверлей пробивает и мигает.
Ну а так, чтобы "невозможно" - такое невозможно, чтобы невозможно.
Это лишь вопрос времени. Вполне ожидаю, что придется на АПИ ковыряться, то если есть панельс информацией, то зачем другое в другом месте.
Когда меняется разрешение экрана часто - то часто будет не попадать на "свое" место это окошко.
0
Provaider
104 / 32 / 1
Регистрация: 01.10.2010
Сообщений: 310
28.07.2011, 20:46 #10
Цитата Сообщение от abbat81 Посмотреть сообщение
Такие вещи не очень хорошо работают с полноэкранными програмами, играми.
Не спорю, Скайп тоже этим болеет. Особенно когда показывает сообщения о новых абонентах. Но, хозяин барин.
0
Памирыч
Почетный модератор
20634 / 8675 / 1029
Регистрация: 11.04.2010
Сообщений: 11,008
28.07.2011, 21:02 #11
abbat81, а что в полноэкранных приложениях тебя трей как-то спасет?
0
Provaider
104 / 32 / 1
Регистрация: 01.10.2010
Сообщений: 310
28.07.2011, 21:55 #12
Памирыч, кстати да... Трейка в полноэкранных приложениях не пашет=)))
0
abbat81
29 / 29 / 2
Регистрация: 20.07.2011
Сообщений: 390
28.07.2011, 22:00  [ТС] #13
Шутники )))
Трейка мигает и прорывается сквозь полноэкранные прилжения.
Напр. вебмани обновляются так, чтобы всем повылазило и мимо внимания не прошло.
Нужно таким принципом ,как часики: спокойно, при нужности - есть, не нужно - нет.
0
Bazzy
190 / 183 / 10
Регистрация: 09.02.2011
Сообщений: 458
28.07.2011, 23:28 #14
мне кажется что это происходит из-за того что эти балуны и прочее прорисовываются по таймеру с помощью, скорее всего, того же API и отсюда появляется мерцание равное интервалу таймера...

П.С. вроде даже я где-то примерно такой код приводил
0
28.07.2011, 23:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.07.2011, 23:28
Привет! Вот еще темы с ответами:

Иконка в системном трее NotifyIcon. После закрытия программы не исчезает - Visual Basic .NET
Добрый день. В приложении используется NotifyIcon для отображения иконки в системном трее. Когда работа с программой закончена (все...

Всплывающее окно при наведении курсора мыши на значок в трее - Visual Basic .NET
Сделал программу-таймер, заставил сворачиваться в трей. Как сделать, чтобы при наводке мышью на значок показывало в всплывающем окне ,...

Как сделать чтобы над иконкой в трее выводилось окно сообщения - Visual Basic .NET
Как сделать что бы над иконкой в трее выводилось окно сообщения? Или маленькое окошко с некоторой информацией над треем?

Как узнать на каких координатах расположена в трее нужная программе иконка? - Visual Basic .NET
Надо как то узнать где именно в трее расположена нужная мне иконка, например иконка звука, или подключение к сети, или например Стима и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.