FreeBasic
Главная
Вход
Регистрация
Понедельник, 30.12.2024, 19:52Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
как сделать напоминалку в трее?
АртурДата: Вторник, 04.12.2012, 14:41 | Сообщение # 1
Рядовой
Группа: Пользователи
Сообщений: 7
Репутация: 0
Статус: Offline
Я хочу сделать напоминалку в трее но чтобы вылезали каждый раз разные мультяшки. Как это можно сделать?
 
haavДата: Вторник, 04.12.2012, 18:27 | Сообщение # 2
Генералиссимус
Группа: Администраторы
Сообщений: 1373
Репутация: 50
Статус: Offline
В смысле в трее? Что-то подобное существует? Если существует, тогда скрин в студию как хоть примерно должно выглядеть

Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
АртурДата: Среда, 05.12.2012, 14:15 | Сообщение # 3
Рядовой
Группа: Пользователи
Сообщений: 7
Репутация: 0
Статус: Offline
В windowsxp была такая там собака тузик когда поиском пользуешся вроде этой

http://s1.ipicture.ru/uploads/20121205/3imiHgwv.jpg

только я найду зверьков посимпотнее... хочу чтобы окна было не видно только зверя и полупрозрачное сообщение рядом smile как лучше подскажи
 
haavДата: Среда, 05.12.2012, 17:32 | Сообщение # 4
Генералиссимус
Группа: Администраторы
Сообщений: 1373
Репутация: 50
Статус: Offline
У разработчика FbEdit (Ketil Olsen) в поставке вместе с редактором идет такой пример:

Code

'' include fbgfx.bi for some useful definitions
#include "fbgfx.bi"

Using fb

Dim e As EVENT
Dim As Integer x, y, pressed, col
Dim As Any Ptr img

ScreenRes 384, 64, 32,, GFX_SHAPED_WINDOW

'' create a fancy window shape
img = ImageCreate(48,8)
Draw String img, (0, 0), "GfxLib"
For y = 0 To 63
     For x = 0 To 383
         col = Point(x \ 8, y \ 8, img)
         If (col <> RGB(255, 0, 255)) Then
             col = RGB((x + y) And &hFF, (x + y) And &hFF, (x + y) And &hFF)
         End If
         PSet (x, y), col
     Next x
Next y

pressed = 0
Do
     If (ScreenEvent(@e)) Then
         Select Case e.type
         Case EVENT_MOUSE_BUTTON_PRESS
             pressed = -1
         Case EVENT_MOUSE_BUTTON_RELEASE
             pressed = 0
         Case EVENT_MOUSE_MOVE
             If (pressed) Then
                 ScreenControl(GET_WINDOW_POS, x, y)
                 ScreenControl(SET_WINDOW_POS, x + e.dx, y + e.dy)
             End If
         End Select
     End If
     Sleep 5
Loop Until MultiKey(SC_ESCAPE)


Если же хочется с помощью WinApi , то тогда:

Создаешь окно без рамки и со стилем WS_EX_LAYERED. Красишь его в определенный цвет (для примера возьмем черный). С помощью SetLayeredWindowAttributes ставишь черный цвет прозрачным. Создаешь на окне контрол STATIC и засовываешь в него любой битмап с черным фоном. Для анимации отрисовку движения делаешь по таймеру. Собственно все: окна не видно, видно только изображение.


Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
haavДата: Четверг, 06.12.2012, 09:30 | Сообщение # 5
Генералиссимус
Группа: Администраторы
Сообщений: 1373
Репутация: 50
Статус: Offline
Вот еще пример с помощью библиотеки window9:

ПЕРЕЙТИ НА СТРАНИЦУ С ПРИМЕРОМ


Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
АртурДата: Пятница, 07.12.2012, 14:40 | Сообщение # 6
Рядовой
Группа: Пользователи
Сообщений: 7
Репутация: 0
Статус: Offline
спасибо буду пробовать
 
  • Страница 1 из 1
  • 1
Поиск: