★初心者にVisual C++を教えるスレ★ Part4
■ このスレッドは過去ログ倉庫に格納されています
0001よろ♪
NGNG前スレ
★初心者にVisual C++を教えるスレ★ Part3
http://pc2.2ch.net/test/read.cgi/tech/1038160750/l50
★初心者にVisual C++を教えるスレ★
http://pc3.2ch.net/test/read.cgi/tech/1023530449/l50
関連スレ
■ VisualC++(MFC限定)相談室 5■
http://pc3.2ch.net/test/read.cgi/tech/1028553308/l50
Win32API 質問箱 Build7
http://pc3.2ch.net/test/read.cgi/tech/1036654893/l50
0002デフォルトの名無しさん
NGNGめちゃ初歩的な質問です。
ダイアログベースで作成しているのですが、
OKボタン、CANCELボタンを無効にして新しいボタンを2つ作成し、
そのボタンにOK、CANCELボタンの役割を持たせるように
プログラムしました。
その後、エディットボックスを追加したのですが、
IDCが追加されず、2つのボタンだけのIDCだけが表示されます。
どうやったらエディットボックスのIDCを追加することができますか?
0003前スレ990
NGNG無理ってことですか?
どうやってメンバ変数を作成できますか?
0004よろ♪
NGNGおつ
0005デフォルトの名無しさん
NGNGリソースエディタでエディットボックスを追加したら、
クラスウイザードでもIDC_EDIT1が選択できるように
なりましたが、そちらではなりませんか?
0006デフォルトの名無しさん
NGNGなりません。
0007前スレ990
NGNGすみません、リソースエディタとはどこのことを指しておりますか?
よくわからなくて申し訳ないです。
ソースに直接書いているのですか?
0008デフォルトの名無しさん
NGNGありえないとは思いますが、
クラスウイザードではC***Dlg というダイアログクラスの
派生クラスを選択してますよね?
0009デフォルトの名無しさん
NGNG左側のリソースビュー
--> Dialog
--> IDD_TEST_DIALOG
をダブルクリックすると表示されるエディタです。
これ使ってないんですか?
0010前スレ990
NGNGその通りです。
デフォルトで作成されたものです。
クラスは一切追加しておりません。
0011前スレ990
NGNGダブルクリックをしても何も動作しないのですが、
なにか設定がいりますか?
0012デフォルトの名無しさん
NGNG0013デフォルトの名無しさん
NGNGどうやってボタン追加したんですか?
CButtonクラスでも使って手作業で追加したの?
0014547
NGNGd:\tomoki\c言語\新しいフォルダ (3)\yakyu.c(96) : warning C4700: 値が割り当てられていないローカルな変数 'anserA1' に対して参照が行われました。
d:\tomoki\c言語\新しいフォルダ (3)\yakyu.c(102) : warning C4700: 値が割り当てられていないローカルな変数 'anserA2' に対して参照が行われました。
リンク中...
LIBCD.lib(crt0dat.obj) : error LNK2005: _exit はすでに yakyu.obj で定義されています
Debug/yakyu.exe : fatal error LNK1169: 1 つ以上の複数回定義されているシンボルが見つかりました
link.exe の実行エラー
0015デフォルトの名無しさん
NGNGプロジェクトは MFC AppWizard (exe) ですよね?
0016前スレ990
NGNGコントロールから追加しました。
手順としては、新規作成から、ダイアログベースを選択して作成。
OK、キャンセルボタンを一旦削除して、ボタンを2つコントロールから追加。
その後、エディットボックスを追加です。
エディットボックスのプロパティでは、IDC_EDIT1は表示されますが、
クラスウィザードでは、表示されないのです。
0017前スレ990
NGNGその通りです。
0019デフォルトの名無しさん
NGNGIDC_BUTTON1 はクラスウイザードで
選択できたの?
0021547
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/1042640474/547-
0022デフォルトの名無しさん
NGNGそれとおなじことやリマシタが、表示されました。
つわけで、やりなおせ。
0023デフォルトの名無しさん
NGNG一旦削除して再度追加しても変わらない?
0025デフォルトの名無しさん
NGNGvc++.netなんで・・・
netだと、ダイヤログベースでプロジェクトで立ち上げると
まず、リソースエディタの画面になるので、VC6は知りません。
VC6でも、リソースヴューのとこでdailogフォルダに対して
dialogの挿入すればリソースエディタ画面になるのじゃないんですか?
0026デフォルトの名無しさん
NGNG前スレミロ
0027デフォルトの名無しさん
NGNG解決かよ・・・
なら、質問
XPでVC++.NETでコーディングしてると
たまに、落ちやがる
ビルドとかの最中じゃなくて、単にコードを手打ちしてるときに・・・
回避策教えてくれ・・・
0028デフォルトの名無しさん
NGNGOSクリーンインストール+VC++.NET再インストール
0029デフォルトの名無しさん
NGNGやだ!!
XP再インスト→MSに電話
VC再インスト→地獄のように時間かかる
できるかそんなこと
0030デフォルトの名無しさん
NGNGVC++はもう卒業しようよ。 十分苦しんだだろ?
.NetがいやならDelphiでいいじゃないか。
0031デフォルトの名無しさん
NGNG>MSに電話
確かにそれやだな。
やっぱ2000にした方がいいんでないか?
0032デフォルトの名無しさん
NGNGVC++6.0でも同じでっせ。
ダイアログベースプロジェクトなら最初に
リソースエディタがでますよ。
0033デフォルトの名無しさん
NGNGCBitmap newBitmap;
newBitmap.LoadBitmap(IDB_IMG);
をこんな感じにしたいのです。
for(count=0; count<10; count++)
{
char filename[256];
CBitmap newBitmap[10];
ssprintf(filename,"%s%d.%s","temp",count,"bmp"); // "temp0~10.bmp"にしたい
newBitmap.LoadBitmap(filename);
}
何かいい方法はないでしょうか?
003433
NGNG質問内容はビットマップの情報を2次元配列にうまく格納できないことです。
やったのは、320×240のビットマップを読みこみ、GetPixcelで1ピクセルごとにRGBを取得。
それらをint型の配列gazou[320][240]に
for(i=0; i<240; i++){
for(j=0; j<320; j++){
if(r==255 && g==0 && b==0){ gazou[i][j]=1; continue; }
else if(r==0 && g==255 && b==0){ gazou[i][j]=2; continue; }
else if(r==0 && g==0 && b==255){ gazou[i][j]=3; continue; }
}
}
として格納したのですが、これらの配列にちゃんと値が入っているかを確認するために、テストプログラムを組んだのですが
x=y=0;
for(i=0; i<240; i++){
for(j=0; j<320; j++){
if(gazou[i][j]==1){ pDC->SetPixcel(x+j,y+i,RGB(255,0,0)); continue; }
else if(gazou[i][j]==2){ pDC->SetPixcel(x+j,y+i,RGB(0,255,0)); continue; }
else if(gazou[i][j]==3){ pDC->SetPixcel(x+j,y+i,RGB(0,0,255)); continue; }
}
}
としたのに、表示された画像は元の画像と同じように表示されないのです。何故か画像の右半分が表示されず、その部分には左半分のが繰り返し表示されてます…
すいませんが、この問題についても解決策をお願いします…
003533
NGNGgazou[320][240]でなくgazou[240][320]でした…
0036名無し@沢村
NGNGLoadImage()だ。
DirectX SDKを導入して、一応組めるようにはなったんですけど
DirectXの関数若しくは、構造体等を書いた時に表示される
入力補助機能(というのでしょうか?)を出すようにするには
どうすれば良いのでしょうか?
003833
NGNGサンクスです!
ところで2次元配列でgazou[1000][1000]って書くのってメモリ的にやばい気がするんだけど、みなさんはどう思われますか
また大量の配列を確保するとき、どうすればいいのか教えてもらえませんか?
0039デフォルトの名無しさん
NGNGでもっといろんな事勉強したいのですが何をしたらいいのか解かりません。
助けてください。
あとオススメの参考書かなんかあったら教えてください。
0040デフォルトの名無しさん
NGNGクラスとかやったの?
0041デフォルトの名無しさん
NGNG基本をやってればプログラム組めるだろ!
0042デフォルトの名無しさん
NGNGでも、初めてMFCとかやると面食らう
SDKでも面食らう
WINアプリ設計の面倒さを割り切れるようにならないと
何していいかわかんないというのはわかる気がする
004339
NGNGこれからやるのがよかですか?
>>41
いや、どんなプログラムを組んだらいいのかさっぱりなんです。
0044デフォルトの名無しさん
NGNG// エラー
UINT j = DT_TABSTOP | 0x00002F00;
DrawText(hdc, str, -1, &rect, j);
d:\temp\winapitest001\winapitest001.cpp(92) : error C2360: 'j' の初期化が 'case' ラベルによって行われませんでした。
d:\temp\winapitest001\winapitest001.cpp(85) : 'j' の宣言を確認してください。
//これだとOK
UINT j;
j = DT_TABSTOP | 0x00002F00;
DrawText(hdc, str, -1, &rect, j);
どうして前者だとエラーになるのでしょう?
文法的には問題なさそうなんですが。
0045デフォルトの名無しさん
NGNGVCはMSが用意したクラスにつぎたして
コードを書いてく、代物なんで、クラスはVCの基本すぎる基本だと
VCにしろ、なんにしろ、まずはHelloWorldを表示するのから
はじめては・・・
VCではウィンドウにHelloWorld表示するのもえらく難儀やけど・・・
なんとかハンドラがどうのこうのと
わけわかりません・・・
0046デフォルトの名無しさん
NGNGMFCではそんなに面食らわないだろ。
簡単なアプリなんとなく出来ちゃうじゃん。
0047デフォルトの名無しさん
NGNGMFCどこにコードを入れていけばいいのか
初心者にはサパーーーーーリ
です・・・・
0048デフォルトの名無しさん
NGNG0049デフォルトの名無しさん
NGNG逆にMFCは面食らうと思う
何も考えないでウイザードで
適当にプログラム作って遊ぶとよいよ
0050デフォルトの名無しさん
NGNGMFCで面食らってまつ。
なんかおすすめの書籍とかないでつか?スレ違い?
0051デフォルトの名無しさん
NGNG推薦図書/必読書のためのスレッド PART 8
http://pc2.2ch.net/test/read.cgi/tech/1041595397/
0052デフォルトの名無しさん
NGNGC++の知識は一通りあるんですか?
0053デフォルトの名無しさん
NGNG「Windowsプログラミングの基礎知識」 柏原正三 アスキー
本当に基礎の基礎なんだけど、MSDNで自習できる
程度にはなります。
0054デフォルトの名無しさん
NGNGいろんなところでHello World
http://www-kobayashi.ctrl.titech.ac.jp/~mtanaka/vc/
0057デフォルトの名無しさん
NGNGネタとわかっていてマジレスしてやったんだよ。
0058デフォルトの名無しさん
NGNGA. 独習C++ 第3版
Herbert Schildt 著
神林靖 監修
翔泳社
http://www.shoeisha.com/book/Detail.asp?bid=1460
B. 標準C++の基礎知識
柏原正三 著
アスキー
http://www.ascii.co.jp/books/detail/4-7561/4-7561-3121-2.html
C. 標準C++の基礎知識 実践編
柏原正三 著
アスキー
http://www.ascii.co.jp/books/detail/4-7561/4-7561-3563-3.html
(2) Windows API (非MFC)の学習に。
D. Windowsプログラミング標準講座(Windows95/98/NT/2000対応)
Herbert Schildt 著
山本信雄 監修
山本信雄 訳
翔泳社
http://www.shoeisha.com/book/Detail.asp?bid=41
0059デフォルトの名無しさん
NGNGE. プログラミングWindows 第5版(上)(下)
Charls Petzold 著
株式会社ロングテール 長尾高弘 訳
アスキー
http://www.ascii.co.jp/books/detail/4-7561/4-7561-3600-1.html
http://www.ascii.co.jp/books/detail/4-7561/4-7561-3601-X.html
(3) MFCプログラミングの学習に。
F. Windowsプログラミングの基礎知識
柏原正三 著
アスキー
http://www.ascii.co.jp/books/detail/4-7561/4-7561-3252-9.html
0060デフォルトの名無しさん
NGNGこの辺が自分が学習に使った本で、この板でも
わりと評価の高い本です。
あ、
「憂鬱なプログラマのためのオブジェクト指向開発講座」
著者: Tucker!
出版社: 翔泳社
ISBN: 4-88135-619-4
C++をやるなら、これも1冊読んでおいたほうがいいと思います。
0061デフォルトの名無しさん
NGNG順番としては
A -> 「憂鬱」 -> B -> C -> D -> F -> E
が良いんじゃないかと個人的には思います。
これでも例外処理とかSTLプログラミングが弱いので、
漏れ自身はその辺をカバーしている本を読まなくちゃと
思っているのですが。(Exceptional C++を注文中)
006250
NGNGわしは、TURBO-Cデビューなんだが、昔は付属の立派なマニュアル
ユーザーズガイド671ページ
リファレンスガイド823ページ
と入門書3冊程度で、入門段階はクリア出来たような記憶があるよ。
脳みそ柔らかくするのがたいへんそうでつ。冬の夜。30歳。
0063デフォルトの名無しさん
NGNG0064デフォルトの名無しさん
NGNGCの時代から考えると、Windows自体のファンクションコールの数も
然ることながら、オブジェクト指向、Genericプログラミングなどの
新しい概念が次々と出てきましたからねぇ。C++のライブラリやMFC
などは、これらの概念を元に作成されているんで、なかなか敷居が
高いですね。
0065デフォルトの名無しさん
NGNGなんでMSDNはちょっと突っ込んだ記事を調べようとすると
英語ドキュメントしかないんだろう・・・。(-_-)
0066デフォルトの名無しさん
NGNG0067デフォルトの名無しさん
NGNG0068デフォルトの名無しさん
NGNGどうやって直したらいいんでしょ?
0069デフォルトの名無しさん
NGNG0070デフォルトの名無しさん
NGNG0071デフォルトの名無しさん
NGNG0072デフォルトの名無しさん
NGNG0073super(novice)
NGNG0074デフォルトの名無しさん
NGNGそれくら検索しような。
ttp://www.google.com/search?q=%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9+%E8%83%8C%E6%99%AF%E8%89%B2+%E5%A4%89%E6%9B%B4
0075デフォルトの名無しさん
NGNGエンコードの切り替えがMSDNのメニューにないんですが。
0076デフォルトの名無しさん
NGNGすいません許してください
0077デフォルトの名無しさん
NGNG前スレで質問させてもらったのですが、
流されてしまったのでもう一度書かせてください。
最近VisualStudio.Netを買って
VisualC++の勉強をはじめました。
シリアルポートを使った通信プログラムを作るのが目的です。
GUIの作り方とかファイルの入出力とかは参考書などによく載っているので、
それを読みながらなんとか進めているのですが、
シリアル通信については言及している本も見つからないし
ヘルプを見ても良く分からないしで困っております。
シリアル通信はどのように実現すればよいのでしょうか。
関数というかコマンドのようなものが用意されているのでしょうか。
0078デフォルトの名無しさん
NGNGMSDNの、
Platform SDK
-> Windows Base Service
-> Files and I/O
-> Communication
はどうですか?
hCom = CreateFile( "COM1",
GENERIC_READ | GENERIC_WRITE,
0, // exclusive access
NULL, // no security attributes
OPEN_EXISTING,
FILE_FLAG_OVERLAPPED,
NULL
);
サンプルにこんなのが載ってる。
日本語ドキュメント欲しいですねぇ。誰かPlatform SDKの全訳
プロジェクトやらんですか?
0079デフォルトの名無しさん
NGNGCreateFile()とかで"COM1"を開けば?
あとは SetCommState() WriteFile() ReadFile() あたりか。
0080デフォルトの名無しさん
NGNG0081デフォルトの名無しさん
NGNGページを右クリックして 「プロパティ」 出して、表示されたアドレスを
コピペで IE に貼り付けろ。
後は煮るなり焼くなり。
0082デフォルトの名無しさん
NGNGなるほど。今度遭遇したら、それでやってみまふ。
0084デフォルトの名無しさん
NGNG> シリアル通信については言及している本も見つからないし
ピアソンの「Win32システムサービスプログラミング」
0085デフォルトの名無しさん
NGNGhttp://www-kobayashi.ctrl.titech.ac.jp/~mtanaka/vc/A/3-i.html
008677
NGNG本屋に行ったりネットで調べたりしても全然分からなかったのに
(ただ単に調べ方が悪いのですが)
あっという間にこんなに回答をいただけて
ちょっと驚いているというか感動しています。
>>78
>>79
ありがとうございます。
ヘルプの検索において「hcom」で検索したらそのサンプルを見られたのですが、
目次からだと「Platform SDK」がどこにあるのか分かりませんでした。
「MSDNライブラリ」の下にあるんですよね?
今後の参考のために教えてください。
>>83
早速メンバー登録してみました。
いくつかファイルも落としました。
参考にさせていただきます。
ありがとうございます。
008777
NGNGなるほど。
私は「シリアル通信」という言葉がタイトルに入った本を探してしまっていました。
考えてみればハードウェア的なことを抜きにしたら
シリアル通信だけで一冊の本にはならないですよね。
馬鹿でした。勉強させてもらいます。
>>85
ああ、唯一の日本語だ。
やはり、CreateFileやReadFileなんかを使って行うわけですね。
道筋が見えてきた気がします。
ちょっと何か調べようとすると
すぐ英語にぶち当たってしまうんですよね。
私は英語が苦手なんでそのたびにくじけそうになってしまいます。
でもそんなことも言っていられないですね。
0088デフォルトの名無しさん
NGNGLIBCD.lib(crt0.obj) : error LNK2001: 外部シンボル "_main" は未解決です
Debug/gagaga.exe : fatal error LNK1120: 外部参照 1 が未解決です。
link.exe の実行エラー
というエラーが出てしまいます。誰かアドバイスを。。。
0089デフォルトの名無しさん
NGNG0090デフォルトの名無しさん
NGNGmainがない。
0091デフォルトの名無しさん
NGNG0092デフォルトの名無しさん
NGNG0093デフォルトの名無しさん
NGNGそりゃ動くだろ!VC++だからな。
0094デフォルトの名無しさん
NGNG2つのエディットボックスに数字を入力してボタンを押すと、
それらを計算(加減乗除)して出力するプログラムを作成していますが、
ボタンを押しても2つの数字が読み込めません。
今のところ以下のように書いています。
void CGUItestDlg::OnButton1()
{
double answer;
answer=keisan.calc(m_num1,m_num2,0);
}
m_num1、m_num2はClassWizardのメンバ変数の追加で、
カテゴリは「値」、変数のタイプは「double」としました。
どのようにすればよいのか教えてください。
0095デフォルトの名無しさん
NGNGUpdateData(TRUE)
0096デフォルトの名無しさん
NGNG動くんですね! これで安心して買えます!
ありがとうございました!!
0097デフォルトの名無しさん
NGNG0098デフォルトの名無しさん
NGNGどっかの宿題なのだろうか。
009994
NGNGできました。ありがとう。
0100デフォルトの名無しさん
NGNGStaticコントロールを二つ付けていますが、どちらか一方だけの
色を白にしたいんですが、上手くいきません。
以下に示したものでは二つとも白になってしまいます。
何方かご教授お願いいたします。
HBRUSH CTESTDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// スタティック用のブラシを作成
CBrush myStatic;
myStatic.CreateSolidBrush(0xFFFFFF);
//文字の背景色を設定
pDC->SetBkColor(0xFFFFFF);
if(nCtlColor==CTLCOLOR_STATIC){ // スタティックコントロールの場合
return myStatic; // myStaticはあらかじめ作成されたCBrushオブジェクト
}
return hbr;
}
0101デフォルトの名無しさん
NGNGダイアログ上のEdit領域で文字入力中にTABキーを押すと、フォーカスが次のボタン等に移ってしまうのですが、フォーカスを移動させずにTABをEdit領域に入力することって出来るのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています