Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 237
  • Last Modified:

Tooltip behaviour on tree after IE4 installation

After I installed IE4, tooltips began appearing over TTreeView controls irrespective of the control settings regarding tooltips. I think this has to do with MS modifications to the windows tree control to allow it to display the full caption of of the node under the mousepointer when the caption is truncated due to the size of the control window.

Can anyone shed any light on this and is there a patch, either for the VCL or for Windows, to correct it?
0
wamoz
Asked:
wamoz
1 Solution
 
wamozAuthor Commented:
Edited text of question
0
 
MadshiCommented:
It has surely to do with a new comCtrl.dll. But I didn't experience this problem so far, so I don't know any way around it...

Regards, Madshi.
0
 
wamozAuthor Commented:
I suppose that's why we call it the "bleeding edge" <g>
Incidentally, IE5 has the problem too.
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
MadshiCommented:
Can you perhaps post here a little demo project, that shows the problem. Perhaps then I can help you...

Regards, Madshi.
0
 
LischkeCommented:
Hi wamoz,

with the update of your ComCtl32.DLL (which happend by installing IE4), a new behaviour regarding tootips has been introduced. Unfortunately tootips are enabled by default. D3 doesn't know about this feature, while D4's treeview has a new property, called Tooltips.

To disable tooltips under D3 you have to derive an own class from TTreeView and must override CreateParams:

type
  TNoTTTreeView = class(TTreeView)
  protected
    procedure CreateParams(var Params: TCreateParams); override;
  end;

procedure TNoTTTreeView.CreateParams(var Params: TCreateParams);
begin
  inherited;
  Params.Style:=Params.Style or TVS_NOTOOLTIPS;
end;

This will permanently switch off tooltips for your trees. I you don't want to derive an own tree class then you have a problem without solution, because in order to change this style the window of the tree needs to be recreated.

Ciao, Mike

BTW: If you want a better treeview (including info tips, which are a mean to callback the application about the content of a tooltip, check boxes, multi selection etc. etc.) for free then look at www.delphipages.com (Tree/List section).
0
 
alpeCommented:

There is no need to create a new component on the top of the TTreeView.
You can change the style of common controls at runtime. Use SetWindowLong and GetWindowLong pair in the following form:

procedure SwitchToolTipsOff;
begin
  SetWindowLong(TreeView1.Handle, GWL_STYLE, GetWindowLong(TreeView1.Handle, GWL_STYLE) or TVS_NOTOOLTIPS);
end;

0
 
wamozAuthor Commented:
Thank you Alpe.

Although I prefer the answer that I have already accepted for new works, that little tidbit will be handy for retrofitting existing code.
0

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now