Assertion Failed – プログラミング – Home

通知
すべてクリア

[解決済] Assertion Failed


トライ屋-
 トライ屋-
(@トライ屋-)
ゲスト
結合: 17年前
投稿: 3
Topic starter  

VC++でDLGベースで画面を作成しているのですが、再描画ロジックの所で、Debug Assertion
Failedが出てしまいました。無視して実行すると、一応想定どおりの動きはするのですが、回
避する方策についてご存知の方教えてください。
下記ソースは、DLGをリサイズした時に、ステータスバーを連動してリサイズする内容で、
「MoveWindow」の個所でDebug Assertion Failedとなっているようです。
ちなみに、VC6を使用しています。

void CToolDlg::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
ReSizeStatusBar(cx,cy);
}

int CToolDlg::ReSizeStatusBar(int XAdr,int YAdr)
{
CRect rectTmp;
this->GetClientRect( &rectTmp );

int i,j;
i = rectTmp.bottom - 25;
j = rectTmp.Width();
m_StatusBar.MoveWindow(0,i,j,25);
}

※引数部分については、debug中なので、現時点では使用していませんが気にしないで下さい。


引用未解決
トピックタグ
aetos
(@aetos)
Noble Member
結合: 5年前
投稿: 1480
 

m_wndStatusBar.Create をしているのはどこですか?


返信引用
aetos
(@aetos)
Noble Member
結合: 5年前
投稿: 1480
 

変数名間違えたw
m_StatusBar.Create です


返信引用
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

ダイアログベースプログラムにステータスバーを作るには?
http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=1747453&SiteID=7
は参考になりますか?


返信引用
たいちう
 たいちう
(@たいちう)
ゲスト
結合: 23年前
投稿: 662
 

情報が少ないのであてずっぽうですが、
m_StatusBarのウィンドウが存在しないうちに動かそうとしているのでは?

if (m_StatusBar.m_hWnd)
m_StatusBar.MoveWindow(0,i,j,25);

↑これで回避できない場合は、m_StatusBarについてもっと情報を示してください。


返信引用
トライ屋-
 トライ屋-
(@トライ屋-)
ゲスト
結合: 17年前
投稿: 3
Topic starter  

シャノンさんこんにちは。

ステータスバーのCREATEは、DLGのOnInitDialog内で行っています。
下記コード抜粋です。

// ステータスバーの初期化
{
    if (!m_StatusBar.Create(this) ||
  !m_StatusBar.SetIndicators(indicators,
  sizeof(indicators)/sizeof(UINT)))
{
TRACE0(Failed to create status bar\n);
return -1;
}
m_StatusBar.SetPaneText(1,AAA,TRUE);
m_StatusBar.ShowWindow(SW_SHOW);

CRect rectTmp;
this->GetClientRect( &rectTmp );
m_StatusBar.MoveWindow(0,rectTmp.bottom-25,rectTmp.Width(),25);
}


返信引用
トライ屋-
 トライ屋-
(@トライ屋-)
ゲスト
結合: 17年前
投稿: 3
Topic starter  

こんにちは、「たいちう」さん。
当てずっぽうのご意見ありがとうございます。
見事、解決しました。^^)v

OnInitDialog内でCREATEしているのですが、
この時点では、まだ、windowが存在していないんですね?
勉強になりました。

皆さんありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました