0

OS 共通コントロール ライブラリの標準ヘッダー コントロールを使用しています。1 つの列ヘッダー (アイテム) のみに関連する領域を強制的に更新するようにコントロールを強制する必要があります。そのための特別な WinAPI メッセージ、または使用できるトリックはありますか?

4

2 に答える 2

4

メッセージを使用しHDM_GETITEMRECTて問題のアイテムの長方形を取得し、関数を使用してそれを更新しInvalidateRectます。

于 2013-03-12T11:46:13.780 に答える
0

列ヘッダーのテキストはヘッダーに直接保存されないため、次のトリックを使用しました (VB6 コード)。

Dim tHI As HD_ITEM
tHI.mask = HDI_TEXT
SendMessage m_hWnd, HDM_SETITEM, lCol, tHI

実際には、アイテムを変更しませんが、ヘッダーはそれが発生したと「考える」ので、実際にはヘッダーにアイテムを再描画させます。

注意: この場合、HDN_ITEMCHANGING が送信されるため、このトリックを使用する場合は無視してください。

于 2013-03-14T10:09:56.430 に答える