How to access the properties of this component?

Posted on 2007-10-09
Last Modified: 2010-04-05
Hi Folks,

I'm using a third party componen a TRZCheckGroup and now I want to know whether it's possible to have its items display a hint. As far as I can see it is not possible but I'd like to be convinced of that assumption before I give up and try something else.  The component is from Raize but digging their documentation did not quench my curiosity.

Perhaps someone out here? Btw > if a standard Checkgroups items can display different hints...that would be okay too. I prefer the Raize checkgroup but want to display some info about the items for instance when the mouse moves over them

If you need mroe info please ask,

Kindest regards,

Question by:PeterdeB
    LVL 13

    Accepted Solution

    The following is how to get a hint coming up for an image. Try it for your component as long as your component has a 'mousemove' or 'mouseover' event handler

    ==Step 1 ==
    Add the following to your unit (form's) OnCreate event:
    Application.HintPause := 250;      // 250 mSec before hint is shown
    application.ShowHint := true;

    procedure TFrmMainMenu.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
      pt: tpoint;
      image1.Hint := ('This is a hint');
      pt := image1.ClientToScreen(Point(x,y)) ;
      Application.ActivateHint(pt) ;


    Author Comment

    Hi rfwoolf,

    The RZCheckgroup does not cooperate at all. I tried your code but I really think I cannot manipulate the hints for its items. So I just decided to use checkboxes instead and now I can do what i want.

    I tested your code nonetheless and it does what it is s upposed to you get the points.

    Thanks for replying,

    Kindest regards,


    Ps i did not know hints could be implemented the way you described

    LVL 13

    Expert Comment

    Thanks Dweep

    Another round-about way... you see on the MouseOver and MouseMouse events the procedures carry a few parameters such as X and Y, which pass the location of the mouse on the control's canvas.
    So if x = 0 and y = 0 then it would mean that your mouse is at the top-left of your component.
    and if x = 0 and y = component.height then your mouse is bottom left of componenet, etc.

    If you can calculate the regions in your component  you can adjust the hint accordingly.

    Here's an example:
    procedure TFrmMainMenu.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    //If mouse in in bottom corner
    if X > round(Image1.width / 2) then
    if Y > round(image1.height / 2) then
    Image1.hint := 'This is the bottom-right quadrant of the control')
    //If mouse is in top left corner
    if X < round(Image1.width / 2) then
    if Y < round(image1.height / 2) then
    Image1.hint := 'This is the top-left quadrant of the control')

     pt := image1.ClientToScreen(Point(x,y)) ;
      Application.ActivateHint(pt) ;

    Featured Post

    Find Ransomware Secrets With All-Source Analysis

    Ransomware has become a major concern for organizations; its prevalence has grown due to past successes achieved by threat actors. While each ransomware variant is different, we’ve seen some common tactics and trends used among the authors of the malware.

    Join & Write a Comment

    A lot of questions regard threads in Delphi.   One of the more specific questions is how to show progress of the thread.   Updating a progressbar from inside a thread is a mistake. A solution to this would be to send a synchronized message to the…
    Introduction The parallel port is a very commonly known port, it was widely used to connect a printer to the PC, if you look at the back of your computer, for those who don't have newer computers, there will be a port with 25 pins and a small print…
    It is a freely distributed piece of software for such tasks as photo retouching, image composition and image authoring. It works on many operating systems, in many languages.
    Internet Business Fax to Email Made Easy - With eFax Corporate (, you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…

    728 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    20 Experts available now in Live!

    Get 1:1 Help Now