コマンドボタンの色を変えたくて、色々なサイトを検索し、物凄く丁寧に記載してあるサイトに出会い、その通りにテストプログラムを作成したら、思い通りに色が変わりました。
<CButtonクラスの派生クラスを作り,動的サブクラス化を実装することで,ボタンの描画色を変更していく>
ソースを載せようとしましたが、全角2000字を超えてしまいました。
メインのダイアログではコマンドボタンが正常に黒色に変わったのですが、モーダルダイアログのコマンドボタンの色を変えようとしたら、
Debug Assertion Failed!
Program: ・・・
File: wincore.cpp
Line: 321
のエラーが発生します。
何かちょっとした事だとは思いますが、解決出来なくて困っています。どなたか助言をお願いします。
Visual C++6.0 SP6
Windows XP Pro
よろしくお願いします。
No.2
- 回答日時:
>ASSERT(FromHandlePermanent(hWndNew) == NULL);
その次の行に、
// must not already be in permanent map
って書いてないですか?書いてあるとおりです。
CWnd::Attachを直接呼び出していないなら、「コールスタック」を見て、
自分が作ったコードに達するまでさかのぼってみましょう。
回答、ありがとうございます。
_/_/_/ モーダレスダイアログのOnInitDialog() _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
m_colBtn.AutoLoad(IDC_BTN_TAKEOUT, this);
_/_/_/ CButtonクラスの派生クラスを作り,動的サブクラス化している所 _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
// ボタンをCColorButtonアタッチにする
BOOL CColorButton::AutoLoad(const UINT nID, CWnd* pParent)
{
// ダイナミックサブクラス化
if (!SubclassDlgItem(nID, pParent))
return false;
return true;
}
SubclassDlgItem()の中でSubclassWindow()を経由してAttach()を呼んでいるところまでは追っかけましたが、
直訳「永久の地図ですでにあってはいけません」の意味がよく分かりません。
分からないなりにAttach()までのソースを見ますが、やはりおかしい所が分かりません。
再度、助言をお願いします。
No.3ベストアンサー
- 回答日時:
この場合は、m_colBtnのインスタンスがすでに作成されているのに、
m_colBtn.AutoLoadを呼び出したからですね。
m_colBtnに対して、DDX_~とかを呼び出していたりしませんか?
出来ました!!ありがとうございます。
DDX_~で呼び出していました。
参考にしたサイトへ辿り着くまでに、色々と試してる際、コントロールメンバ変数を設定していました。
フォントサイズも変えたいので、GetDlgItem()を使ってフォントサイズを変更する事が出来ました。
ちょっとボタンの装飾はあきらめようかとも思ってましたので、助かりました。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Android(アンドロイド) AQUOS sense6sの物理ボタン(アシスタントキー)に再生・一時停止を割り当てる方法 2 2022/08/09 00:37
- プリンタ・スキャナー キャノンmp490プリンター【エラー番号5400】で【プリンタートラブルが発生しました。電源を入れ直 2 2023/07/24 17:45
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- Excel(エクセル) マクロで作った ワードエクセル かけ線や コピペなど 修正や色々な方法を教えてください 2 2023/07/07 22:27
- 確定申告 e-taxの暗証番号 4 2023/03/08 01:59
- 電子レンジ・オーブン・トースター 電子レンジの非科学的(カルト的)動作の原因について考えられる理由を知りたい 8 2022/11/29 14:47
- その他(プログラミング・Web制作) Excel vbaでフォルダー内のpptをpptxにdocをdocxに変換 6 2022/09/01 21:03
- Windows 10 Windowsの初期化ができません。PCをリセットする時にエラーが発生しましたと出ます。 2 2022/04/03 16:25
- Visual Basic(VBA) VBAで早押しゲームを作りたい 4 2022/05/12 13:46
- Illustrator(イラストレーター) Illustratorでオブジェクトの色が勝手に変わって困っています。 4 2022/09/04 18:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトで印刷実行
-
データリーダーからのデータ読...
-
イーサネット通信
-
このプログラムなんですがsheet...
-
VBSで指定した時刻にメッセージ...
-
Teratermマクロの戻り値の取得失敗
-
PowerShellでテキスト内にコマ...
-
バッチ(Windows2000)での解析エ...
-
Windowsのバッチファイルでcall...
-
リストボックス2に表示されたフ...
-
VBで定期的にタイムサーバに時...
-
gmailでのimap設定
-
Excelで外部のファイルの場所を...
-
robocopyをすると隠し属性フォ...
-
同名フォルダを作成し、そのフ...
-
拡張子をつくる
-
ExcelVBAでリンク先の対象のフ...
-
linux duコマンドで困っています。
-
参照元Excelファイルをバックグ...
-
PCに保存していた写真を見られ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Teratermマクロの戻り値の取得失敗
-
Windowsのバッチファイルでcall...
-
Visual C++からftpを使う
-
テキストボックスのフォーカス...
-
system関数のエラー検出
-
ユーザーフォーム内のテキスト...
-
FlashROMにデータを書き込むに...
-
バッチ(Windows2000)での解析エ...
-
ネットワーク内のIPアドレス...
-
データリーダーからのデータ読...
-
RPGでのダメージの算出方法につ...
-
シリアル通信でのread関数の戻り値
-
コマンドプロンプトで印刷実行
-
AutoHotkey KeyWaitコマンドに...
-
表示を標準か改ページプレビュ...
-
EXCELで右クリックメニューの追加
-
コマンドボタンテキストの改行
-
C言語のコマンドの"flag"って何...
-
VBで定期的にタイムサーバに時...
-
gmailでのimap設定
おすすめ情報