PDA

View Full Version : سوال: عدم اعلان و شناسایی IDD_DIALOG



rahimi-s
یک شنبه 12 شهریور 1391, 17:35 عصر
با سلام،
چرا پس از ایجاد یه کلاس برا دیالوگ در پروژه MDI و فراخوانی فایل هدرش مثلا در کلاس Doc ، هنگام اجرا این پیغام خطا داده می شه:
error C2065: 'IDD_DIALOG1' : undeclared identifier

حامد مصافی
یک شنبه 12 شهریور 1391, 23:40 عصر
میشه کدتو ببینم؟ از چیزی که به نظر میاد شناسه دیالوگ باشه چه استفاده‌ای کردی؟؟

rahimi-s
دوشنبه 13 شهریور 1391, 11:55 صبح
[
میشه کدتو ببینم؟ از چیزی که به نظر میاد شناسه دیالوگ باشه چه استفاده‌ای کردی؟؟

این دیالوگ قراره تنظیمات ضبط صدارو انجام بده.

92270

این فایل هدرش هست که آی دی دیالوگ داخلش معرفی شده:




#pragmaonce
 
// Bit_rate_Dlg dialog
class Bit_rate_Dlg : public CDialogEx
{
DECLARE_DYNAMIC(Bit_rate_Dlg)
public:
Bit_rate_Dlg(CWnd* pParent = NULL); // standard constructor
virtual ~Bit_rate_Dlg();
// Dialog Data
enum { IDD = IDD_DIALOG1 };
protected:
virtualvoid DoDataExchange(CDataExchange* pDX); // DDX/DDV support
DECLARE_MESSAGE_MAP()
public:
int set_smplPerScnd;
int set_bitRate;
int set_nChannls;

afx_msg void OnBnClickedRadioMono();
afx_msg void OnBnClickedRadioStro();
afx_msg void OnBnClickedOk();
afx_msg void OnBnClickedRadio8bit();
afx_msg void OnBnClickedRadio16bit();
afx_msg void OnBnClickedRadio8khz();
afx_msg void OnBnClickedRadio11khz();
afx_msg void OnBnClickedRadio22khz();
afx_msg void OnBnClickedRadio44khz();
};




این هم استفاده از دیالوگ در یک تابع در کلاس Doc.cpp :




void Ctest_proj_MFCDoc::OnToolsSetbitrate()
{
Bit_rate_Dlg *pDlg=new Bit_rate_Dlg;

if(pDlg->DoModal() != IDOK)
return;
if (pDlg->DoModal()==IDOK)
{
Bit_rate_Dlg instance;
if (instance.set_nChannls=1)
sound.Waveform.nChannels=1;
else sound.Waveform.nChannels=2;
if (instance.set_bitRate=1)
sound.Waveform.wBitsPerSample=8;
else
sound.Waveform.wBitsPerSample=16;
if (instance.set_smplPerScnd=1)
sound.Waveform.nSamplesPerSec=8000;
elseif (instance.set_smplPerScnd=2)
sound.Waveform.nSamplesPerSec=11025;
elseif (instance.set_smplPerScnd=3)
sound.Waveform.nSamplesPerSec=22050;
else
sound.Waveform.nSamplesPerSec=44100;
}
// TODO: Add your command handler code here
}

WERWER
پنج شنبه 30 آذر 1391, 17:28 عصر
این مشکل خیلی وقتها پیش میاد کافیه که #include "resource.h" را به اول فایلتون اضافه کنید