DDX_LBIndex

リストボックスで選択されたアイテムを取得する場合、Controlにしてクラスオブジェクトから取る方法も、Valueにしてプリミティブ型変数から取る方法もある。
DDX_LBIndexは、プリミティブ型変数から選択されたアイテムが何番目かを取得できる。

DDX_LBIndex | Microsoft Docs

リストボックス
リストボックス

また、リストボックスで、

変数の追加
変数の追加

変数の追加で、

Value
Value

Valueでintのm_xvListBox1を追加する。
また、

Control
Control

ControlでCListBoxのm_xcListBox1を追加する。

このように追加される。

m_xcListBox1はDDX_Controlなのに対し、m_xvListBox1はDDX_LBIndexとなる。

"Item1"から"Item3"を追加。

Button1が押されたら、UpdateDataで更新して、m_xvListBox1に選択されたアイテムのインデックスが格納されるので、それを文字列に変換してメッセージボックスで表示。

Item1
Item1

Item1を選択して、Button1を押すと、

0番目
0番目

0番目なので0。

Item2
Item2

Item2だと、

1番目
1番目

1番目なので1。

Item3
Item3

Item3は、

2番目
2番目

2番目なので2。
ちなみに、

未選択
未選択

起動時の状態のまま、何も選択していないと、

-1
-1

-1となる。

Sample/mfc/DDX_LBIndex/DDX_LBIndex/src/DDX_LBIndex at master · bg1bgst333/Sample · GitHub