問題タブ [common-controls]

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 投票する
1 に答える
160 参照

windows - Windows 2000 の Common Controls 6.0?

CListCtrls で Grouping を使用したいのですが、これは Common Controls 6 で導入されたようです。CC6 は XP でのみ登場したため、Windows 2000 以前では問題があります。Comctl32.dll の新しいバージョンを展開することが解決策のように思えますが、私たちのソフトウェアはスタンドアロンの実行可能ファイルである必要があります。

この問題の解決策はありますか?

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

c++ - Win32 で CEdit コントロール内に画像を配置する

エディット コントロール内にロゴが表示され、ユーザーがエディット コントロールにフォーカスを合わせるとロゴが非表示になる効果を実現しようとしています。

これにアプローチする最良の方法は何ですか?エディット コントロールの上にイメージ コントロールを配置するか、エディット コントロールの背景を透明にしてイメージ コントロールをエディット コントロールの後ろに配置するのがよいでしょうか? それとも他の方法でしょうか?

0 投票する
3 に答える
7535 参照

c++ - CListCtrl のちらつきを防ぐにはどうすればよいですか?

LVS_REPORT仮想モード ( ) でCListCtrl/CListView レポート ビュー ( LVS_OWNERDATA) をLVS_EX_DOUBLEBUFFER有効にして使用していますが、見苦しいちらつきが発生します。ダブルバッファには実際の効果がありますが、すべてのちらつきを止めるわけではありません (非常に遅くなることなく)。

大量の再作業が必要な他のコントロール (ObjectListView など) への切り替えは考えていません。

ちらつきはどのように動作しますか。

  • 列のサイズ変更時 - 背景は最初にライトグレーを使用してきれいになり、その後テキストが表示されます (背景は白)
  • マウス スクロール時 (アニメーション) - 非常に短時間、新しい行が表示される領域に薄い灰色のバーが表示されます。

再描画する必要がある領域のデフォルトのウィンドウ背景色 (ライトグレー) を使用して背景をきれいにしているようです。

ちらつきの問題を解決するにはどうすればよいですか?

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

datetime - Win32:DateTimePicker が 2 桁の年を受け入れないようにするにはどうすればよいですか?

Microsoft のDateTimePicker共通コントロールは、構成された Locale 設定に従ってShortDateを表示します。顧客のコンピューターは 2 桁の年 ShortDateFormat ( d/M/yy) で構成されているため、DateTimePicker には 2 桁の年が表示されます。

代替テキスト

ユーザーが日時ピッカーの年ブロックにフォーカスを置くと、Microsoft は問題を指摘し、完全な 4 桁の年を表示します。

代替テキスト

しかし、年として入力したいユーザーは1929、2 桁の年を入力します。

代替テキスト

そして、タブ アウトすると、Windows が 2 桁の年を と の間にある1930と解釈し2029、2029 年と見なされて混乱します。

代替テキスト

顧客は、Windows の地域設定を 2 桁の年に構成することを規定するグローバルな企業ポリシーを導入しています。

したがって、回避策として、便利なマクロDateTimePickerを使用して、すべてのコントロールにカスタムの日付形式を使用させる必要があります。DateTime_SetFormat

これにより、DateTimePickerは常に 4 桁の年を表示するようになりました。

代替テキスト

問題は、ユーザーがまだ「無効な」2 桁の年を入力できることです。

代替テキスト

ルールによれば、2029年としてまだ解釈されているWindowsは次のとおりです。

代替テキスト

2 桁の年を拒否する日時ピッカーが必要です。

これが機能しない場合は、すべての DateTimePicker を 3 つの編集ボックスに置き換える必要があります。

22 6 29

無効な数字を赤く色付けし、ユーザーによる無効なデータ入力を指摘できる場所。

DateTimePicker が y2k バグを受け入れないようにするにはどうすればよいですか?

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

c++ - LVS_EX_FULLROWSELECT には他のスタイルとの互換性の問題がありますか?

行全体を選択したいので、グリッド リスト コントロールに LVS_EX_FULLROWSELECT スタイルを設定しようとしています。しかし、明らかに効果はありません。他の多くのスタイルも使用しているので、LVS_EX_FULLROWSELECT に他のスタイルとの互換性の問題があるかどうか疑問に思っています。誰?以下は、私が設定しているスタイルです。

最初に、次のスタイルがベース リスト コントロール クラスに設定されます。

次に、派生グリッド リスト コントロール クラスに追加のスタイルを設定しようとします。

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

windows - vb.net アプリケーションを Windows テーマに溶け込ませる

以前は、いくつかの個人的なプロジェクトを開発するために VB6 をいじっていました。Windows 7 にアップグレードした後、vb.net Express Edition 2010 を試してみることにしました。

VB6 アプリケーションを Windows のビジュアル スタイルに溶け込ませたい場合は、ここで説明するコードとテクニックを使用します。つまり、アプリケーション内でマニフェスト ファイルといくつかの呼び出しを使用すると、ほとんどの要素が適用された XP テーマに似たものになります。2000、95、または 98 で実行された場合、標準の Windows アプリのように見えます。すべてが良かった。

今、私は vb.net に移行し、単純な "Hello, world" アプリケーションを作成しましたが、Windows 7 のテーマのように見せる方法がまったくわかりません (たとえば、フォントがシステム フォントと一致し、ウィジェットは正しくスタイル設定されています)。

