
C++初心者です。
ご教授よろしくお願いします。
Visual Basic C++ において、
label,button などのプロパティ設定を行う際、
this->label3->Name = L"label3"
といった固定値での設定ではなく、変数で設定を行いたいと考えています。
イメージはこのような感じです。
this->label$i->Name = L"label$i"
最終的には、for文で回して、以下のような設定をしたいと考えています。
for(i=1;i<=3;i++){
this->label$i->Name = L"label$i";
}
おおよそ以上のようなことをしたいのですが、
実際にどういったコードを記述すればよいかわかりません。
どなたかご教授よろしくお願いします。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
No1 です
他の方の回答通知が来て改めて内容見たときに気が付いたのですが
代入するコントロールの方も違ってたのね 見落としてました
クラスウイザードの標準操作ではメンバ変数に配列を使うことはできないはずなので
自分で手を加えて細工することになります
手っ取り早くやるならそのコントロールを
ポインタ等の配列に代入して使うのがいいでしょう
以下 不足してた部分の雑なサンプル
Labei *LabekPtr[3]; //変数の型は 実際のコントロールのものに合わせてください
LabekPtr[0] = this->labe1;
LabekPtr[1] = this->labe2;
LabekPtr[2] = this->labe3;
for(int i = 0; i < 3 ; i ++) {
LabekPtr[i]->Name =
}
No.3
- 回答日時:
> Visual Basic C++ において、
なるほど(w)ネタです。
私のほうが、VC++ではなく、C++のプログラマなので、多少用語が違うのは気にせず~
this->label3->Name = L"label3"
"Name"は実体を持っているワークでしょうか?それで多少変わる感じがありますね。
上の書き方は、Nameはポインター型で(const char *)"label3";
的な書式なので、
だとすれば、、
No1さんのやつが、一番近いですね。
元の、プロトタイプを
this->label1
this->label2
this->label3
ではなく、
this->label[n] で定義すれば、相当楽になると思いますよ。
char buffer[100];
for(i=1;i<=3;i++) {
sprintf(buffer,"label%d",i);
this->label[i].Name = strdup(buffer); // 実体の場合
this->label[i]->Name = strdup(buffer); // 参照構造体の場合
}
strdupは、
char *p;
p=malloc(strlen(buffer)+1); // \0 の分を追加。
strcpy(p,buffer);
return(p);
と等価の関数です。
実体を生成させるために書いています。
これがないと、初期化されていないポインターへの直コピー=一般保護例外が出るはずです。
No.2
- 回答日時:
this->label1->Name = L"label1"
this->label2->Name = L"label2"
this->label3->Name = L"label3"
ということですよね。
基本、C言語では(スクリプト言語で採用されているような) label$i とか L"label$i" で変数iを展開する、といったことはできない、とお考えください。
(そもそも、$変数名 などという使い方自体しません)
・文字列はsprintf等の文字列変換関数を使って作る
・コントロールは、配列に入れて labels[i]等とする
No.1
- 回答日時:
一例として
確認してないんで間違ってるかも(流れはわかると思います)
TCHAR buffrt[100];
for(i=1;i<=3;i++){
sprintf(buffer, L"Labev%d", i);
this->label$i->Name = buffer; //個人的には SetWindowText 使う気がするけど
}
みたいな感じでいいかと
SetWindowText
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) seleniumbasic chrome操作について 1 2023/03/29 15:40
- JavaScript javascriptで移動ボタンを押した際に遷移するボタンを追記したい 1 2022/11/29 03:02
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- プリンタ・スキャナー テプラ(PCからプリント)で先端に余白を作りたい 2 2023/03/21 13:38
- PHP PHP MySQLに画像を直接保存 2 2022/06/05 11:50
- HTML・CSS CSS のみのタブ切り替えについて 1 2023/01/11 16:47
- PHP アップロードファイルの数に応じてCSSを動的に変更したいのですが、方法がわかりません 3 2023/07/23 21:59
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語 配列の長さの上限
-
C# Listを使わずに2次元配列の...
-
先頭アドレスとは何ですか?
-
配列で格納したものをmsgboxで...
-
c言語の __FILE__ について
-
テキストファイルから文字列を...
-
LGノートPCグラムについて
-
配列をEraseしてもメモリが開放...
-
C++ vectorに配列をプッシュしたい
-
C# 配列の変数宣言について。
-
COBOLのINITIALIZEにあたるもの
-
【Mathematica】 Protectされて...
-
Redimした動的配列はEraseする...
-
ポインタの配列のコンマについて
-
if文の判定条件に配列
-
複数の選択範囲の行番号を個別...
-
VB.netでRadioButtonを配列にし...
-
VBで構造体の配列を関数に渡す...
-
C言語 配列とポインタについて
-
配列を使わずに、変数名を動的...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語 配列の長さの上限
-
配列を使わずに、変数名を動的...
-
C# Listを使わずに2次元配列の...
-
【速いブラインドタッチ】手を...
-
配列をEraseしてもメモリが開放...
-
テキストファイルから文字列を...
-
先頭アドレスとは何ですか?
-
配列で格納したものをmsgboxで...
-
複数の選択範囲の行番号を個別...
-
C# 配列の変数宣言について。
-
C++ vectorに配列をプッシュしたい
-
配列を含む構造体の初期値について
-
VBで構造体の配列を関数に渡す...
-
C言語で特定列だけを抽出して配...
-
キーボードのキー配列について
-
ExcelVBAで質問です。離れた二...
-
2次元配列を戻り値とする関数?
-
unsigned char配列への入力の仕方
-
【C言語】配列の中に配列を入れ...
-
Redimした動的配列はEraseする...
おすすめ情報