問題タブ [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.
c++ - ウィンドウのサイズを変更すると、コモン コントロールが正しく描画されない
前書き:
子ダイアログ ボックスをページとして持つタブ コントロールを作成しています。
コメントで有効Visual Styles
にしました。#pragma
私も電話InitCommonControlsEx
し#pragma comment( lib, "comctl32.lib" )
ました。
最初に、ウィンドウが読み込まれると、ダイアログとその共通コントロールには適切な背景が表示されます。以下の画像を参照してください。
サイズ変更中、物事はそれほど一貫していません->背景が目に見えて不一致になり始めます。以下にスクリーンショットを提供します。
あなたはそれをはっきりと見ることができ、不適切な背景checkbox
を持っていますが、 (子コントロールとして機能するように作成された)適切な背景を持っているように私には思えます。static control
dialog box
2014 年 11 月 24 日に編集:
コントロールを囲んだ後group boxes
、描画の問題はないようです。私のモニターは古い CRT (Samsung SyncMaster 753s) で、視力が悪いのですが、すべてが適切に描画されているようです。サイズ変更時にウィンドウがまだひどくちらつきますが、私はそれを修正するために全力を尽くしました。
質問:
どうすればこれを修正できますか?
これを解決するための私の努力:
まだ何も見つけていませんが、この質問を入力している間、まだゴーグルしています...
関連情報:
問題を説明するデモを作成する手順は次のとおりです。
1.) に空のC++
プロジェクトを作成しVisual Studio
ます。
2.) ヘッダー ファイルを追加し、名前を付けてpomocne_funkcije.h
、以下をコピーして貼り付けます。
3.) リソース エディターでダイアログ ボックスを作成し、チェックボックスの静的コントロールを追加します。
ダイアログ ボックスに次のように設定します。
- ボーダー : なし
- コントロール : 真
- コントロールの親: true
- スタイル : 子供
- システム メニュー : false
4.) のコードは次のmain.cpp
とおりです。
と の使用に取り組んでいVisual Studio 2008
ます。Windows XP
C++
WinAPI
winapi - スーパー クラスのリストボックス コントロールのテキストと背景色の設定
私は、LISTBOX
特別な機能を追加するために、Windows コモン コントロールのスーパー クラス バージョンを作成中です。
標準コントロールはWM_CTLCOLORLISTBOX
メッセージをその親に送信し、テキストと背景色の両方を実行時に適切なメッセージ ハンドラー内で指定できるようにします。ただしWM_CTLCOLORLISTBOX
、コントロール自体には送信されないため、カプセル化して内部で処理することはできません。
私が対処しようとしているシナリオは、コントロールの有効/無効状態に応じて背景とテキストの色を変更することです。状態に関係なく、リストボックスの背景を同じ色合いのままにするという標準的な動作は、私には見苦しく、一貫性がないように見えます。カプセル化内でこれらの値を設定し、他のすべての描画タスクを基本クラスのウィンドウ プロシージャに渡す別の方法はありますか?
を使うのが気になりSetClassLongPtr()
ました。ただし、これはテキストの色に対処しないだけでなく、正しく理解すれば、現在存在するそのクラスのすべてのコントロールの背景を変更し、状態が変更された特定のコントロールは変更しません。
windows - MSCOMCTL.OCX 2.1 をネイキッド システムにインストールする
mscomctl.ocx
バージョン 2.1 のタイプ ライブラリが登録されるように、Windows 8.1 システムに現在のバージョンの をプログラムでインストールする方法を教えてください。古い「共通コントロール」ダウンロードをインストールすると、バージョン 2.0 のみがインストールされます。MS12-060に関連する更新プログラムが必要だと思いますが、これは現在KB2726929になりますが、MS Office がインストールされていない場合、この更新プログラムはインストールされません。
他にもいくつか の質問が関連していますが、それらは主に上記の更新の影響を扱っています。バージョン 2.1 のタイプ ライブラリを参照する VB6 プロジェクトをコンパイルできるシステムを構築したいと考えています。mscomctl.ocx
java - 別の struts タグで struts プロパティを使用する
私はStruts1を使用しています。logic:iterate を使用してリストを反復処理しています
そして、ボタンを押している間にJavaScript関数に渡される引数として「index」プロパティを使用したいと思います
ctrl:button タグ内の正しい "index" プロパティにアクセスするためのシタックスはどのようになっていますか?
ありがとうございました
jsp - ツールチップ ctrl:columnhtml を無効にする方法
私は共通コントロールを持つjspにこの単純なコードを持っています
列のタイトルの上にマウスを移動すると、ツールチップが表示され、削除できませんでした。この機能を無効にするにはどうすればよいですか?
c++ - 編集コントロール内にツールバーを配置する方法は?
私の最初の目標は、エディット コントロール内に X ボタンを配置することでした (後で、このエディット コントロール自体がコンボ ボックスの一部であることが判明しました)。この記事をガイダンスとして使用することをお勧めします。
少し「きれい」に見せるために、代わりにその X ボタンにツールバーを使用することにしました。そこで、次のコードを思いつきました。ComboBox 内でコントロールを初期化する方法は次のとおりです。
これは、エディット コントロールのサブクラス化されたウィンドウ プロシージャです。
問題は、ツールバーが (Spy++ 経由で) 作成されていることを確認できますが、非アクティブなままで、ボタンが表示されないことです (右側の灰色の四角形だけが表示されます)。
ツールバー自体を確実に作成できるようにするために、その親ウィンドウをエディット コントロール (つまりhEditCtrl
) からメイン ダイアログ ウィンドウに変更すると、(間違った場所に) 表示され、クリックに問題なく応答します。したがって、私の結論は、サブクラスでいくつかのメッセージをブロックする必要があるということです。問題はどれですか?
ここで何が欠けているのですか?
c++ - ビジュアル スタイルの有効化
私は現在、Windows GUI API を使用して作業しようとしていますが、さらに多くのことがわかります...要点を説明しましょう: 基本的に、msdnによるこのガイドに従って、Win7 の視覚スタイルを有効にしていますが、InitCommandcontrolsEx は false を返します: m 次のことを行います。
ヘッダーを含める
目的のビジュアル スタイルで初期化する
マニフェストをコンパイルするリソース ファイルを作成する
マニフェスト自体
そのために、GNU binutils の windres を使用しています
そして最後に、それと ComCtl32.dll に対してリンクします
しかし、冒頭で述べたように、InitCommonControlsEx は常に false ブロックにジャンプし、false を証明する更新されたビジュアル スタイルを表示しません。何か案は?
システム: Win7 64Bit g++ コンパイル 64Bit IDE Eclipse CDT