問題タブ [ccombobox]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1046 参照

mfc - MFC CComboBoxEx アイコンの更新の問題

MFC で CComboBoxEx コントロールを使用して、アドレスと関連サイト アイコンを表示するブラウザー アプリケーションのアドレス ボックスを実装しています。

このリンクによると: http://msdn.microsoft.com/en-us/library/bb775788(v=vs.85).aspx、-1 の iItem で CComboBoxEx::SetItem を呼び出すと、編集で現在表示されている項目が変更されます。コントロール。これが私が使用するコードセグメントです

SetItem が呼び出された後、時折アイコンが更新されないことがわかりました。新しいアイコンが設定された後も、以前のアイコンが表示されます。画像インデックスは変更されないことに注意してください。画像リスト内の実際のアイコンのみを更新しています。

興味深いことに、マウスを使用してコンボボックス内をクリックし、次に他のコントロール内をクリックしてコンボボックスがフォーカスを失うと、アイコンが更新されることがわかりました。プログラムでそれを行うこともできますが、それは厄介な回避策だと思います。

それ以外では、コンボボックスで Invalidate または RedrawWindow を呼び出しても、更新されていないときに新しいアイコンが表示されません。

これに関する経験やヒントは大歓迎です。どうもありがとう。

0 投票する
1 に答える
272 参照

winapi - Archive 属性が設定されておらず、Index 属性が設定されている場合、CComboBox::Dir 関数はディレクトリを一覧表示しません

CComboBox::Dir(DDL_READWRITE, path) を使用してコンボボックスの内容を設定しています。すべて問題ありませんが、Archive フラグをリセットして Index フラグを設定すると、Dir() はファイルを返しません。私は使っている

私がリストしているディレクトリに。最初のパラメーターを Dir() 関数に変更しようとしましたが、役に立ちません。FindFirstFile()/FindNextFile() を試してみましたが、正常に動作しています

この動作の理由を説明するアイデアはありますか? これは Dir() 関数のバグでしょうか? はいの場合、他にどのような機能に影響を与えることができますか? この問題を解決するには?

0 投票する
1 に答える
991 参照

wpf - UIAutomationを使用してWPFコンボボックスの表示テキストを取得するにはどうすればよいですか?

いくつかのテストにUIAutomationを使い始めたところです。これは一見単純なものを除いて、私はほとんどのものを動作させました。

コンボボックスに表示されているローカライズされたテキストを確認したいのですが、UIAutomation APIを使用して(ローカライズされた)表示テキスト(コンボボックスアイテムは列挙型アイテム)を取得する方法がわかりませんでした。

UISpyは、ローカライズされた表示テキストも表示しません(現在選択されているアイテムのenum.ToString()値を表示します)。

あなたの助けは大歓迎です。

0 投票する
1 に答える
5206 参照

c++ - 水平スクロールバーで MFC CComboBox ドロップダウンの高さを手動で設定する

ユーザーがテキストを入力して「保存」ボタンをクリックできるC++ MFC CComboBox(VS 2010)があります。これにより、テキストがドロップダウンリストに挿入され、後で呼び出し/使用できるようになります。テキストがボックスに対して長すぎる場合、スクロールバーが必要になるため、リソース ファイルに WS_HSCROLL を設定し、m_Combo.SetHorizo​​ntalExtent(x) を使用します。これは問題なく機能します。

私が抱えている問題は、水平スクロールがある場所で、1 行がカバーされ、垂直スクロール バーがその 1 つの項目にスクロールするように表示されることです。私が試してみました

おそらく過去数日以上ですが、水平スクロールを考慮しないドロップダウンの自動サイズ変更を無効にするものは何もないようです。私は MFC を初めて使用し、必死の Google 検索中にこれらの提案をオンラインで見つけました。

要するに、自動高さをオーバーライドまたは拡張する方法はありますか? リソースエディターでサイズを変更する方法は知っていますが、実行時にコードでサイズを変更したいのですが、すべてが無視されているようです。エラーを再現したテストプロジェクトからの私の関数は次のとおりです。

