長いこと悩んでいますが、解決出来ないでいます。
お知恵を拝借したいと思います。
VC5.0, SDK, WinXPでの開発を行っています。
今、リストビューで直接書き込みをさせる為に、
リストビューのクリックされた位置にエディットボックスをかぶせて表示させてあたかも直接編集させているように見せています。
実際のエディットボックスの表示や書き込み等はうまく行っているのですが、表示したエディットボックスにSetFocusをしても、カーソルが表示される場合とされない場合が出てきています。
親画面を表示し、最初にリストビューをクリックした時のエディットボックスにはきちんとカーソルが表示されます。
しかし、2度目以降はまったくカーソルが表示されません。
ただ、フォーカスはあたっているのか、文字入力は正しく行われます。
また、エディットボックスでリターンキーを押されたタイミングでエディットボックスを破棄し、リストビューに文字列を反映させているのですが、このリターンキー押下後にエディットボックスを表示させた時はカーソルも表示されます。
エディットボックスの破棄には、上記リターンキーもしくはエディットボックスからフォーカスが無くなった時に行っているので、
この時の破棄のタイミング等の問題でカーソルが出たり出なかったりしているのだろうと色々調べているのですが、どうしても分かりません。
実際エディットボックスにフォーカスが当たっていればカーソルは自動的に出るものだと思っていたのですが、出ないという現象は何に問題があるのでしょうか?
エディットボックス有効処理
Show( SW_SHOW );
BringWindowToTop( hwnd );
SetFocus( hwnd );
エディットボックス破棄(無効)処理
Show( SW_HIDE );
アドバイスを宜しくお願い致します。
No.1ベストアンサー
- 回答日時:
>出ないという現象は何に問題があるのでしょうか?
聞いたこと無いですね~
ちなみに、リストビューのラベルエディットじゃやりたいことと違うからこのようにやっているのですよね?
EDITコントロールの親はどこにしていますか?リストビューになっていますか?
私もよくこのようにEDITを張り付けることをしますが、有効化と無効化は表示・非表示であまり切り替えません。
CreateWindowとDestoryWindowを繰り返すようにしています。
clsdi99さん、回答ありがとうございます。
やはり聞いたことはないでしょうか。実はこのような仕掛けは今までにも何度もやってきているのですが、カーソルが出ないという症状が出てしまったのが今回初めてでした。
EDITコントロールの親はリストビューになっています。
CreateWindowでひとつ最初に作っておき、クリックされたリストビューの位置に移動させて表示、非表示を行っています。
やはりclsdi99さんのおっしゃるようにDestroyWindowをしたほうが良い感じがします。
一度その方法でやってみたいと思います。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- モニター・ディスプレイ 「.cur」のアイコン表示について 4 2023/03/04 10:21
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- Windows 10 Windows11タスクバーやエクスプローラー、スタートメニュー 動画全画面時にカーソルが見えない 1 2022/04/08 00:03
- Visual Basic(VBA) excel vba でユーザーフォーム入力ができない 2 2022/12/12 14:42
- gooブログ Twitterの動画画面をgooブログに埋め込めない 4 2022/06/03 16:40
- ドライブ・ストレージ 外付けHDDの破損?について教えてください。 8 2022/12/27 15:03
- Chrome(クローム) PCから郵便IDでポインターが矢印のままログインできない 1 2022/03/25 16:44
- 画像編集・動画編集・音楽編集 musescore3.5 で再生時、ページスクロールしない 1 2022/11/07 19:29
- Excel(エクセル) 【EXCEL】=セル&セルが上手く表示できない。 7 2022/09/04 21:32
- その他(プログラミング・Web制作) ワードプレスのプラグインであるAddQuicktagを使いたいが… 3 2022/04/18 15:03
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
画面を強制的に再描画させる方法
C言語・C++・C#
-
エディットの文字サイズ変更
C言語・C++・C#
-
エディットボックスのフォントを変えたい
C言語・C++・C#
-
-
4
CStringのFindで文字列検索を行いたいのですが
C言語・C++・C#
-
5
EDITBOXに関して
C言語・C++・C#
-
6
エディットコントロールでEnter押した時の動作
C言語・C++・C#
-
7
VC++で文字列から任意の文字を削除するにはどうしたらいいですか?
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SPREAD(GrapeCity)のセルにフォ...
-
メッセージボックスを前面に表...
-
Excelのマクロで実行時エラー”1...
-
至急です。 トイレに行きたいな...
-
DAMのデンモクの使い方
-
TDSマジックランプシアター 箱...
-
Chrome フォーカス時に枠が表示...
-
C#でButtonのフォーカス枠を消...
-
Yahoo ID 有効なログイン方法が...
-
ローディングアニメーションの...
-
JavaScript canvas グラデーシ...
-
SharpDevelopの使い方
-
iPhoneのクイックアクションを...
-
フォームを継承した際の、コン...
-
コンボボックスの三角を一時的...
-
tabキーによるフォーカスをさせ...
-
サプリメント
-
Giam
-
除光液の正しい捨て方がわかり...
-
アニメ製作できるフリーソフト...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
メッセージボックスを前面に表...
-
TDSマジックランプシアター 箱...
-
Excelのマクロで実行時エラー”1...
-
SPREAD(GrapeCity)のセルにフォ...
-
Chrome フォーカス時に枠が表示...
-
C#でButtonのフォーカス枠を消...
-
iPhoneのクイックアクションを...
-
コンボボックスの開いたリスト...
-
コンボボックスの三角を一時的...
-
レーザのスポット径の計算式
-
DataGridViewで入力チェック後...
-
除光液の正しい捨て方がわかり...
-
DAMのデンモクの使い方
-
、ウイルスバスターからの表示...
-
tabキーによるフォーカスをさせ...
-
PowershellでCLIとISEの結果が違う
-
iPhoneのロック画面に出てくる...
-
ASP.NETにてロストフォーカス処理
-
雷のようなアニメーションをウ...
-
JavaScript でpk戦のゲームを作...
おすすめ情報