CYFROWY BARON • PROGRAMOWANIE • Zobacz wątek - Chmurka podpowiedzi

Chmurka podpowiedzi

dział ogólny

Chmurka podpowiedzi

Nowy postprzez duf » wtorek, 21 sierpnia 2012, 14:21

Czy można wywołać chmurkę podpowiedzi za pomocą kodu programu tak żeby widoczna była przez krótki czas może być 1-2 sekund?
Avatar użytkownika
duf
Intelektryk
Intelektryk
 
Posty: 175
Dołączył(a): czwartek, 9 października 2008, 13:02
Podziękował : 17
Otrzymał podziękowań: 2
System operacyjny: Windows 10
Kompilator: XE8
Gadu Gadu: 0
    Windows XPFirefox

Re: Chmurka podpowiedzi

Nowy postprzez Cyfrowy Baron » wtorek, 21 sierpnia 2012, 22:53

► patrz serwis: Cyfrowy Baron dział: porady -> różne:

Kontrolowanie czasu wyświetlania podpowiedzi (właściwość HINT).
Zmiana sposobu wyświetlania podpowiedzi w chmurkach (właściwość HINT).
Zmiana wyglądu dymka podpowiedzi (HINT)

Najlepiej jednak posłużyć się komponentem TBalloonHint:

KOD cpp:     UKRYJ  
void __fastcall TForm1::Button8Click(TObject *Sender)
{
 BalloonHint1->Title = "Hint";
 BalloonHint1->Description = "Podpowiedż w chmurce";

 BalloonHint1->Delay = 500; /* czas po jakim chmurka się pojawi po wywołaniu funkcją ShowHind */

 BalloonHint1->HideAfter = 1000; /*czas po jakim chmurka zniknie w milisekundach */

 BalloonHint1->ShowHint(Button7);
}

Za ten post autor Cyfrowy Baron otrzymał podziękowanie od:
duf
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Chmurka podpowiedzi

Nowy postprzez duf » środa, 22 sierpnia 2012, 09:11

U mnie okienko podpowiedzi jest jednak kwadratowe mimo wykorzystania TBalloonHint.
Avatar użytkownika
duf
Intelektryk
Intelektryk
 
Posty: 175
Dołączył(a): czwartek, 9 października 2008, 13:02
Podziękował : 17
Otrzymał podziękowań: 2
System operacyjny: Windows 10
Kompilator: XE8
Gadu Gadu: 0
    Windows XPFirefox

Re: Chmurka podpowiedzi

Nowy postprzez Cyfrowy Baron » środa, 22 sierpnia 2012, 10:38

A jakie miałoby być? Gdzie napisałeś, że chcesz np. okienko okrągłe? Poza tym TBallooonHint daje okienko prostokątne z zaokrąglonymi rogami. Jeżeli widzisz standardowe okienko podpowiedzi po najechaniu myszką na jakiś obiekt to ustaw właściwość ShowHint tego obiektu na false, żeby wyłączać wyświetlanie podpowiedzi.

Komponent TBalloonHint nie zastępuje systemowego Hint lecz dodaje nowe okienko do wywoływania podpowiedzi.

Jeżeli chcesz zmienić systemowy Hint to w poradzie - do której zresztą podałem link - Zmiana wyglądu dymka podpowiedzi (HINT) jest podany sposób na zmianę wyglądu chmurki HINT nie BalloonHint. Korzystając z porady stworzysz oczywiście okienko kwadratowe, ale jest tam użyta funkcja SetWindowRgn, która pozwala tworzyć różne kształty. Dokładniejszy przykład użycia funkcji SetWindowRgn znajdziesz w poradzie: Tworzenie okien o dowolnych kształtach.

Jeżeli jednak nie chce ci się tak bawić w takie programowanie, to polecam komponent TLMDShapeHint lub TLMDTextShapeHint z pakietu komponentów LMD Tool Special Edition 10.0.rar. Jednak w ten sposób uzyskasz tylko okrągły hint lub mniej lub bardziej zaokrąglony prostokąt. Ten komponent również nie zastępuje systemowego HINT.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Chmurka podpowiedzi

