まさしです。
In [mfc 15711] Re: コントロール IDについて
はっちゃん <w...@ml.acty-net.ne.jp> Wrote:
私>Cxxx::DoDataExchange(CDataExchange* pDX)
私>{
私> DDX_Control(pDX, IDC_EDIT1, m_Edit[0]);
私> DDX_Control(pDX, IDC_EDIT2, m_Edit[1]);
私>
私>とかのほうがいいかと。
>
> CDialog::DoDataExchange(pDX);
> //{{AFX_DATA_MAP(CIpmini02Dlg)
> DDX_Control(pDX, IDC_ST_TXT1, hdlStT[0]);
> //}}AFX_DATA_MAP
>
> こうすると parsing errorというのが起きて、
> ) が必要ですとなります。
何故、そして何のエラーなのかはわかりませんが、参考までに実際にテストして
みたものを次に記載します。
class CDlg1 : public CDialog
{
// コンストラクション
public:
CDlg1(CWnd* pParent = NULL); // 標準のコンストラクタ
// ダイアログ データ
//{{AFX_DATA(CDlg1)
enum { IDD = IDD_DIALOG1 };
//}}AFX_DATA
CEdit m_Edit[2];
// オーバーライド
... 以下略 ...
---
void CDlg1::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDlg1)
//}}AFX_DATA_MAP
DDX_Control(pDX, IDC_EDIT1, m_Edit[0]);
DDX_Control(pDX, IDC_EDIT1, m_Edit[1]);
}
蛇足ですが、現在、VC の Class Wizard で認識できる形式ではないと思われるの
で、コメント AFX_... の外に記述したほうが無難かと思います。
> 大井さんの方法で
> IDC_EDIT1=1501
> というようなコードはどこに入れるのでしょうか?
ついでなんで回答しますが、
すでに IDC_* を作成済みであれば、resouce.h を直接編集するのが早いと思いま
す。
もしくは、VC でリソースを編集する時に、Edit Control 等、各々のプロパティ
を見ると 「ID : [IDC_EDIT1 ] 」とかになっていると思いますが、ここで
「ID : [IDC_EDIT1=1501 ] 」とすると、指定の ID 値を使用してくれます。
結果の確認は、メニューより「表示(V)」->「シンボルブラウザ(Y)...」でどうぞ。
ではでは。
In [mfc 15711] Re: コントロール IDについて
はっちゃん <w...@ml.acty-net.ne.jp> Wrote:
私>Cxxx::DoDataExchange(CDataExchange* pDX)
私>{
私> DDX_Control(pDX, IDC_EDIT1, m_Edit[0]);
私> DDX_Control(pDX, IDC_EDIT2, m_Edit[1]);
私>
私>とかのほうがいいかと。
>
> CDialog::DoDataExchange(pDX);
> //{{AFX_DATA_MAP(CIpmini02Dlg)
> DDX_Control(pDX, IDC_ST_TXT1, hdlStT[0]);
> //}}AFX_DATA_MAP
>
> こうすると parsing errorというのが起きて、
> ) が必要ですとなります。
何故、そして何のエラーなのかはわかりませんが、参考までに実際にテストして
みたものを次に記載します。
class CDlg1 : public CDialog
{
// コンストラクション
public:
CDlg1(CWnd* pParent = NULL); // 標準のコンストラクタ
// ダイアログ データ
//{{AFX_DATA(CDlg1)
enum { IDD = IDD_DIALOG1 };
//}}AFX_DATA
CEdit m_Edit[2];
// オーバーライド
... 以下略 ...
---
void CDlg1::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDlg1)
//}}AFX_DATA_MAP
DDX_Control(pDX, IDC_EDIT1, m_Edit[0]);
DDX_Control(pDX, IDC_EDIT1, m_Edit[1]);
}
蛇足ですが、現在、VC の Class Wizard で認識できる形式ではないと思われるの
で、コメント AFX_... の外に記述したほうが無難かと思います。
> 大井さんの方法で
> IDC_EDIT1=1501
> というようなコードはどこに入れるのでしょうか?
ついでなんで回答しますが、
すでに IDC_* を作成済みであれば、resouce.h を直接編集するのが早いと思いま
す。
もしくは、VC でリソースを編集する時に、Edit Control 等、各々のプロパティ
を見ると 「ID : [IDC_EDIT1 ] 」とかになっていると思いますが、ここで
「ID : [IDC_EDIT1=1501 ] 」とすると、指定の ID 値を使用してくれます。
結果の確認は、メニューより「表示(V)」->「シンボルブラウザ(Y)...」でどうぞ。
ではでは。