0 投票する
2 に答える
1506 参照

winapi - WinApi ComboBox の項目の Window ハンドルを取得

WinApi の CComboBox のアイテムに何かを描画しようとしています。これを行うには、アイテム (特定のアイテムを含む) を表すウィンドウのハンドルが必要です。質問がありますが、これは可能ですか? どうすればいいですか?または、ComboBox の特定のアイテムを描画する方法について、別のアイデアを思いついたかもしれません。プシェメク

0 投票する
0 に答える
236 参照

winapi - 編集項目で winapi CComboBox を描画

WinApi/MFC で、CComboBox から継承する独自のコントロール CCustomComboBox を作成しています。テキストだけではなく、アイテムを描画したいと考えています。

スタイル CBS_OWNDERDRAWVARIABLE を定義してから OnDrawItem 関数を描画することでこれを達成しましたが、ComboBox(select item) のメイン ウィンドウに描画する方法がわかりません。(コンボ ボックスの上部にあるウィンドウ) それを呼び出すことができますたとえば SetWindowText() ですが、LineTo() など、何かを描画したいと思います。一般的に、コンボボックスの特定のアイテムに描かれているものを編集/メインアイテムにコピーしたいと思います。しかし、これを最初に行うには、それを描く方法を知りたいです。アドバイスありがとう!プシェメク

0 投票する
1 に答える
339 参照

winapi - WinApi所有者CComboBox編集ウィンドウ、CComboBox内の編集ウィンドウ

CComboBox編集ウィンドウ(CComboBoxの最上部のウィンドウ/ ComboBox内の編集ウィンドウ)を所有する可能性があるかどうか質問があります。CComboBoxがOWNERDRAWであり、アイテムを描画できるようにしたためです(DrawItem()メソッドを使用)。また、編集項目(CComboBoxコントロールの一番上の項目)に描画したい問題は、編集ウィンドウであり、入力できる(描画できない)ことです。このウィンドウを「描画可能」にするにはどうすればよいですか?助言がありますか?ありがとう

0 投票する
2 に答える
10214 参照

visual-c++ - CComboBoxからテキストを取得する

メンバー( )を持つCDialog(myDialogBox)があります。私の目標は、ドロップダウンスタイルの編集部分からユーザーが入力したテキスト(できれば)を取得することです。しかし、私はそれを機能させることができないようです。CComboBoxmyComboBoxCStringCComboBox

を使ってみましたmyComboBox.GetWindowText(myString)。しかし、デバッグモードで実行するとASSERT(::IsWindow(m_hWnd))、関数内でコードが壊れCWnd::GetWindowText()ます。

myDialogBox.GetDlgItemText(MY_COMBOBOX_ID, myString)同様の方法で分解する、も試しました。

さらに、私は試しました:

infoしかし、それは私の変数を正しく入力していないようです。

誰かが私を正しい方向に向けてもらえますか?私は何が間違っているのですか?助言がありますか?

編集:それが私の最終的な目標を理解するのに役立つかもしれない場合に備えて、私はそれがユーザーの写真を助け、文字列のリストから選択するのに役立つコンボボックスを作ろうとしています。それでも、ドロップダウンリストに何も入れたくない場合は、自分の文字列を思い付くことができます。彼のユーザー入力文字列を受け取る方法が欲しいのですが。

0 投票する
1 に答える
399 参照

visual-c++ - コンボボックス値の変更をキャンセルする

  1. ユーザーがCComboBoxで新しい値を選択します。
  2. 関数OnCbnSelchangeXXX()が呼び出されます。

関数のCComboBoxの値の変更をキャンセルする方法はありますか?状況によっては、変更をキャンセルする必要があり、CComboBoxは古い値を保持し、ユーザーにエラーメッセージが表示されます。

0 投票する
0 に答える
94 参照

visual-c++ - CComboBox から古い値を取得する

  1. ユーザーが の値を変更しますCComboBox
  2. 関数OnCbnSelchangeXXX()が呼び出されます。

CComboBox´s関数で古い古い値を取得できますか?