SysLink コントロールについて

SysLink コントロールは、マークアップされたテキストをレンダリングし、ユーザーが埋め込まれたハイパーリンクをクリックしたときにアプリケーションに通知するウィンドウです。 このコントロールは、[コマンド リンク] ボタンを使用する代わりとなる便利な方法です。 詳細については、「ボタンの種類」を参照してください。

各 SysLink コントロールは複数のハイパーリンクをサポートでき、0 から始まるインデックスを使用して各ハイパーリンクにアクセスできます。 SysLink コントロールは ComCtl32.dll バージョン 6 で定義されており、DLL のバージョン 6 が使用可能な場合は使用する必要があることを指定するマニフェストまたはディレクティブが必要です。 詳細については、「視覚スタイルを有効にする」を参照してください。

この記事には、次のセクションがあります。

SysLink コントロールは、アンカー タグ (<a>) と属性 HREFID をサポートします。 HREF には、http、ftp、mailto などの任意のプロトコルを指定できます。 ID は省略可能な名前で、SysLink コントロール内で一意であり、個々のリンクに関連付けられます。 リンクには、文字列内での位置に応じて 0 から始まるインデックスも割り当てられます。 このインデックスは、リンクにアクセスするために使用されます。

各リンクの属性は、各リンクのアンカー タグ内で設定することも、LM_SETITEM メッセージを送信して設定することもできます。 初期化文字列内で属性を指定することで属性を設定すると、値が初期化されるだけです。 属性の値は、後で LM_SETITEM メッセージを使用して変更できます。

リンク アイテムは、次の表のフラグで表される 3 つの状態のいずれかになります。

状態フラグ 外観と意味
LIS_FOCUSED リンクにキーボード フォーカスがあり、Enter キーを押すと有効になります。
LIS_ENABLED リンクは有効です。
LIS_VISITED ユーザーは、リンクで表される URL に既にアクセスしています。

 

双方向テキスト表示の制限事項

アラビア語やヘブライ語などの一部の言語は右から左に記述されます (RTL)。英語は左から右 (LTR) に記述されます。 RTL と LTR の組み合わせは双方向テキストと呼ばれます。 リソース文字列に LTR と RTL Unicode または HTML 方向マークアップ コンストラクトを混在させると、文字列のフローを制御するための双方向フロー マーカーとして、SysLink コントロールを使用する場合、期待する結果が生成されない場合があります。 たとえば、LTR でマークされた文章が RTL コンテキストで正しく表示されない場合があります。

Note

SysLink コントロールは、すべてのシナリオで双方向表示をサポートしているわけではありません。 SysLink コントロールは、単純な LTR または RTL レイアウトが適切であることがわかっている場合にのみ使用します。 それ以外の場合は、MSHTML などのより高度なテクノロジの使用を検討してください。