関数内でのGetDlgItemの利用について – プログラミング – Home

関数内でのGetDlgItemの利用に...
 
通知
すべてクリア

[解決済] 関数内でのGetDlgItemの利用について


おっか
 おっか
(@おっか)
ゲスト
結合: 22年前
投稿: 34
Topic starter  

こんにちは、
おっかと申します下記の質問、
お手数ですがご回答宜しくお願いいたします。

開発環境は
Win2000, VC++6.0, MFC, SDI,MS SQL7.0の環境です。

関数を作成し、
その関数内で

CEdit* myED3=(CEdit*)GetDlgItem(IDC_EDIT3);
CEdit* myED4=(CEdit*)GetDlgItem(IDC_EDIT4);
CEdit* myED5=(CEdit*)GetDlgItem(IDC_EDIT5);

としたところ、関数が不正な1個の実引数を伴って呼び出されました
となってしまいます、どのように対処すればよろしいでしょうか。

ご教授お願いいたします。


引用未解決
トピックタグ
小悪魔恭子
 小悪魔恭子
(@小悪魔恭子)
ゲスト
結合: 22年前
投稿: 25
 

>CEdit* myED3=(CEdit*)GetDlgItem(IDC_EDIT3);
>CEdit* myED4=(CEdit*)GetDlgItem(IDC_EDIT4);
>CEdit* myED5=(CEdit*)GetDlgItem(IDC_EDIT5);
は、ダイアログクラスのメンバ関数内で呼び出してますか?


返信引用
sugar
 sugar
(@sugar)
ゲスト
結合: 24年前
投稿: 448
 

WindowsAPIとしてのGetDlgItem()と認識されてるようです。


返信引用
おっか
 おっか
(@おっか)
ゲスト
結合: 22年前
投稿: 34
Topic starter  

ダイアログクラスのメンバ関数内でなければ、
上記のような使用方法はできないのでしょうか。


返信引用
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 1301
 

マニュアルを読みましょう。

Windows-API:

HWND GetDlgItem(
HWND hDlg, // ダイアログボックスのハンドル
int nIDDlgItem // コントロールの識別子
);

が用意されています。


返信引用
小悪魔恭子
 小悪魔恭子
(@小悪魔恭子)
ゲスト
結合: 22年前
投稿: 25
 

>ダイアログクラスのメンバ関数内でなければ、
>上記のような使用方法はできないのでしょうか。

正確にはCWnd(および派生クラス)で
>CEdit* myED3=(CEdit*)GetDlgItem(IDC_EDIT3);
とコーディングすればGetDlgItemはCWnd::GetDlgItemと
解釈されますが、
他のクラスまたはグローバル関数でGetDlgItemと書くと
APIの::GetDlgItemと解釈されます。


返信引用
おっか
 おっか
(@おっか)
ゲスト
結合: 22年前
投稿: 34
Topic starter  

επιστημηさん、小悪魔恭子 さん
御足労をおかけいたしました。
解決いたしました。
有難うございました。


返信引用
小悪魔恭子
 小悪魔恭子
(@小悪魔恭子)
ゲスト
結合: 22年前
投稿: 25
 

あるいはダイアログのオブジェクトが参照できるなら
CEdit* myED3=(CEdit*)dialog.GetDlgItem(IDC_EDIT3);
とか・・・


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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