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 などのより高度なテクノロジの使用を検討してください。