
始めまして,
少し古いですがC++6.0を使用しております。
ある2つの機器をC++で動かそうと思っており,それぞれのサンプルブログラムを眺めておりました。
(それぞれのサンプルプログラムには各ダイアログが用意されており,実行することで使用できております。)
そのなかで,微妙に違うところがあり調べていたのですが,どうしても分からないので,教えてください。
1つのサンプルブログラムには
[code] #define _APS_NEXT_CONTROL_VALUE 1029[/code]
もう1つのサンプルブログラムには
[code] #define _APS_NEXT_CONTROL_VALUE 1028[/code]
とあります。
[code] #define _APS_NEXT_CONTROL_VALUE[/code]
を調べてみると
「次のコントロールに割り当てられるID」
と記されておりました。
と言うことは,付けられた番号がそれぞれの機械を動かすためのIDと考えました。
そこで,
もし2つの機械を1つのコード(ダイアログ)でコントロールをする場合,
resource.hの中に
[code] #define _APS_NEXT_CONTROL_VALUE 1029[/code]
[code] #define _APS_NEXT_CONTROL_VALUE 1028[/code]
を共存させても良いのでしょうか?
命令が同じだけにどうすればよいのでしょうか?
お教えください。よろしくお願い申し上げます。
No.1ベストアンサー
- 回答日時:
>付けられた番号がそれぞれの機械を動かすためのIDと考えました。
そうですね。例えばダイアログ上のボタン等のはずです。
>命令が同じだけにどうすればよいのでしょうか?
「命令が同じ」って処が良く判りませんが、
2つの機械を1つのダイアログでコントロールする為に、例えば2つのボタンを配置するのならば、それぞれのボタンのIDは異なります。
>[code] #define _APS_NEXT_CONTROL_VALUE 1029[/code]
>[code] #define _APS_NEXT_CONTROL_VALUE 1028[/code]
>を共存させても良いのでしょうか?
それは(多分)マズイです。1つのダイアログ(のリソース定義)に付き1行だけです。
2つの機械の使い分け方法が不明なので具体的には???です。
お返事ありがとうございました。
2つの機械というのは大本の機械は1つだけなのですが,そこから2つの接続があります。Aの機械はインプット専用。Bの機械はアウトプット専用になります。大本の機械に対してAラインとBラインが別々になっております。1つのそふとでAラインとBラインを統括して動かしたいので,今回VC++6.0を使用して動かそうと思っております。
説明があまり得意ではないので逆にややこしくしているかもしれません。
申し訳ありません。
No.4
- 回答日時:
正しい C や C++ のプリプロセッサなら, 同じマクロ名に対して異なる内容で #define しようとするとエラーになる. だから, 不安なときには「#define されていたら #undef したのち改めて #define」という手順をふむことになる.
逆にいうと「同じ内容なら複数回 #define しても問題ない」ので, 例えば
#define hoge hoge
#define hoge hoge
#define hoge hoge
なら大丈夫だ.
ところで「C++6.0」ってなんだろう....
お返事ありがとうございました。C++6.0というのはVisual C++6.0とかなり古いソフトのことです。
記載が不十分で申し訳ありませんでした。
No.2
- 回答日時:
>resource.hの中に
>#define _APS_NEXT_CONTROL_VALUE 1029
>#define _APS_NEXT_CONTROL_VALUE 1028
>を共存させても良いのでしょうか?
二重定義で普通にコンパイルエラーでしょう。
リソースエディタでコントロールを追加するときに割り振るコントロールIDの予約。みたいなモノです。
んで、何も考えずにニコイチすると、同じコントロールIDで別のコントロールが混在したりしませんかね?
ダイアログのIDがぶつかっていなければ、コントロールIDは被っていても大丈夫だったと思いますけど。
Teratailの方、放置しないでくださいね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コントロールの書式設定で、“コ...
-
エクセルのコントロールツール...
-
連続で印刷すると画像が更新さ...
-
CPropertySheetのタブオーダー...
-
ダイアログのスクロールバー
-
hScrollBarのバックカラーを変...
-
コモンダイアログコントロール...
-
スクロールバーを点滅させない方法
-
TabControlとToolBarの背景色変更
-
CreateWindowでSTATICコントロ...
-
DateTimePickerでに年月までし...
-
ウィンドウやボタンコントロー...
-
スピンボタンを右クリックして...
-
Excel VBAでのMultipageの選択
-
「アイテムは収集されました」...
-
エクセルで作った新しいウイン...
-
皆さん、おはようございます♪ ...
-
グラフの交点の求め方(Excel)
-
【VB2008】 マウス操作の一時的...
-
word
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コントロールの書式設定で、“コ...
-
エクセルのコントロールツール...
-
スピンボタンを右クリックして...
-
ActiveXコントロールを.NETにイ...
-
DateTimePickerでに年月までし...
-
フォームでPDFを表示させた...
-
コモンダイアログコントロール...
-
CEdit の内容が変わった時にメ...
-
エクセル - リストボックスのマ...
-
regsvr32でActiveX登録を行ったocx
-
アイテムを点滅させる
-
プロパティシートのタブの名前...
-
警告表示を非表示にしたい
-
TabControlとToolBarの背景色変更
-
EXCELVBA リストボックスで選択...
-
空のリストビューで1行おきに...
-
C#.NETでのCOMコンポーネント作...
-
スクロールバーを点滅させない方法
-
連続で印刷すると画像が更新さ...
-
Accessのタブコントロールを2...
おすすめ情報