掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
一旦「1行選択」にしたリストビューを、「複数行選択」に戻すには (ID:68012)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> SetWindowPos この関数名にはAPIの関数とMFCの関数と2つあります。 MFC の場合は引数の個数が違うのでエラーになりました。 APIの SetWindowPos を呼び出すには :: とつけないといけませんでした。 LONG dwStyle = ::GetWindowLong( m_list1.GetSafeHwnd(), GWL_STYLE ); dwStyle &= ~LVS_SINGLESEL; ::SetWindowLong( m_list1.GetSafeHwnd(), GWL_STYLE, dwStyle ); ::SetWindowPos( m_list1.GetSafeHwnd(), NULL, 0, 0, 0, 0, (SWP_NOMOVE|SWP_NOSIZE|SWP_NOZORDER|SWP_FRAMECHANGED) ); です。 > 最初の3行だけでは、後々、何か問題が起こるのでしょうか。 APIマニュアルには動的にスタイルを変更するとき SetWindowPos に SWP_FRAMECHANGED を付けて呼び出せと書かれている。 だから呼び出したほうが良いと思う。 なお MFC なら ModifyStyle 関数がありませんか? 動的にスタイルを変える場合はこの関数と使えば良いと思う。 m_list1.ModifyStyle( LVS_SINGLESEL, 0, (SWP_NOSIZE | SWP_NOMOVE | SWP_NOZORDER) ); こんな感じかな。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.