0

ではlistctrl、セル内のテキストがセルの幅よりも長い場合、テキストの一部のみが表示されます。上記のセルの上にマウス カーソルを置くと、全文を表示しようとする小さなポップアップ ウィンドウが表示されます (以下のスクリーンショットを参照)。この動作を抑制/無効にする方法があるのだろうか。

ここに画像の説明を入力 ここに画像の説明を入力

4

2 に答える 2

1

このツールチップは、拡張スタイルが使用されている場合にネイティブ コントロールによって表示されます。これはLVS_EX_LABELTIP非常に便利です。列全体のサイズを変更せずに長すぎるセルの内容を表示することは不可能であるためです。このため、デフォルトで有効になっており、MSW 固有のものであるため、wxWidgets API は無効にする方法を提供していません。

本当に、本当にそれを行う必要がある場合は、いつでも MSW 固有のコードを使用して、(警告: テストされていないコード) 次のようなことを行うことができます。

#ifdef __WXMSW__
    HWND hwndList = (HWND)listctrl->GetHandle(); 
    LPARAM style = ::SendMessage(hwndList, LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0);
    ::SendMessage(hwndList, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, style & ~LVS_EX_LABELTIP);
#endif
于 2016-06-07T17:25:22.230 に答える
0

この便利な機能がない代わりに使用できますDataViewListCtrl(線が楕円形の場合のToolText)。私が知る限り、これは のドロップインではないためListCtrl、使用する構文は異なります。

于 2016-06-06T13:59:42.637 に答える