[リストへもどる]
一括表示

投稿時間:2003/06/13(Fri) 17:44
投稿者名:Jsman
Eメール:
URL :
タイトル:
ツリービューアイテムのToolTipText
デフォルトの設定では、ツリービューのアイテムにマウスポインタをもっていくと
ToolTipTextが表示されます。
これを、非表示にしたいのですが、
プロパティの項目を探してみても見つかりません。

何か非表示にする方法はありますでしょうか?

投稿時間:2003/06/13(Fri) 20:20
投稿者名:手弁当
Eメール:
URL :
タイトル:
Re: ツリービューアイテムのToolTipText
Win32APIを使う方法なら、GetWindowLong, SetWindowLongで
TVS_NOTOOLTIPS スタイルを追加すればいいと思います。

投稿時間:2003/06/14(Sat) 12:56
投稿者名:JsMan
Eメール:
URL :
タイトル:
Re^2: ツリービューアイテムのToolTipText
すみません、Win32APIは超初心者なもので扱い方がわかりません。

一応、こちらのAPI関数の使い方を参照してみたのですが・・・。
とりあえず、手弁当さんの言う、GetWindowLong, SetWindowLongをビューアで
下記のステートメントをプログラムの一番上のジェネラルプロシージャに追加しました。

Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long

と、ここまできたのですがどのようにしてTVS_NOTOOLTIPS スタイルを追加すればいいのかがわかりません。
ご伝授願います。

投稿時間:2003/06/14(Sat) 13:25
投稿者名:Lantern
Eメール:
URL :
タイトル:
Re^3: ツリービューアイテムのToolTipText
APIが初心者で分からないのでしたら、APIについて調べれば良いのでは?
SDKを取り扱ったサイトは多くありますし、詳しく説明してあります。

MSDNでSetWindowLongを調べれば
SetWindowLong関数は指定されたウィンドウの属性を変更します。
hWndはウィンドウ(コントロール)のハンドルです。
nIndexは(拡張)ウィンドウスタイル。
dwNewLongは新しく設定する値を 32 ビット値で指定します。
とあります。

dwNewLongにTVS_NOTOOLTIPSを加えたいので、
今のStyleを取得し、これにTVS_NOTOOLTIPSをorして
設定してやればよいかと。

Dim lStyle As Long

lStyle = GetWindowLong(コントロールのハンドル, 拡張ウィンドウスタイル)
lStyle = lStyle or TVS_NOTOOLTIPS
Call SetWindowLong(コントロールのハンドル, 拡張ウィンドウスタイル, lStyle)

投稿時間:2003/06/14(Sat) 15:24
投稿者名:JsMan
Eメール:
URL :
タイトル:
Re^4: ツリービューアイテムのToolTipText
> APIが初心者で分からないのでしたら、APIについて調べれば良いのでは?
確かに、そうでした。。。すみません。

それで、いろいろと調べてみたのですが、
ウィンドウ(コントロール)と(拡張)ウィンドウスタイルとは
どのように取得するかがわかりませんでした。

一応、MSDNも参照してみましたが、己の知識不足の為、記述していることは理解できませんでした。
やっぱり、APIに関する本を購入するしか手立てはないようですね。。。

ありがとうございました。

投稿時間:2003/06/14(Sat) 17:25
投稿者名:Lantern
Eメール:
URL :
タイトル:
Re^5: ツリービューアイテムのToolTipText
Googleで”SetWindowLong TVS_NOTOOLTIPS”をキーワードに
検索すると2番目にでるところに
サンプルがありますよ。
DelphiのTipsですがAPIコールをすること自体は同じです。