質問 |
||
| 質問者:w0a15455 | LVS_EX_FULLROWSELECTが効かない | |
|---|---|---|
困り度:
|
LVS_EX_FULLROWSELECTをリストコントロールに指定して、一行選択をしたいのですが、なぜか効きません。なぜでしょうか? ソース−−−−−−−−−−−−−−−− BOOL CXXXXXX::OnInitDialog() { CPropertyPage::OnInitDialog(); ListView_SetExtendedListViewStyle( m_LIST.m_hWnd , LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT | LVS_EX_ONECLICKACTIVATE | LVS_EX_UNDERLINEHOT ); ・・・・・ } プロパティページ内にリストコントロールを貼り付けて使っています。 よろしくお願いします。 |
|
質問投稿日時:08/03/28 16:21 質問番号:3902287 |
||
回答良回答20pt |
|
| 回答者:taku2888 | ウィンドウが表示された直後で何もしなければ フォームにフォーカスがあたってる可能性が一番ですか・・ なので、OnInitDialog() の後ろの方で ListView.SetFocus(); してみたらいかがですか。 |
|---|---|
| 種類:アドバイス どんな人:専門家 自信:参考意見 |
|
| |
回答日時:08/04/03 14:37 回答番号:No.3 |
|
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |
回答 |
|
| 回答者:taku2888 | カーソルキーの「↑」「↓」動かしてセルが移動できれば Focusがあたってます。 NM_SETFOCUSとか通っても最終どうなってるのか不明です。 |
|---|---|
| 種類:アドバイス どんな人:専門家 自信:参考意見 |
|
| |
回答日時:08/04/02 15:07 回答番号:No.2 |
|
| この回答への補足 | ご指摘ありがとうございます。 カーソルキーの「↑」「↓」動かしてみましたが、移動しませんでした。 これは、フォーカスが当たっていないってことですよね。 なぜ、こうなるのでしょうか? 回避方法を探してみます。 |
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |
回答 |
|
| 回答者:taku2888 | どの様な仕様か不明ですが、 LVS_EX_FULLROWSELECTは、そのリストコントロールにフォーカスが当たっていないと機能しないと思われますが。 その条件でもダメでしょうか。 |
|---|---|
| 種類:アドバイス どんな人:専門家 自信:参考意見 |
|
| |
回答日時:08/03/28 20:04 回答番号:No.1 |
|
| この回答へのお礼 | 返事が遅くなって、申し訳ありません。 出張に出てしまって。 NM_SETFOCUSで、フォーカスが当たっているのを確認したのですが、 ここは、通っているので、フォーカスは、当たっていると判断しました。 もう少し調べてみます。 |