Balloon'y w Delphi własne..

0

Cześć,

Dostaje kota juz od szukania info na ten temat, moze ktos wie jak pomoc.

Potrzebuje wlasne powiadomienia w tray'u zamiast tych std systemowych, dobrym przykladem sa takie jak maja programy antywirusowe przezroczyste kolorowe z wlasnym logo itp.

Jak sie do tego zabrac? Moze jest jakis komponent?

Pozdrawiam
Piotr

0

widze ze nikt nie wie

0

ten samouczek jest spox, jak to przerobic zeby sie pojawialo zawsze w trayu? jak std baloony

DZIEKI

0

W pliku "PomocBalon.pas" odnajdź ten kod

 {Położenie balonika}
 GetWindowRect((BalonPrzycisk as TWinControl).Handle, SourceControlRect);
 Left := SourceControlRect.Left + (BalonPrzycisk.Width div 2) - (ClientWidth div 2);
 if BalonDziubDol then Top := SourceControlRect.Top - ClientHeight + 12
 else Top := SourceControlRect.Bottom - 12;

Teraz przypisz do Left i Top położenie ikony w zasobniku.

Z tymże jak pobrać sam zasobnik proste, ale położenie samej ikony w zasobniku - nie wiem.

0

dzieki opi

Troche lipka bo brak przezroczystosci w Vista i 7 (dziala tylko na xp)

I jeszcze jedna kwestia, czy dalo by sie wrzucic obrazek zamiast napisu w belce najlepiej PNG z transparency....

0

Przeźroczystość standardowa jest. Można ją zwiększyć. W tym celu w pliku "PomocBalon.pas" manewruj wartością AlphaBlendValue od 0..255.

constructor TPomoc.CreateNew;
begin
 inherited;

 BorderStyle   := bsNone;
 AlphaBlend    := True;
 AlphaBlendValue := 220; // <<<<< dodaj
 FormStyle     := fsStayOnTop;
 OnPaint       := FormPaint;
 OnClick       := OnFormClick;
 OnDeactivate  := OnFormDeactivate;
 BalonDziubDol := True;

A jeśli chodzi o obrazek PNG to owszem da się to zrobić.

Musisz użyć komponentu PNGImage i go wywołać dynamicznie w odpowiednim miejscu. Dokładnie w miejsce (w zamian) tego kodu

 {Tekst główny na górze}
 with Lab_Tytul do
   begin
    Name        := 'Lab_Tytul';
    Parent      := Self;
    ParentColor := True;
    ParentFont  := True;
    AutoSize    := True;
    Transparent := True;
    Font.Name   := 'Trebuchet MS';
    Font.Style  := [fsBold];
    Font.Color  := clWhite;
    Font.Size   := 12;
    Left    := 12;
    Top     := 8;
    OnClick := Lab_TytulOnClick;
   end;
0

Przeźroczystość standardowa jest. Można ją zwiększyć. W tym celu w pliku "PomocBalon.pas" manewruj wartością AlphaBlendValue od 0..255.

Kurcze no wlasnie nie ma, tak jak napisalem dziala tylko w XP, Vista SP2 aero wlaczone wszystkie efekny na full a przezroczystosc z tego programu nie dziala..

0

Jakiej wersji Delphi używasz ?
Oraz czy w "uses" masz dodany "XPManifest" lub inny "XPMan".

0

Juz wiem o co chodzilo to przez IsWindowsXP dzialalo tylko w XP juz OK :) (uzywam 2006)

0

gdzie znalezc ten pngimage mam problem z tym jak tego uzyc...

0

Dzieki Opi super komponent, ale chyba nie bardzo rozumiem licencje, czy mozna go uzyc w komercyjnej i bezplatnej aplikacji bez problemu? Pisze cos o zgodach autora itp jakies dziwne wymagania....

1 użytkowników online, w tym zalogowanych: 0, gości: 1