Nowy postprzez duf » czwartek, 23 sierpnia 2012, 13:29

Nie mogę poradzić sobie z ikonami w chmurce jak i z wielkością chmurki.
Do wywołania ikony stosuje prosty kod:
KOD cpp:     UKRYJ  
TIcon* ic = new TIcon;
ic->Handle = LoadIcon( 0, IDI_WARNING );
ImageList1->AddIcon( ic );
BalloonHint1->Images = ImageList1;
  //BalloonHint1->Images->GetIcon( 0, ic );
BalloonHint1->ImageIndex = 0;
BalloonHint1->Description = "\n                        Ikon jest: " + IntToStr(ImageList1->Count) + "\n                   ";

Ale nie ma jej w chmurce.

I nie wiem jak użyć funkcji do zmiany wielkości chmurki bo to co zrobiłem nie daje rezultatu:
KOD cpp:     UKRYJ  
TCustomHintWindow* HintWindow = new TCustomHintWindow(this);
HintWindow->Width = 300;
HintWindow->Height = 100;
BalloonHint1->SetHintSize(HintWindow);
Ostatnio edytowano czwartek, 23 sierpnia 2012, 13:36 przez polymorphism, łącznie edytowano 1 raz
Powód: Kod wstawiaj w znaczniki CPP
Avatar użytkownika
duf
Intelektryk
Intelektryk
 
Posty: 175
Dołączył(a): czwartek, 9 października 2008, 13:02
Podziękował : 17
Otrzymał podziękowań: 2
System operacyjny: Windows 10
Kompilator: XE8
Gadu Gadu: 0
    Windows XPFirefox

Re: Chmurka podpowiedzi

Nowy postprzez Cyfrowy Baron » czwartek, 23 sierpnia 2012, 23:50

duf napisał(a):Nie mogę poradzić sobie z ikonami w chmurc


KOD cpp:     UKRYJ  
 TIcon* ic = new TIcon;
 ic->Handle = LoadIcon( NULL, IDI_WARNING );

 ImageList1->SetSize(32, 32); // lub inny rozmiar
 ImageList1-> AddIcon( ic );

 BalloonHint1->Images = ImageList1;

 BalloonHint1->ImageIndex = 0;
 BalloonHint1->Description = "Komunikat ";


Co do zmiany rozmiaru to nic nie udało mi się ustalić.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Chmurka podpowiedzi

Nowy postprzez duf » czwartek, 30 sierpnia 2012, 12:54

Cyfrowy Baron napisał(a):
duf napisał(a):Nie mogę poradzić sobie z ikonami w chmurc


KOD cpp:     UKRYJ  
 TIcon* ic = new TIcon;
 ic->Handle = LoadIcon( NULL, IDI_WARNING );

 ImageList1->SetSize(32, 32); // lub inny rozmiar
 ImageList1-> AddIcon( ic );

 BalloonHint1->Images = ImageList1;

 BalloonHint1->ImageIndex = 0;
 BalloonHint1->Description = "Komunikat ";


Co do zmiany rozmiaru to nic nie udało mi się ustalić.

Nie ma ikony pomimo, że w chmurce widzę ilość ikon w TImageList. To samo jest w systemowym hincie.
Kod: Zaznacz cały
Button1->Hint = "Number of icons " + String(ImageList1->Count);

Ikona na pewno jest w TImagList bo pokazuje mi się na TImage. Sprawdzałem na dwóch różnych kompach i to samo, nic. Co można jeszcze zrobić?
Avatar użytkownika
duf
Intelektryk
Intelektryk
 
Posty: 175
Dołączył(a): czwartek, 9 października 2008, 13:02
Podziękował : 17
Otrzymał podziękowań: 2
System operacyjny: Windows 10
Kompilator: XE8
Gadu Gadu: 0
    Windows XPFirefox

Re: Chmurka podpowiedzi

Nowy postprzez Cyfrowy Baron » czwartek, 30 sierpnia 2012, 13:16

Nie wiem co można więcej zrobić bo u mnie to działa. Może w CBC 2009 ImageIndex jest liczony od 1, a nie od 0.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 5 gości