NotifyIconのszTipのサイズの限度


連休ぷろぐらまー  2005-05-02 09:04:30  No: 121394  IP: [192.*.*.*]

NotifyIconのszTipですが、長さに限度はありますか?
あちこちサンプルを見てもみなさん
szTip As String * 64 で宣言しています。
どなたかご指南のほどをよろしくお願いいたします。
szTipでそんなに長いのは表示しないものなのでしょうか?

編集 削除
いな  2005-05-02 10:17:20  No: 121395  IP: [192.*.*.*]

ん〜、ちょいとググって見ましたが

http://madia.world.coocan.jp/vb/vb_bbs2/200403_04030050.html

を確認すると、128でも表示できそうな雰囲気が。。。

編集 削除
kara  2005-05-02 16:46:49  No: 121396  IP: [192.*.*.*]

私のソースが上げられているので、私が128にした根拠を書きます。

szTipが含まれるNOTIFYICONDATAの定義を見てみると(ShellAPI.h)

typedef struct _NOTIFYICONDATAW {
        DWORD cbSize;
        HWND hWnd;
        UINT uID;
        UINT uFlags;
        UINT uCallbackMessage;
        HICON hIcon;
#if (_WIN32_IE < 0x0500)
        WCHAR  szTip[64];
#else
        WCHAR  szTip[128];
#endif
#if (_WIN32_IE >= 0x0500)
        DWORD dwState;
        DWORD dwStateMask;
        WCHAR  szInfo[256];
        union {
            UINT  uTimeout;
            UINT  uVersion;
        } DUMMYUNIONNAME;
        WCHAR  szInfoTitle[64];
        DWORD dwInfoFlags;
#endif
#if (_WIN32_IE >= 0x600)
        GUID guidItem;
#endif
} NOTIFYICONDATAW, *PNOTIFYICONDATAW;

となっています。
いなさんがあげられている私のサンプルは、バルーンヘルプを使うサンプルなので、shell32.dllのバージョンは5以上であるはずなのでszTipを128にしました。

shell32.dllのバージョンによって構造体を使い分けると良いと思います。

編集 削除
kara  2005-05-02 16:53:39  No: 121397  IP: [192.*.*.*]

あっと、
これじゃ回答になっていませんね。

> NotifyIconのszTipですが、長さに限度はありますか?
shell32.dllのバージョンにより限度が変わります。
5未満の場合
  64
5以上の場合
  128

いろいろな環境で動くことを想定しているなら、64としたほうが良いと思います。

編集 削除
連休ぷろぐらまー  2005-05-02 20:03:08  No: 121398  IP: [192.*.*.*]

karaさん、ありがとうございました。
そうなんですね。

実は128bytesでも足りないようなものを表示しようとしていました。(全角5x10行)
他の手を考えて見ます。

編集 削除