Projekt komponentu - Samouczek

0

Witam

Pracuję nad komponentem, który pozwoli dodać do swojego programu tzw.: samouczka.
Polega to na tym, iż przy konkretnej kontrolce, np.: przycisku, pojawia się balonik z treścią pomocy.

Opracowałem to w tej chwili, że balon pojawia się zawsze nad przyciskiem.
Problem w tym, że jeśli okno znajduje się na pełnym ekranie, to balon wyjdzie ponad ekran i stanie się niewidoczny.

Chciałbym zapobiec temu i sprawić, że balon pojawi się pod przyciskiem - tak jak pokazane na poniższym obrazku:

user image

Nie mam problemu z ustawieniem balonika pod przycisk.
Chodzi mi o utworzenie "dziubka" na górze, zamiast na dole balonika.

Za utworzenie "dziubka" na dole odpowiada kod

procedure TPomoc.ShowPomoc;

 //....

 {Kształt balonika}
 FormRegion := CreateRoundRectRgn(0, 0, ClientWidth, ClientHeight - 19, 6, 6);

 {Strzałka wychodząca u dołu balonika}
 Arrow[0] := Point((Width div 2) - 20, ClientHeight - 20);
 Arrow[1] := Point(Width div 2, ClientHeight);
 Arrow[2] := Point((Width div 2) + 20, ClientHeight - 20);
 ArrowRegion := CreatePolygonRgn(Arrow, 3, WINDING);

 {Operacje na wyglądzie balonika}
 CombineRgn(FormRegion, FormRegion, ArrowRegion, RGN_OR);
 DeleteObject(ArrowRegion);
 SetWindowRgn(Handle, FormRegion, True);

 //....
end;

Jak zmodyfikować ten kod, aby dziubek znajdował się na górze balonika (jak na zdjęciu) ?

Komponent do pobrania: http://www.maciej-o.yoyo.pl/balon_test.rar

0
FormRegion := CreateRoundRectRgn(0, 19, ClientWidth, ClientHeight, 6, 6);

 {Strzałka wychodząca u dołu balonika}
 Arrow[0] := Point((Width div 2) - 20, 20);
 Arrow[1] := Point(Width div 2, 0);
 Arrow[2] := Point((Width div 2) + 20, 20);
0

Dzięki RFabianski :)

0

fajny komponent daj znać jak ukończysz i jeszcze jedno będzie można go wykorzystać w komercyjnych aplikacjach?

0

Nie ma problemu. Można wykorzystać gdzie się chce za darmo.
I fajnie było by zobaczyć to w innej aplikacji jak się sprawuje - powiadomienie na mejla o aplikacji mile widziane.

Gotowy i poprawiony o w/w problem komponent Samouczka (wersja 1.0)
http://www.maciej-o.yoyo.pl/SamouczekDemo.rar

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