フォントを変更するだけではハックであり、別の方法でセットアップされているマシンや、既定のフォントが異なる別のバージョンの Windows を実行しているマシンでは場違いに見えます。

Windows のバージョンに関係なく、アプリケーションが適用された Windows テーマと一致することを確認するにはどうすればよいですか?

0 投票する
4 に答える
3101 参照

c++ - Win32 ListView(共通コントロール)を1回選択します

C++のCommonControls6.0のListViewコントロールを使用していますが、ListViewを単一選択のみにする必要があります。

すべての上位レベルのコントロール(.NetやQtなど)にはこの機能がありますが、どこかでこのコントロールに基づいていると思います。これを単一選択リストとして動作させる方法についてのアイデアはありますか?


違いが生じる場合に備えて、現在のcreateステートメントは次のとおりです。

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

c++ - リモートセッションで実行中、LVS_EX_DOUBLEBUFFER は正しくダブルバッファになりませんか?

ローカルで実行するときはダブル バッファリングを使用することになっていますが、ウィンドウがリモート セッション上にあるときは、各モードで最高のパフォーマンスを得たい場合はダブル バッファリングを使用しないでください。

LVS_EX_DOUBLEBUFFERListView コントロールには、ListView の内容を自動的にダブル バッファリングする拡張スタイル があります。

ローカル セッションとリモート セッション間の変更について通知を受けるために登録し、それに応じてこのフラグを更新する必要がありますか? または、ListView はこれを自動的に行いますか?

0 投票する
3 に答える
3367 参照

delphi - Windows 7 X64では、statusBarは11日から始まるパネルのテキストを正しく表示しません

要約:
(1)これはバグである可能性が非常に高いです。ただし、64ビットOS、VCL、MFCラッパーのいずれに関連しているのかはわかりません。Delphiの専門家からの以下の回答とコメントを確認してください。
(2)私にとっての回避策:
a。状況は、ステータスバーに表示するsixKey-Valueがあるということです。pairs値は実行時に変更されます。
b。パネルset text以上のことはできないようです。 c。この点で、値の呼び出しを使用し、最後の2つのキーの呼び出しを使用します。したがって、制限を超える必要はありません。 d。仕事をするために、私はそれがすでに持っている別のテキストを提供する必要があります。10
sixset texttwoset text10
set text
e。したがって、サンプルコードは次のように記述できます。

================================================== ================

私のWindows7X64では、statusBarに11日以降のパネルのテキストが正しく表示されません。

(1)空のVCLアプリケーションプロジェクトを新しくwithout保存します。デザイン時に11番目のステータスパネルのテキストを設定すると、実行時にテキストがまったく表示されません。(添付の写真を参照してください。)

(2)保存して再度開くと、デザイン時にテキストも表示されません。

(3)実行時にテキストを設定すると、新しいテキストが古いテキストと異なる場合にのみテキストが表示されます。11番目のパネルのテキストが'try'設計時 に設定されているとします。

(4)この動作は、Windows 7 X64でのみ発生し、WindowsXPでは発生しません。

(5)同じ動作がすべてのDelphiバージョンに当てはまると思います。

(6)動作はDelphiよりもWindowsバージョンに関連しているようです。つまり、同じサンプルアプリケーションは、Windows 7では上記の動作を示しますが、WindowsXPでは示しません。

(7)サンプルのdfmファイルは次のようにダンプされます。

(8)サンプル写真:
デザインタイム
rumtime

考えられる理由について誰かがコメントするのを手伝ってもらえますか?どんな提案でも大歓迎です!

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

windows - Win7 のように、XP の VCL コントロールまたは Windows コモン コントロールで漢字を含む完全な Unicode サポートを取得するにはどうすればよいですか?

国際化サポートをテストしているアプリケーションがあります。

たとえば、font.Name = 'Arial' の標準 TEdit コントロールがあります。

Windows 7 では、そのコントロールに割り当てられているフォントに特定の国際文字が含まれていない場合、EDIT 共通コントロールのために、Arial Unicode MS または他の場所から CJK 文字のグリフを自動的に取得するようです。

Windows XP では、Arial Unicode MS フォントがインストールされていても、デルフィ形式のフォント名を Arial Unicode MS に変更しない限り、漢字がボックスとして表示されるようです。

これは、Windows XP でインターナショナル フォントをサポートしていると誰もが遭遇することですか? Windows コモン コントロールの動作は異なりますか? Windows 7 で見られる動作は、Windows XP で見られる動作よりも確かに使いやすいです。

この動作の違いは、Windows コモン コントロールだけに限定されるものではありません。Internet Explorer と MS Explorer シェルでさえ、次の図のようなテストを行う際に問題があるようです。 ここに画像の説明を入力

  1. 人々はこれについて何をしますか?

  2. Windows XP で予想されるプラットフォームの動作は何ですか? ユーザーが使用したい言語を見つけ、その言語をサポートするフォントを見つけて使用する必要がありますか? Arial Unicode MS は、存在するほぼすべての Unicode 言語を備えているため、デフォルトとして適していると思います。

更新: Microsoft の用語「追加言語サポート」は、Windows の「Unicode 文字がボックスとして表示されない」機能を指しているようです。