TPopupNotifier

From Lazarus wiki
Revision as of 18:37, 13 June 2006 by Silentcoder (talk | contribs)
Jump to navigationJump to search

English (en) français (fr) 中文(中国大陆)‎ (zh_CN)

TPopupNotifier is a platform independent 'balloon help' component for showing pop-up messages anywhere on the screen. The component is based on TForm and has built in support for icon's, header text, message text and custom colorisation. TPopupNotifier was written by A.J. Venter and Fellipe Monteiro de Carvalho.

Usage:

  1. Drop a TPopupNotifier component on form. Set the icon image, header text and message text and optionally the colour.
  2. Call TPopupNotifier.Show to show the message, or TPopupNotifer.Hide to hide it.


A note on the implementation

TPopupNotifier uses a wrapper component so that the TForm is not embedded into your application form. The actual data types behind it are:

  1. Icon: TPicture, mapped to a TImage
  2. Header: TLabel ( sets +FsBold automatically)
  3. Message: TLabel sized to show multiline messages

The close button is a custom canvas drawn component (there were good reasons we did this).

More advanced features

  1. Appart from these basics, you can use any of the methods from the above datatypes to manipulate messages. For example you can call TPopupNotifier.Icon.LoadFromFile;
  2. TPopupNotifier has a visible property, which can be used to check if the form is currently shown or not, setting it's value will also hide/show the form as appropriate.
  3. TPopupNotifier generates an OnClose event when the form is closed, whether by you or the user, this is usefull if you wish something to happen as soon as the form is closed. Clicking anywhere on the form has the same close effect as clicking the close-button itself.

Showing multiline messages This code demonstrates the right way to show a multiline message (in this case from a TSTringList).


    Var I : Integer;
        Lines : TStringListç
    ...
      For I := 0 to Lines.Count -1 do
         PopupNotifier1.Text := PopupNotifier1.Text+LineEnding+Lines[I];
     

Demo program

There is a small demo program in the componets/popupnotifier/demo directory, though simple it shows off nearly all the standard features.