トップページ⇒tech
1001コメント284KB

★初心者にVisual C++を教えるスレ★ Part4

レス数が1000を超えています。これ以上書き込みはできません。
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
990 名前:デフォルトの名無しさん 投稿日:03/02/02 23:17
めちゃ初歩的な質問です。

ダイアログベースで作成しているのですが、
OKボタン、CANCELボタンを無効にして新しいボタンを2つ作成し、
そのボタンにOK、CANCELボタンの役割を持たせるように
プログラムしました。
その後、エディットボックスを追加したのですが、
IDCが追加されず、2つのボタンだけのIDCだけが表示されます。
どうやったらエディットボックスのIDCを追加することができますか?

0003前スレ990NGNG
>>994
無理ってことですか?
どうやってメンバ変数を作成できますか?
0004よろ♪NGNG
>>1
おつ
0005デフォルトの名無しさんNGNG
>>2
リソースエディタでエディットボックスを追加したら、
クラスウイザードでもIDC_EDIT1が選択できるように
なりましたが、そちらではなりませんか?

0006デフォルトの名無しさんNGNG
>>5
なりません。
0007前スレ990NGNG
>>5
すみません、リソースエディタとはどこのことを指しておりますか?
よくわからなくて申し訳ないです。
ソースに直接書いているのですか?
0008デフォルトの名無しさんNGNG
>>6
ありえないとは思いますが、
クラスウイザードではC***Dlg というダイアログクラスの
派生クラスを選択してますよね?
0009デフォルトの名無しさんNGNG
>>7
左側のリソースビュー
--> Dialog
--> IDD_TEST_DIALOG
をダブルクリックすると表示されるエディタです。

これ使ってないんですか?

0010前スレ990NGNG
>>8
その通りです。
デフォルトで作成されたものです。
クラスは一切追加しておりません。
0011前スレ990NGNG
>>9
ダブルクリックをしても何も動作しないのですが、
なにか設定がいりますか?
0012デフォルトの名無しさんNGNG
いいかげんあきらめれ。
0013デフォルトの名無しさんNGNG
>>11
どうやってボタン追加したんですか?
CButtonクラスでも使って手作業で追加したの?

0014547NGNG
yakyu.c
d:\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
>>11
プロジェクトは MFC AppWizard (exe) ですよね?
0016前スレ990NGNG
>>13
コントロールから追加しました。
手順としては、新規作成から、ダイアログベースを選択して作成。
OK、キャンセルボタンを一旦削除して、ボタンを2つコントロールから追加。
その後、エディットボックスを追加です。
エディットボックスのプロパティでは、IDC_EDIT1は表示されますが、
クラスウィザードでは、表示されないのです。
0017前スレ990NGNG
>>15
その通りです。
0018デフォルトの名無しさんNGNG
>>7
http://ebiuma.parfait.ne.jp/upuroda/img-box/img20030202235439.jpg
のことだと・・・
0019デフォルトの名無しさんNGNG
>>16
IDC_BUTTON1 はクラスウイザードで
選択できたの?
0020前スレ990NGNG
>>19
できました。
>>18
すみません。
OSは2000でVC++6.0ですが、同じですか?
0021547NGNG
こちらからきました。こたえてね。よろしく。
http://pc2.2ch.net/test/read.cgi/tech/1042640474/547-
0022デフォルトの名無しさんNGNG
>>16
それとおなじことやリマシタが、表示されました。
つわけで、やりなおせ。
0023デフォルトの名無しさんNGNG
>>20
一旦削除して再度追加しても変わらない?
0024前スレ990NGNG
>>22
>>23
一から作成し直しましたら
無事できました。

原因不明ですが、とりあえず解決しましたのでこのまま続けていきます。

皆様ありがとうございました。
0025デフォルトの名無しさんNGNG
>>20
vc++.netなんで・・・
netだと、ダイヤログベースでプロジェクトで立ち上げると
まず、リソースエディタの画面になるので、VC6は知りません。
VC6でも、リソースヴューのとこでdailogフォルダに対して
dialogの挿入すればリソースエディタ画面になるのじゃないんですか?
0026デフォルトの名無しさんNGNG
>>21
前スレミロ
0027デフォルトの名無しさんNGNG
なんだよ
解決かよ・・・
なら、質問
XPでVC++.NETでコーディングしてると
たまに、落ちやがる
ビルドとかの最中じゃなくて、単にコードを手打ちしてるときに・・・
回避策教えてくれ・・・
0028デフォルトの名無しさんNGNG
>>27
OSクリーンインストール+VC++.NET再インストール
0029デフォルトの名無しさんNGNG
>>28
やだ!!
XP再インスト→MSに電話
VC再インスト→地獄のように時間かかる
できるかそんなこと
0030デフォルトの名無しさんNGNG

 VC++はもう卒業しようよ。 十分苦しんだだろ?
 .NetがいやならDelphiでいいじゃないか。
0031デフォルトの名無しさんNGNG
>>29
>MSに電話
確かにそれやだな。
やっぱ2000にした方がいいんでないか?
0032デフォルトの名無しさんNGNG
>>25
VC++6.0でも同じでっせ。
ダイアログベースプロジェクトなら最初に
リソースエディタがでますよ。

0033デフォルトの名無しさんNGNG
すいません質問です。複数枚のビットマップファイルを連続して読みこむ方法ってありませんでしょうか?

CBitmap 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);
}

何かいい方法はないでしょうか?
003433NGNG
すいません もう一つビットマップ関連の質問で…
質問内容はビットマップの情報を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; }
}
}
としたのに、表示された画像は元の画像と同じように表示されないのです。何故か画像の右半分が表示されず、その部分には左半分のが繰り返し表示されてます…
すいませんが、この問題についても解決策をお願いします…
003533NGNG
すいません!!
gazou[320][240]でなくgazou[240][320]でした…
0036名無し@沢村NGNG
>>33
LoadImage()だ。
0037 NGNG
めっちゃくちゃ初心者な質問なんですが・・・

DirectX SDKを導入して、一応組めるようにはなったんですけど
DirectXの関数若しくは、構造体等を書いた時に表示される
入力補助機能(というのでしょうか?)を出すようにするには
どうすれば良いのでしょうか?
003833NGNG
>>36
 サンクスです!

ところで2次元配列でgazou[1000][1000]って書くのってメモリ的にやばい気がするんだけど、みなさんはどう思われますか
また大量の配列を確保するとき、どうすればいいのか教えてもらえませんか?
0039デフォルトの名無しさんNGNG
学校の授業で配列とか関数とか基本みたいなのはある程度学んだんですよ。
でもっといろんな事勉強したいのですが何をしたらいいのか解かりません。

助けてください。
あとオススメの参考書かなんかあったら教えてください。
0040デフォルトの名無しさんNGNG
>>39
クラスとかやったの?
0041デフォルトの名無しさんNGNG
>>39
基本をやってればプログラム組めるだろ!
0042デフォルトの名無しさんNGNG
>>41
でも、初めてMFCとかやると面食らう
SDKでも面食らう
WINアプリ設計の面倒さを割り切れるようにならないと
何していいかわかんないというのはわかる気がする
004339NGNG
クラスはやってません。
これからやるのがよかですか?

>>41
いや、どんなプログラムを組んだらいいのかさっぱりなんです。
0044デフォルトの名無しさんNGNG
switch文の中で、宣言して代入ってできないんでしょうか?

// エラー
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デフォルトの名無しさんNGNG
>>43
VCはMSが用意したクラスにつぎたして
コードを書いてく、代物なんで、クラスはVCの基本すぎる基本だと

VCにしろ、なんにしろ、まずはHelloWorldを表示するのから
はじめては・・・
VCではウィンドウにHelloWorld表示するのもえらく難儀やけど・・・
なんとかハンドラがどうのこうのと
わけわかりません・・・
0046デフォルトの名無しさんNGNG
>>42
MFCではそんなに面食らわないだろ。
簡単なアプリなんとなく出来ちゃうじゃん。
0047デフォルトの名無しさんNGNG
>>46
MFCどこにコードを入れていけばいいのか
初心者にはサパーーーーーリ
です・・・・
0048デフォルトの名無しさんNGNG
でるふぁいとか言う奴のほうが敷居は低いのかねえ・・・よう知らんけど。
0049デフォルトの名無しさんNGNG
Cとかでプログラムの経験があると
逆にMFCは面食らうと思う
何も考えないでウイザードで
適当にプログラム作って遊ぶとよいよ
0050デフォルトの名無しさんNGNG
わしCでは7〜8万行くらいDOSプログラミングしますた。
MFCで面食らってまつ。
なんかおすすめの書籍とかないでつか?スレ違い?
0051デフォルトの名無しさんNGNG
>>50
推薦図書/必読書のためのスレッド PART 8
http://pc2.2ch.net/test/read.cgi/tech/1041595397/
0052デフォルトの名無しさんNGNG
>>50
C++の知識は一通りあるんですか?
0053デフォルトの名無しさんNGNG
>>50
「Windowsプログラミングの基礎知識」 柏原正三 アスキー

本当に基礎の基礎なんだけど、MSDNで自習できる
程度にはなります。

0054デフォルトの名無しさんNGNG
習うより慣れよということで
いろんなところでHello World
http://www-kobayashi.ctrl.titech.ac.jp/~mtanaka/vc/
005550NGNG
ネタと思われるかとオモタが、みなさんありがとう。
ちなみにC++の知識は、ほとんど無いに等しいです。
>>53
明日買います。
>>54
今から見てきます。
005650NGNG
>>51
こっちも見てきます。
0057デフォルトの名無しさんNGNG
>>55
ネタとわかっていてマジレスしてやったんだよ。
0058デフォルトの名無しさんNGNG
(1) C++の学習に。

A. 独習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デフォルトの名無しさんNGNG

E. プログラミング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
>>58-59
この辺が自分が学習に使った本で、この板でも
わりと評価の高い本です。

あ、

「憂鬱なプログラマのためのオブジェクト指向開発講座」
著者: Tucker!
出版社: 翔泳社
ISBN: 4-88135-619-4

C++をやるなら、これも1冊読んでおいたほうがいいと思います。
0061デフォルトの名無しさんNGNG

順番としては
A -> 「憂鬱」 -> B -> C -> D -> F -> E
が良いんじゃないかと個人的には思います。

これでも例外処理とかSTLプログラミングが弱いので、
漏れ自身はその辺をカバーしている本を読まなくちゃと
思っているのですが。(Exceptional C++を注文中)

006250NGNG
マジかい!ってくらいお金かかりそうでつね。
わしは、TURBO-Cデビューなんだが、昔は付属の立派なマニュアル
ユーザーズガイド671ページ
リファレンスガイド823ページ
と入門書3冊程度で、入門段階はクリア出来たような記憶があるよ。
脳みそ柔らかくするのがたいへんそうでつ。冬の夜。30歳。
0063デフォルトの名無しさんNGNG
おまえら書籍スレに誘導されてるだろうに・・・
0064デフォルトの名無しさんNGNG
>>62
Cの時代から考えると、Windows自体のファンクションコールの数も
然ることながら、オブジェクト指向、Genericプログラミングなどの
新しい概念が次々と出てきましたからねぇ。C++のライブラリやMFC
などは、これらの概念を元に作成されているんで、なかなか敷居が
高いですね。
0065デフォルトの名無しさんNGNG

なんでMSDNはちょっと突っ込んだ記事を調べようとすると
英語ドキュメントしかないんだろう・・・。(-_-)

0066デフォルトの名無しさんNGNG
MSDNは使ってる内にサブタイがおかしくなるのはなぜだろう・・・。
0067デフォルトの名無しさんNGNG
俺はせめてリンク切れを無くして欲しい
0068デフォルトの名無しさんNGNG
リンク切れもイヤだけど、エンコードがおかしくなるページがあるんだけど、
どうやって直したらいいんでしょ?

0069デフォルトの名無しさんNGNG
エンコードはメニューにあるっしょ。つーかこれVCじゃなくてIEの使い方だな。
0070デフォルトの名無しさんNGNG
ダイアログでタブボタン押した時,移動する順番は変えられますか?
0071デフォルトの名無しさんNGNG
タブオーダーで変えられる。
0072デフォルトの名無しさんNGNG
ありがとうござい増した
0073super(novice)NGNG
ダイアログボックスの背景色を変更するにはどうすればいいのですか?
0074デフォルトの名無しさんNGNG
>>73
それくら検索しような。
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
>>69
エンコードの切り替えがMSDNのメニューにないんですが。
0076デフォルトの名無しさんNGNG
>>75
すいません許してください
0077デフォルトの名無しさんNGNG
すみません。
前スレで質問させてもらったのですが、
流されてしまったのでもう一度書かせてください。

最近VisualStudio.Netを買って
VisualC++の勉強をはじめました。
シリアルポートを使った通信プログラムを作るのが目的です。
GUIの作り方とかファイルの入出力とかは参考書などによく載っているので、
それを読みながらなんとか進めているのですが、
シリアル通信については言及している本も見つからないし
ヘルプを見ても良く分からないしで困っております。
シリアル通信はどのように実現すればよいのでしょうか。
関数というかコマンドのようなものが用意されているのでしょうか。
0078デフォルトの名無しさんNGNG
>>77
MSDNの、

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デフォルトの名無しさんNGNG
>>77
CreateFile()とかで"COM1"を開けば?
あとは SetCommState() WriteFile() ReadFile() あたりか。
0080デフォルトの名無しさんNGNG
被った(´Д`;
0081デフォルトの名無しさんNGNG
>>75
ページを右クリックして 「プロパティ」 出して、表示されたアドレスを
コピペで IE に貼り付けろ。
後は煮るなり焼くなり。
0082デフォルトの名無しさんNGNG
>>81
なるほど。今度遭遇したら、それでやってみまふ。

0083デフォルトの名無しさんNGNG
>>77
http://www.codeproject.com/system/#Hardware%20programming
0084デフォルトの名無しさんNGNG
>>77
> シリアル通信については言及している本も見つからないし

ピアソンの「Win32システムサービスプログラミング」
0085デフォルトの名無しさんNGNG
シリアル通信を介して Hello World
http://www-kobayashi.ctrl.titech.ac.jp/~mtanaka/vc/A/3-i.html
008677NGNG
みなさんありがとうございます。
本屋に行ったりネットで調べたりしても全然分からなかったのに
(ただ単に調べ方が悪いのですが)
あっという間にこんなに回答をいただけて
ちょっと驚いているというか感動しています。

>>78
>>79
ありがとうございます。
ヘルプの検索において「hcom」で検索したらそのサンプルを見られたのですが、
目次からだと「Platform SDK」がどこにあるのか分かりませんでした。
「MSDNライブラリ」の下にあるんですよね?
今後の参考のために教えてください。

>>83
早速メンバー登録してみました。
いくつかファイルも落としました。
参考にさせていただきます。
ありがとうございます。
008777NGNG
>>84
なるほど。
私は「シリアル通信」という言葉がタイトルに入った本を探してしまっていました。
考えてみればハードウェア的なことを抜きにしたら
シリアル通信だけで一冊の本にはならないですよね。
馬鹿でした。勉強させてもらいます。

>>85
ああ、唯一の日本語だ。
やはり、CreateFileやReadFileなんかを使って行うわけですね。
道筋が見えてきた気がします。

ちょっと何か調べようとすると
すぐ英語にぶち当たってしまうんですよね。
私は英語が苦手なんでそのたびにくじけそうになってしまいます。
でもそんなことも言っていられないですね。
0088デフォルトの名無しさんNGNG
質問です。コンパイルするとエラーが出ないのにプログラム実行すると
LIBCD.lib(crt0.obj) : error LNK2001: 外部シンボル "_main" は未解決です
Debug/gagaga.exe : fatal error LNK1120: 外部参照 1 が未解決です。
link.exe の実行エラー
というエラーが出てしまいます。誰かアドバイスを。。。
0089デフォルトの名無しさんNGNG
すいません。sage進行みたいですね。ageてしまいました。
0090デフォルトの名無しさんNGNG
>>88
mainがない。
0091デフォルトの名無しさんNGNG
Windowsでも動くの?
0092デフォルトの名無しさんNGNG
(゚Д゚) ハァ?
0093デフォルトの名無しさんNGNG
>>91
そりゃ動くだろ!VC++だからな。
0094デフォルトの名無しさんNGNG
質問します。mfcのダイアログベースで、
2つのエディットボックスに数字を入力してボタンを押すと、
それらを計算(加減乗除)して出力するプログラムを作成していますが、
ボタンを押しても2つの数字が読み込めません。
今のところ以下のように書いています。
void CGUItestDlg::OnButton1()
{
double answer;
 answer=keisan.calc(m_num1,m_num2,0);
}
m_num1、m_num2はClassWizardのメンバ変数の追加で、
カテゴリは「値」、変数のタイプは「double」としました。
どのようにすればよいのか教えてください。
0095デフォルトの名無しさんNGNG
>>94
UpdateData(TRUE)
0096デフォルトの名無しさんNGNG
>>93
動くんですね! これで安心して買えます!
ありがとうございました!!
0097デフォルトの名無しさんNGNG
Win3.1だったりして……
0098デフォルトの名無しさんNGNG
>>94みたいな質問定期的に出てくるな。
どっかの宿題なのだろうか。
009994NGNG
>>95
できました。ありがとう。
0100デフォルトの名無しさんNGNG
ダイアログボックスベースでプログラムを組んでいます。
Staticコントロールを二つ付けていますが、どちらか一方だけの
色を白にしたいんですが、上手くいきません。
以下に示したものでは二つとも白になってしまいます。
何方かご教授お願いいたします。

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領域に入力することって出来るのでしょうか?
0102デフォルトの名無しさんNGNG
>>100
スタティックコントロールに別々のIDをつけて、
OnCtlColor内でIDを区別する
0103100NGNG
>>102
有難うございます。。。

あかん。。。俺が自分で色々考えながらVC++でプログラムを組むのは
ちょっと早すぎたのか・・・・・全然解らん・・・。
基礎からやり直そうっと・・・・(泣く
0104デフォルトの名無しさんNGNG
>>103
急がば回れだ
0105デフォルトの名無しさんNGNG
アスキーファイルを読みたいので、次のようにしたのですが読めません・・
Serialize(CArchive& ar)ですどこか間違ってますかね・・?
CFile* fp = ar.GetFile();
int i;
double *tmp;
tmp = CCC;
for ( i=0; i<IMAGEDATA_SIZE; i++, tmp++)
{
ar.ReadString( tmp, sizeof( double ) );
     }

CCCはdouble型でデータを格納する場所です
IMAGEDATA_SIZEは256*256です

データの中身は9.352675144624524e+001、こんな感じのが256*256あります
doubleでは無理ですよね・・

0106デフォルトの名無しさんNGNG
マルチする前にMSDNでReadStringの宣言確認すれ。
0107105NGNG
初心者なので答え、教えてください
doubleつかえないのはわかってます
0108105NGNG
解決しました。ありがとうございました。
0109デフォルトの名無しさんNGNG
何もしていないが・・・
0110110NGNG
解決しました。ありがとうございました。
0111デフォルトの名無しさんNGNG
>>101
WM_GETDLGCODE DLGC_WANTTAB
0112デフォルトの名無しさんNGNG

>>101
色々考えてみたんですが、エディットコントロールのウインドウプロシージャ
をフックするしかないみたいです。

(1) 新しいウインドウプロシージャを定義するので、ダイアログクラス
のC++ファイルのはじめに

#include <windows.h>

LRESULT CALLBACK NewEditProc (HWND, UINT, WPARAM, LPARAM);

とやります。MFCウイザードのデフォルトだと、後述する
CallWindowProc()が使えないみたいなので、windows.hも
インクルードします。

(2) エディットコントロールのコントロール自体を操作する
必要があるので、クラスウイザードでコントロールのオブジェ
クトも作成しておきます。

(3) CTestDialog::OnInitialDialog()の直前で、グローバル領域に

WNDPROC OldEdit;

という形でウインドウプロシージャへのポインタを宣言します。
0113デフォルトの名無しさんNGNG

(4) OnInitialDialog()内部で、

OldEdit1 = (WNDPROC) SetWindowLong(m_edit1ctl.GetSafeHwnd(), GWL_WNDPROC, (LONG) NewEditProc);

とやって、エディットボックスに関連付けられていた
エディットコントロールのウインドウプロシージャを新しい
ウインドウプロシージャに変更します。古いプロシージャへの
ポインタも使用するので保存しておきます。

(5) 以上でエディットボックスのウインドウプロシージャを呼び出す際に、
ユーザーが定義したウインドウプロシージャを呼び出す準備ができました。
0114デフォルトの名無しさんNGNG

(6) 新しいウインドウプロシージャを次のように定義します。
C++ファイルの一番下にでも定義してください。

LRESULT CALLBACK NewEditProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_KEYDOWN:
if (wParam == VK_TAB) {
SendMessage(hwnd, EM_REPLACESEL, TRUE, (long) "\t");
return 0;
}
}
return CallWindowProc (OldEdit1, hwnd, message, wParam, lParam);
}

0115デフォルトの名無しさんNGNG

OSから受け取ったメッセージが、キーボード入力で、かつ、それが
TABキーだった場合には、現在のカレットの位置に '\t' を挿入します。
SendMessageは、メッセージの送り先が処理を終了するまで、戻らない
点に留意してください。
このメッセージの処理はこれでOKなので、そのまま return 0 で、
呼び出し側に処理を戻します。

その他のメッセージは特に変更する必要がないので、
CallWindowProc(OldEdit1, hwnd, message, wParam, lParam);
で、メッセージを古いウインドウプロシージャに引き渡して
処理してもらいます。

エラー処理など、いろいろ改善点はあると思いますが、大まかなところは
こんな感じで大丈夫みたいです。


>>111
OnGetDlgCode()で設定の変更もできるんですか?
もっと簡単な方法あります?

0116デフォルトの名無しさんNGNG
>>115
試しに作ったのを再度実行したら、なんかエディットボックスに
ゴミみたいなのが出るなぁ。なんでだろう。
あと、あんまり大きなデータは扱えないみたい。
デフォルトかどうかわからんけど・・。
0117デフォルトの名無しさんNGNG
>>116
解決。

ゴミはりソースエディタで、間違ってアニメートコントロールを
貼りつけていたせいでした。
データサイズは縦スクロールバーを設定すると、大丈夫みたいですね。
0118111NGNG
>>115
>OnGetDlgCode()で設定の変更もできるんですか?
WANTTABにしておかないとTABのWM_KEYDOWN等が飛んでこないんじゃないかなと思ったけど
飛んでくるのですね。
そのサンプルはダイアログに貼りつけてテストしましたか?

>もっと簡単な方法あります?
サブクラス化を前提にかきました。
0119111NGNG
なんか気になるので実験してみた。
MFCAppウィザードのダイアログアプリにEditBoxを一つ配置。
やはり WM_KEYDOWN の VK_TAB は飛んでこない。

OnGetDlgCode()で
return DLGC_HASSETSEL | DLGC_WANTARROWS | DLGC_WANTCHARS | DLGC_WANTTABTTAB
としてみると飛んできた。
しかし'\t'がちゃんと表示されない。
エディットボックスの設定を改行可にすると自動的にTABとして表示してくれた。(メモ帳といっしょやね)

結論:GETDLGCODEでWANT_TABし、改行可にするとok
0120デフォルトの名無しさんNGNG
>>118
>そのサンプルはダイアログに貼りつけてテストしましたか?

はい。サンプルを作ってみました。
EM_REPLACECELが挿入に使えるかどうかとか、
試してみないと分からない部分もありましたので。

OnGetDlgCode() は使っていないのですが、
正常に動作しているみたいです。


0121デフォルトの名無しさんNGNG
>>120
了解。119の結論は話半分ってこことでよろ。
0122デフォルトの名無しさんNGNG
昨晩、101でEdit領域へのTAB入力の質問をしたものです。
お蔭様で問題は解決しました。サンクス!

結局、CEditをサブクラスしたCEdit2を作り、
ダイアログのヘッダーの以下のCEditの部分を
CEdit2に置き換えました。

//{{AFX_DATA(CRwDlg)
enum { IDD = IDD_xx_DIALOG };
CEditm_edit;
//}}AFX_DATA

あとは119さんが教えてくれた通りに、CEdit2のOnGetDlgCode()で
return DLGC_HASSETSEL | DLGC_WANTARROWS | DLGC_WANTCHARS | DLGC_WANTTABTTAB
としました。

有難うございました!
0123デフォルトの名無しさんNGNG
過去ログ検索してみましたが、それっぽい質問がないようなので質問させてください。

Cでプログラミングを勉強し、最近VC++に入ったものです。
そもそもクラスやメソッド、オブジェクト指向プログラミングってどういう意味なのですか?
語句に対して調べては見ましたが専門用語の羅列でわけが判りません・・・

どなたか親切な方、判りやすく例え話等を使ってお教えいただけないでしょうか?
よろしくお願いします。
0124デフォルトの名無しさんNGNG
>>123
オブジェクト指向ってのはオブジェクトを中心に考えるってこと。
メソッドってのは、そのオブジェクトに対して操作する関数とか。

吉野家で考えれば、メインオブジェクトは牛丼だ。
で、それに対する属性としてつゆだくだとか、ねぎだくだとかがある。
メソッドとしてはUの字テーブルをはさんだやつといつ喧嘩がはじまってもおかしくないとか
よーしパパ特盛り頼んじゃうぞーとか、店員のマークとかがある。
0125デフォルトの名無しさんNGNG
>>124
それは何か違うと思う。
0126デフォルトの名無しさんNGNG
>>123
「憂鬱なプログラマのためのオブジェクト指向開発講座」
http://www.shoeisha.com/book/Detail.asp?bid=740

これを読めば解決。

あと独習C++とかで、一通りきちんと勉強した方が
早いと思うよ。

0127デフォルトの名無しさんNGNG
吉野家ならメインオブジェクトは店舗だろ
0128デフォルトの名無しさんNGNG
>>123
デザパタもやるならGoF本買っとけ。
0129デフォルトの名無しさんNGNG
すっ、すみませぬ、超基本だと思うのですが変数xの整数部分だけを取り出そうと
y=(int)x;
としたらyに0か異常値が入ってしまうのですがどうすれば宜しいのでしょうか?
教えてくださいませ(つД`)
0130129NGNG
sage忘れゴメンなさい∧||∧
0131C++厨NGNG
double modf( double x, double *intptr );

が整数と小数をわけてくれるよ。
0132129NGNG
>>131
ありがとうございます。
早速試してみます。
0133123NGNG
>>124さま
親切にありがとうございます。
>>126,128さま。
この問題にぴったりそうな本を教えていただきありがとうございました。
早速勉強しなおしたいと思います。
0134デフォルトの名無しさんNGNG
WinMXとかWinnyにある、共有ソフトのダウンロードリストは
どんなコントロールをつかっているのですか?
エクセルみたいなコントロールみたいですが
0135デフォルトの名無しさんNGNG
普通はListViewコントロールがはじめに思いつくと思うけど・・・
0136デフォルトの名無しさんNGNG
なるほどー
0137デフォルトの名無しさんNGNG
>>134
そういう時はspy++を使って調べてみよう。
0138デフォルトの名無しさんNGNG
なる!メッセージからコントロールをわりだすのですか〜
0139デフォルトの名無しさんNGNG
VC++6.0でINETコントロールを使っているのですが、
どうしても、FTPが上手くいきません。
executeメソッド等の使い方が悪いんですかね・・・。

どなたか、正常動作するサンプルソースとか
記述して頂けませんか?(´д⊂)
0140デフォルトの名無しさんNGNG
>>139
どううまくいかないのか書け。
「うまくいきません」だけで判るはずないだろボケ
0141139NGNG
スマソ(;´Д`)

Executeメソッドを実行しても、
ファイルが転送されないまま、終了してしまうんです・・・(´д⊂)
(一応、転送先のURLにアクセスはしてます)

おそらく、パラメータ指定が間違っているんだと思うのですが、
Executeメソッドに必要な4つの引数には、
それぞれ、何を与えればいいんですか?
0142デフォルトの名無しさんNGNG
>>141
お前は何を与えてるんですか?
0143139NGNG
MSDNにVBでのリファレンスがあったんで、
それを参考にして与えてます。

第1引数:"ftp://hoge:[email protected]/"
第2引数:"PUT C:\\hoge.txt hoge.txt"
第3引数&第4引数:""

というような感じなんですが、
やっぱり、VC++だと与え方は違うんでしょうか?
0144デフォルトの名無しさんNGNG
VCでInetコントロール?
CFtpXXXXってクラス使わないの?
0145デフォルトの名無しさんNGNG
>>139
http://www.microsoft.com/japan/developer/library/vccore/_core_prerequisites_for_internet_client_classes.htm
0146デフォルトの名無しさんNGNG
Wininetなら漏れはここみて便給したけど。
http://www.geocities.co.jp/SiliconValley-PaloAlto/1512/
0147デフォルトの名無しさんNGNG
今日からC始めた初心者ですが
普通にメイクしたexeファイル実行終了したら
自動的にウインド閉じちゃうんですけど、
どこで手動に切り替えられますか?
0148デフォルトの名無しさんNGNG
>>147
ショートカットのプロパティじゃなかったっけ?
0149デフォルトの名無しさんNGNG
VC7のダイアログエディタでダイアログボックスにリストビューを貼り、

そのリストビューの表示スタイルを"レポート"表示に設定したいのですが、

リストビューのプロパティを開いても

ttp://kerochan.no-ip.com/vcsdk/letsprog/graph4/chap31listprop.gif

のようなメニューが出てきません。

VC7のダイアログエディタでリストビューのスタイルを設定するにはどうすればいいですか?
0150149NGNG
すまぬ。一番下にViewって項目があったわ。。。
0151デフォルトの名無しさんNGNG
>>149
プロパティウィンドウの"View"
0152147NGNG
それらしき項目見当たらなかった…
0153デフォルトの名無しさんNGNG
>>152
IDE環境から実行してるんなら最後にgetch()でもしとけ。
0154デフォルトの名無しさんNGNG
コンソールアプリなら
コマンドプロンプトから実行すればいいんじゃね
0155147NGNG
サンキューです。
0156デフォルトの名無しさんNGNG
今までコンソールアプリを学習してきてマスターしてきたので、
WindowsのGUIアプリの作り方を学習したいのですが、
ttp://www.amazon.co.jp/exec/obidos/ASIN/4881358219/ref=pd_rhf_p_1/249-8667808-1583552
この本は、Visual C++.netでも使えますか?
0157ひよこ名無しさんNGNG
グローバル変数!グローバル変数!グローバル変数!
グローバル変数!グローバル変数!グローバル変数!グローバル変数!
グローバル変数!グローバル変数!グローバル変数!
グローバル変数!グローバル変数!グローバル変数!
グローバル!グローバル!グローバル!グローバル!ああああああああああああああああああああああああああああああああああああああああ
0158ひよこ名無しさんNGNG
参考書の例題で
OnLButtonDown()関数で得たマウスの座標をOnPaintに受け渡すために
int xpos = -100;
int ypos = -100;
とグローバル変数を宣言してるのですが
なぜ、int xpos; じゃだめなのでしょうか?
0159ひよこ名無しさんNGNG
お願いします。
0160デフォルトの名無しさんNGNG
>>158
正直、何やりたいのか判らん。
グローバル変数を何に使ってんだ?
0161デフォルトの名無しさんNGNG
なんでxposの初期化が必要なのか聞いてるんだろうが、それだけ見せられても
答えようがない。
0162デフォルトの名無しさんNGNG
ダメなことはないだろう。
何かエラー起こってんのか?

悪い質問のお手本だな
0163C++厨NGNG
グローバル変数は 糞!
0164158NGNG
int xpos = -100;
int ypos = -100;

void CS17Wnd::OnPaint()
{
CPaintDC dc(this);

dc.Ellipse(xpos - 20, ypos - 20, xpos - 20, ypos - 20)
}
void CS17Wnd::OnLButtonDown(UINT nFlags, CPoint point)
{
xpos = point.x;
ypos = point.y;

invalidate();

}
このint xpos = -100;の-100はどういうことなんでしょうか?
なぜ-100なのかが分かりません。
宜しくお願いします。

0165デフォルトの名無しさんNGNG
今からVCやろうと思っているんだけど、やるなら6.0じゃなくてやっぱ.NETかな?
0166デフォルトの名無しさんNGNG
>>164
適当。

>>165
何をやりたいかもわからないのに答えようがないと思う。
0167デフォルトの名無しさんNGNG
>>164
はっきり言おう。
お前の脳みそが理解できん。
自分でコーディングしておいて「分かりません」?

病院いって来い・。
0168デフォルトの名無しさんNGNG
>>164
OnLButtonDownが呼ばれる前にOnPaintが呼ばれたらどうなるか小一時間考えるといい。
0169デフォルトの名無しさんNGNG
>>167
参考書の例題と書いてるだろう。
このスレは質問の仕方も悪けりゃ答える奴も無能かよ
0170デフォルトの名無しさんNGNG
全然初心者向けの回答じゃないな
0171デフォルトの名無しさんNGNG
-100の意味を聞いてるんだからテキトー。これ。

はい次↓
0172158NGNG
>>168
int xpos;で試したら-100の意味が分かりました。
ありがとう。
0173158NGNG
>>171
適当なわけじゃなかったよ
0174デフォルトの名無しさんNGNG
我思う。試してから質問しろと。
0175158NGNG
>>174
そうでした。すいません
0176デフォルトの名無しさんNGNG
この板自体来るの初めてなのだろうか。
元質問以外はなるべくsageてね。
0177158NGNG
失礼しました。今後質問時は気をつけます
0178デフォルトの名無しさんNGNG
実行しているファイルと同じディレクトリにある設定ファイルを読みたいので
すが、ファイル名だけでオープンしようとすると上手くいきません。
そこで、実行ファイルのあるディレクトリを取得したいのですが可能でしょうか?
0179デフォルトの名無しさんNGNG
検索したらすぐ出てきたよ
0180デフォルトの名無しさんNGNG
>>178
質問する前に検索しろよ
http://www.google.com/search?q=Windows+%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA+%E5%8F%96%E5%BE%97
0181デフォルトの名無しさんNGNG
>>180
ありがとうございます。
10分くらいは検索してみたのですが・・・。多謝です。
0182デフォルトの名無しさんNGNG
いったいどんなキーワードで検索したやら(藁
0183デフォルトの名無しさんNGNG

Windowsディレクトリって c:\windows でしょ?
>>178の答えになってるの?

0184デフォルトの名無しさんNGNG
でも、結局よく情報抜き出せませんでした(涙)
GetCurrentDirectoryで出てくるのは、何か実行ファイルがおいてあるのとは
別のディレクトリが取れているようでして・・・。
どの命令を使えばいいのでしょうか?(ダメ
0185デフォルトの名無しさんNGNG
すみません、デバックで動かしていたのが原因だっただけみたいです。
逝ってきます。
0186デフォルトの名無しさんNGNG
>>185
GetCommandLine
現在のプロセスのコマンドライン文字列へのポインタを取得します。

LPTSTR GetCommandLine(VOID)

これでフルパスが取れるみたいです。
試してみたら、

"D:\TEMP\TEST\Debug\TEST.exe"

こんな感じになりました。



0187デフォルトの名無しさんNGNG
VC++6.0でプログラムを作成しています。
ダイアログベースのアプリで、最小化のタイミングでタスクトレイに
表示したくOnSyscommand関数で最小化のイベントを取り、メインダイアログを隠したい
のですが、OnSyscommand関数がデフォルトで出来ていません。
ユーザーが作成するものなのでしょうか?
生成方法を教えて下さい。
宜しくお願いします。
0188デフォルトの名無しさんNGNG
>>183
Windows ディレクトリ 取得
Windows入れないと別のOSも含まれるんじゃないの?
カレントディレクトリにしたほうがいいんだろうけど
0189デフォルトの名無しさんNGNG
>>187
オーバーライドの方法はヘルプ読め
0190178NGNG
>>186
おお、そんな命令が。ありがとうございました。
0191デフォルトの名無しさんNGNG
>>187
ダイアログの右上の最小化ボタンの動作をフックして
独自の動きをさせたいってことなの?
メインダイアログを隠すってことの意味がよくわからないんだけど・・。
隠す=最小化/アイコン化?

0192187NGNG
>>189
すみません、オーバーライドをすればよいということでしょうか?
0193デフォルトの名無しさんNGNG
>>192
VCならクラスウイザード使えばいいだろ。
0194デフォルトの名無しさんNGNG
つーか回答者もネタ?
GetModuleFileNameだろ。<アプリと同じフォルダ
0195187NGNG
>>191
そうです。
最小化して、タスクトレイにアイコン化することが目的です。
showwindow(SW_HIDE)
でダイアログを隠そうとしております。
0196187NGNG
>>193
OnSysCommandが見つからないのです。
OnCommandならあるのですが…。
0197デフォルトの名無しさんNGNG
>>195
MFC App Wizard (exe) プロジェクト
で作成すると、ダイアログクラスに
CTestDlg::OnSysCommand()
というオーバーライドされた、メンバ関数が自動的に
作成されるみたいだけど、これを改造するのじゃ
いかんの?

この関数では、基底クラスのCDialog::OnSysCommand()に
メッセージをそのまま渡しているみたいですが。

0198187NGNG
>>197
それが自動的に作成されなかったようです。
追加で作成することは不可能なのでしょうか?
0199デフォルトの名無しさんNGNG
ちなみに検索の仕方はこんな感じで
http://www.google.com/search?hl=ja&inlang=ja&ie=Shift_JIS&q=%83A%83v%83%8A%83P%81%5B%83V%83%87%83%93%81@%83t%83H%83%8B%83_%81@%8E%E6%93%BE%81@C%2B%2B&lr=
0200デフォルトの名無しさんNGNG
>>198
ClassWizardでWM_SYSCOMMANDのハンドラ作れ
0201デフォルトの名無しさんNGNG
>>198
左上のメニューのバージョン情報は
どうなってますか?
IDD_ABOUTBOXダイアログを
オーバーライドされたOnSysCommand()で
起動しているようですが。

0202187NGNG
>>201
すみません、メニューのバージョン情報とはどこのことでしょうか?
VS_VERSION_INFOならあります。

>>200
クラスウィザードからハンドラの追加の方法がわかりませんでした。
イベントから追加しようとして、
SYSCOMMANDが左の蘭になく、誤ってWM_CANCELMODEを追加してしまって
消せなくなってしまいました(鬱
0203デフォルトの名無しさんNGNG
>>194
これも良いみたいですね。
char str[1024];
GetModuleFileName(NULL, str, 1024);
cout << str << endl;

で結果が

D:\TEMP\TEST2\DEBUG\TEST2.EXE

こうなりました。こっちの方が汎用性が高いかな。

0204デフォルトの名無しさんNGNG
つーかClassWizardの使い方をWEBなりMSDNなりで調べてこい。
それですべて解決だ。
0205デフォルトの名無しさんNGNG
>>202
ダイアログ左上のアイコンを左クリックすると、
メニューが出ませんか? その中でバージョン
情報の表示を選択できますが。


0206デフォルトの名無しさんNGNG
>>203
つーかそのやり方が定番だから。
0207デフォルトの名無しさんNGNG
>>202
class view のクラス名の上で右クリック
→メッセージハンドラの追加
でできますよ。
0208187NGNG
>>205 >>204
イベントからOnSysCommandを追加することができました。
フィルタのところでwindowを選択することで出てきました。
どうもありがとうございました。
0209デフォルトの名無しさんNGNG
>>207
これで、フィルタを「ウィンドウ」にすると、
WM_SYSCOMMAND のハンドリングが
できる雰囲気。

0210名無しさんNGNG
COMポートからデータを読み出すプログラムが組みたいのですが、どうもうまくいきません。
具体的にいうと「フフフフフフフフフフフフフフフ・・・」てな感じです。どうしたらいいのでしょう?
明日の朝までに組まなきゃいけなくて、四苦八苦してます。
0211名無しさんNGNG
ちなみに、API使ってます。
0212デフォルトの名無しさんNGNG
初期化されてないとフフフフになるよ
0213名無しさんNGNG
初期化ですか?いまいちやりかたが・・・(汗
0214デフォルトの名無しさんNGNG
> フフフフフフフフフフフフフフフ・・・

ストーカーからの電波を受信しています。

つーか、NT とかだと、確保してから 1 度も使われてないメモリ領域は 0xCC で
塗りつぶされている。
それを読んでしまっているのだから、データをきちんと COM ポートからメモリに
読み込めていないんじゃないか?
0215デフォルトの名無しさんNGNG
塗りつぶされるのはNTとかじゃなくてデバッグ時だった気が。
0216デフォルトの名無しさんNGNG
俺もデバッグ用にVCが埋め込んでるんだと思ってた
0217デフォルトの名無しさんNGNG
>>210
できもしない仕事を請け負ったんだから自業自得ですな
0218名無しさんNGNG
成り行き上そうなってしまって・・・(泣
一応フの羅列は回避できました。
でも、途中で読みに行かなくなっちゃって・・・
0219デフォルトの名無しさんNGNG
>>218
( ´_ゝ`) フーン
0220デフォルトの名無しさんNGNG
質問なんですが・・

CPoint t1,t2,t3;
t1=(10,10); t2=(9,10); t3=(10,9);

とあったとき、この変数3つが、近い場所にあると判断させるにはどういうプログラミングをすればいいのでしょうか…
どうかご教授お願いします。
0221デフォルトの名無しさんNGNG
>>220
単純に距離を求めたらいかんの?
0222デフォルトの名無しさんNGNG
>>215-216
ごめん、そうみたい。
NT のメモリ領域の初期化は 4 バイトくらいの周期だった。
0223デフォルトの名無しさんNGNG
言語や開発環境のスレで、ロジックまで教えるべきなのかどうかいつも
迷うのだけれども
0224デフォルトの名無しさんNGNG
>>220
「近い」の定義がよく分からんぞ。
とりあえず適当に決めた一定値以内の距離だったら近いとすれば?
0225デフォルトの名無しさんNGNG
>>221、224
 近い、という定義はだいたいxとyの座標がそれぞれ0〜1ずれていても同じとみなしたいのです…
 3つの座標は、ぞれぞれ3つの辺の始点と終点を示しています。
 2つの辺の始点か終点が重なれば一つの頂点としてみなしたいのです。
 慌てていたので、ちょっと上の質問例が違っていました。訂正します
 自作のプログラムでは線分を切り出した時にこのような座標の取り方をしたので、
 これをうまく使って「この3辺は三角形だ」と認識させたいと考えています。

#define siten 0
#define syuten 1

CPoint t1[2],t2[2],t3[2]; //一辺の始点と終点の座標を持つ
t1[siten]=(0,0); t1[syuten]=(10,0); // "1"の辺の始点と終点
t2[siten]=(10,1); t2[syuten]=(4,8); // "2"の辺の始点と終点
t3[siten]=(0,1); t3[syuten]=(4,7); // "3"の辺の始点と終点

 1111111111
3 2
3 2
3 2
3 2
3 2
3 2
32
2

よろしくお願いします。
0226デフォルトの名無しさんNGNG
>>225
各点間の距離をそれぞれ求めてそれが0〜1なら重なってるフラグ立てりゃいいじゃん
0227デフォルトの名無しさんNGNG
あ、三角形が潰れてしまった…鬱氏
実際に紙に書いてもらえればわかりやすいと思います…
ほんとすいません つД;)

0228デフォルトの名無しさんNGNG
>>226
で良いんじゃないの? ダメ?

0229デフォルトの名無しさんNGNG
>>178
>実行しているファイルと同じディレクトリにある設定ファイルを読みたいので
>すが、ファイル名だけでオープンしようとすると上手くいきません。

こんな感じに配置してVCから実行してるのなら
C:\VC\test\Debug\test.exe
C:\VC\test\Debug\test.ini

次のようにやってみて
C:\VC\test\Debug\test.exe
C:\VC\test\test.ini

VCから実行すると実行ディレクトリは実行ファイルがあるところじゃなく
プロジェクトファイルがあるところになっちゃうかね

絶対パスだと読み込めたところをみるとたぶんこれが原因じゃないかな?




余談だけどWritePrivateProfileStringなんかの設定ファイルを書き込むやつは
ファイル指定が "test.ini" と ".\\test.ini" じゃ動作が異なるから気をつけて
前者だとウィンドウズディレクトリに設定ファイル作っちゃうから
0230デフォルトの名無しさんNGNG
>>227
しつこい

>>229
プロジェクト→設定のデバッグタブで作業ディレクトリ変えりゃ済む話でないの?
0231デフォルトの名無しさんNGNG
パスの質問はもう答え出てるから。
0232デフォルトの名無しさんNGNG
マイクロソフトの"マイコンピュータ"や"ローカルディスク"等の

標準的なアイコンを自分のソフトに組み込んで使用したいのですが、

著作権はどのようになっているのでしょうか?(自分のソフトに組み込んで使えますか?)

また、二次使用できる場合、どこで配布されているでしょうか?
0233デフォルトの名無しさんNGNG
毎回読みこめば?
0234デフォルトの名無しさんNGNG
あほな質問ですまにゅ。
VC++6.0で独自のインターネットブラウザって作成可能なの?
0235デフォルトの名無しさんNGNG
論理的には可能ですか。
0236デフォルトの名無しさんNGNG
作れるけどライセンスの問題があるから
IEコンポーネントを使う
0237デフォルトの名無しさんNGNG

ライセンスってJPEGの?
独自ブラウザは不可能なんですかね?

0238デフォルトの名無しさんNGNG
テキストベースにする裏技
0239デフォルトの名無しさんNGNG

MFCのCEdit なんですが、コントロールから
改行する方法ってどうしたら良いんでしょうか?

リソースエディタで複数行と、改行を許可は選んであります。

それで、ReplaceSel で文字を書いたのですが、
どうも改行されない。\n では改行できないんでしょうか?
CString からDDXを使う方法もありますが、後学のためにも
コントロール自体で操作したいと考えています。

0240デフォルトの名無しさんNGNG
>>239
CRLF (\r\n) じゃなかったっけ
0241デフォルトの名無しさんNGNG
改行は \r\n
0242デフォルトの名無しさんNGNG

ども。ありがとうございます。
\r\n
で解決しました。

0243デフォルトの名無しさんNGNG
コードを見やすくしたいんですけど、

class CDInput8{...};
void* pvRef;

として、

((CDInput8*)pvRef)->DInput->CreateDevice(...);


これ、綺麗になりませんか?
0244名無し@沢村NGNG
>>243
static_cast<CDInput8*>(pvRef)->DInput->CreateDevice(...);
0245デフォルトの名無しさんNGNG
見やすくしたいとはこれ如何に
0246デフォルトの名無しさんNGNG
CDInput8* pDInput8 = static_cast<CDInput8*>(pvRef) ;
CDInput* pDInput = pDInput8->DInput ;
pDInput->CreateDevice(...);

駄目か。かえって見づらい?
->を何段も重ねるの好きじゃないんだが。
0247デフォルトの名無しさんNGNG
まったくの初心者がVisual C++ .NETを購入して学習していくのは無謀ですか?
(いちお、古いJava本で配列・演算・インクルの概要は把握しました・・・)

そのうち、新しい2chブラウザー(低機能)を作ったり
ネットワークゲーム(ターン制)を作ってみたいです

VB.Netの方が初心者向きですか?
0248デフォルトの名無しさんNGNG
CDInput8のインラインメンバ関数に
0249デフォルトの名無しさんNGNG
>>247
初心者と言ってもどのレベルか分からん。
C++が分からんのなら無謀!
0250由美(ネカマ1号機)NGNG
変な質問ですいませんが…
Visual C++って何ができるんですか?
0251デフォルトの名無しさんNGNG
>>247
VB6にしなさい。VB.netは別物。
0252デフォルトの名無しさんNGNG

これから学習するんなら、C++が良いんじゃないの?
Javaやってんなら、C++にも慣れやすいのでは?

0253デフォルトの名無しさんNGNG
>>250
プログラムが組めます
0254デフォルトの名無しさんNGNG
>>243
#define DINPUT(p) ((CDInput8*)(p))->DInput
((CDInput8*)pvRef)->DInput->CreateDevice(...);
↓
DINPUT(pvRef)->CreateDevice(...);

やりすぎると別言語チックになる上にデバッグしづらい罠
0255デフォルトの名無しさんNGNG
漏れは>>243で充分綺麗(分かり易い)だと思うのだが。
0256デフォルトの名無しさんNGNG
プログラムでIEを起動したいのですが、どうしたら出来ますか?
0257デフォルトの名無しさんNGNG
>>253
ワラタ

>>256
最近、この手の質問がかなり多い気がするのは気のせいか?
とりあえず、ShellExecuteでも使え。
0258デフォルトの名無しさんNGNG
>257
ShellExecuteって何ですか?
ちなみに私はMFC使わないでAPI使っています
0259デフォルトの名無しさんNGNG
>>258
ドキュメントにないの?
0260デフォルトの名無しさんNGNG
>259
ドキュメント???

ヘルプのことですか?
0261デフォルトの名無しさんNGNG
>>258
質問する事が悪いとは言わんが、
喪前は自分で調べるという努力をしないのか?

明示的にキーワードを与えられたんだし、
それを元に検索すれば、自ずと答えは見つかるはず。
0262デフォルトの名無しさんNGNG
MFCスレでも同じような質問を見たよ。
0263デフォルトの名無しさんNGNG
>261
そうですね。
少し自分で調べてみます。
すいませんでした。

>262
ありがとうございます。
MFCの方も覗いてみます。

>259、257
色々ありがとうございました。
少し自分で勉強してみます。
0264デフォルトの名無しさんNGNG
256より
出来ました。 ありがとうございます。
261さんのおっしゃる通りでした。
いくら初心者用だからと言って、すべて聞いていただけではダメですね。
少しは努力しないと・・・
皆様色々ありがとうございました。
また、質問した際はよろしくお願いします。
0265261NGNG
>>264
ガン(・∀・)ガレ!!
0266デフォルトの名無しさんNGNG

なんか自作アプリを起動すると、だんだん
リソースが減っていくような・・・・。(汗
new は使ってないし、メモリをallocateする
ようなAPIも使っていないんだがなぁ。

こんな経験ないですかね?
MFCベースのWinアプリなんですが。
8時間くらいで作った簡単なやつです。

メモリリークの有無を調べる方法って
ありますか?

0267デフォルトの名無しさんNGNG
>>266
メモリリークの検出方法
http://kkkon.hp.infoseek.co.jp/tips/MFC/MemoryLeak.shtml
0268デフォルトの名無しさんNGNG
>>267
どうもありがとうございます。
ソースをみたら、デフォルトで挿入されているみたいなので、
そのままデバッグ実行してみましたが、メモリリークは
検出されませんでした。
そうすると気のせいってことみたいです。
0269デフォルトの名無しさんNGNG
リソースとは何の事を指しているの?
リソース減少の原因がメモリリークとは限らないわけだが

0270デフォルトの名無しさんNGNG
>>269
リソースメータのアイコンで表示される部分なので、
たぶんシステムリソースではないかと。

0271名無し@沢村NGNG
>>266
ヌヒよ、GDIオブジェクトの破棄を忘れてはいないか?
0272デフォルトの名無しさんNGNG
初心者なんでしょぼい質問かもしれませんが、教えてください。

タブコントロールを使っているんですが、
複数のラジオボタンやスタティックテキストやグループボックスなどは
どのようにすればタブの選択に応じてSW_HIDEとかSW_SHOWできるんですか?

本当に困っているので教えてください。よろしくお願いします。
0273272NGNG
たびたびすいません。
適当にやってみたらできました。
無駄に書き込んでしまって申し訳ないです。
0274デフォルトの名無しさんNGNG
ScrollBarやButtonなどを配置するときにマウスではなく数値で大きさや位置を指定することはできますか?
0275デフォルトの名無しさんNGNG
>>274
OnSizeなどでMoveWindowするとか。
0276デフォルトの名無しさんNGNG
>>274
rcをメモ帳で開いて書き換えとか
0277デフォルトの名無しさんNGNG
引用です。

 955 名前:デフォルトの名無しさん 投稿日:03/02/15 19:30
 VC++ .NETでデバッグをするとセキュリティ設定が原因で
 プロセスを作成できないと出てくるのですが、
 どうすれば作成できるようになりますか?

VC++6.0では普通にコンパイルできるものも
.NETでは上記のエラーが出て出来ません。
OSはwin2kです。

0278デフォルトの名無しさんNGNG
引用と言う名のマルチかよ。
おめでてーな。
0279デフォルトの名無しさんNGNG
>>275
>>276
レスありがとうございます
デザイン時にキッチリ揃えたりできればと思ったのですが
無理なのでしょうか
残念です
0280デフォルトの名無しさんNGNG
>>279
rcファイルをテキストエディタで編集
0281277NGNG
>>277
解決しました。レジストリを足すようです。
同じ事で困ってる人がいるようならやり方も書きます
0282デフォルトの名無しさんNGNG

size_t の _t って何の略ですか?
nothrow_t なんかもあるようですが。
0283C++厨NGNG
maybe type
0284デフォルトの名無しさんNGNG

JPEGを表示させるフリーウェアは、
もう作れないんですか?

0285デフォルトの名無しさんNGNG
>>284 IEコンポーネント使用ブラウザとかあるじゃん
0286デフォルトの名無しさんNGNG
>>284
JPEGもだめだったっけ?
GIFじゃなくて?
0287デフォルトの名無しさんNGNG
>>285
IEコンポーネントってどこまで自由度あげられるのかな。
例えば、スムーズな拡大縮小や、レタッチソフトでも
使える?

JPEG特許問題
http://pc2.2ch.net/test/read.cgi/tech/1027428839/

こんなスレあがってた。
0288457NGNG
vb歴2年、そろそろ知識のバージョンUP。

ところで、同じプログラムを、vbとC++で組むと、C++のほうが
コードが多いと聞いたんですがどうなんでしょうか?

0289デフォルトの名無しさんNGNG
>>288
その通り。
何も貼ってないフォームを表示させるだけで数百行。
VBなら0行ですむところ。
0290457NGNG
>>289
俺は、趣味でプログラミングしている。
だっらVBに徹したほうが良いのかな?

でも、プログラミングはC++ですよって言ったほうが聞こえが
良いと思ってバージョンUPを考えたのだが、
C++を使っているヤシは、PGなのか?
0291デフォルトの名無しさんNGNG
C++だからPGってわけじゃない。
学生でも趣味でプログラミングしてる人はいるわけだし。

趣味の程度にもよるけど、簡単なプログラムだったらVBでも作れるでしょ。
2ch用ブラウザくらいなら出来ないことはない。
ただ、細かい部分までこだわるならVBよりVCのほうが有利だと思う。

ま、趣味なら「やりたい」とおもったらやれば?
0292デフォルトの名無しさんNGNG
フォームなんて言ってるから自演がばればれ
0293デフォルトの名無しさんNGNG
つーかここはやる気の問題じゃなくて技術的な問題を扱うスレだから。
0294デフォルトの名無しさんNGNG
>>290
Borland C++ Builderなら、VBみたいにパーツを切り貼り出来る。
いいとこ取り。

でも、Windowsに対して細かい操作をしたかったら、
VC++のほうが情報量が多い。

DOS時代、Cの経験があったけど、カルチャーショックは大きかった。
見慣れるまで1年以上かかった。趣味だから、ってせいもあるけど。

>>292
自演じゃない。最初はWindowsと打ってたけど、
VB使いにわかりやすいように書き換えた。
0295デフォルトの名無しさんNGNG
窓を表示させるだけならウィザードを使えば0行で済む罠。
0296デフォルトの名無しさんNGNG
>>295
VBじゃあんまりウィザード使わないし。

初めて見た時は、「ここにコードを挿入」以外のコードが膨大で、
圧倒されて、やる気なくした(笑)。
0297デフォルトの名無しさんNGNG
「ここにコードを挿入」以外のコードは大体スケルトンだろ
0298296NGNG
>>297
Yes
でも、気になる(笑)。
別ファイルにでも追い出してくれる方が初心者にはとっつきやすい。
0299デフォルトの名無しさんNGNG
>>294
> 最初はWindowsと打ってたけど
いや意味判らんし…
0300294NGNG
>>299
ウィンドウのさらに打ち間違い。
0301デフォルトの名無しさんNGNG
>>294 
290です。そうですか、Borland C++ Builderだったらいいとこ取りね。 

VC++を買うつもりですが、今は、VC++netですよね。
netはXP対応でMEは使えないの?


0302デフォルトの名無しさんNGNG
>>301
そう。NT系でしか動かないし、1GHz以上でないと重い。

0303デフォルトの名無しさんNGNG
流れが止まってるな・・・(;´Д`)
0304デフォルトの名無しさんNGNG
VC++6.0で手術中によくある生命のグラフ(?死ぬとピーっていうやつね)の

つくりかたをおしえてくれさい。
0305デフォルトの名無しさんNGNG
>>304
作り方のどの部分がわからないの??
0306デフォルトの名無しさんNGNG
>>305
ぶっちゃけてしまうと全部なのですが、
今わかってることは、メモリのバッファ(?)に
直接書いてそれを画面に転送するらしいということと、
OnPaintを使わないって事ですね。

まずは、どうやってメモリに書いたらいいのかなどが
わからないです。
0307306NGNG
追加です。
リソース関係のことですが、
ピクチャーに表示する予定です。
タイプは四角形です。

おねがいします。

0308デフォルトの名無しさんNGNG
ここは「教える」スレだ。「仕事請け負う」スレじゃない。出直してこい。
0309306NGNG
知らないなら知らないって言ってよぉ〜  (´・ω・`)ショボーン
0310デフォルトの名無しさんNGNG
>>309
知らん。出直してこい。
0311デフォルトの名無しさんNGNG
ていうかヘルプくらい読め
0312デフォルトの名無しさんNGNG
>>309
貴様に教える気が無いっつってんだ!
0313デフォルトの名無しさんNGNG
いくら「初心者に教える」っても限度があるってことかな。
あまりにも知らなすぎたり、理解力がなさすぎたり
状況説明が拙すぎたりすると教える方も
さじを投げちゃいます。

まー、中には物好きがいるかもしれんから待てば?
0314デフォルトの名無しさんNGNG
要するにグラフ書きたいんだろ
Hello World の次ぐらいにやりそうだな
それもできないんじゃ教えるだけ無駄
0315デフォルトの名無しさんNGNG
リソースでボタンとか作ろうとしたんだが、誤ってボタンとか作るコントロールボックス(?)のウィンドウを消してしまいました!

どうやったらもう一度このウィンドウを出せるのでしょうか…
0316デフォルトの名無しさんNGNG
↓↓↓↓↓★ココだ★↓↓↓↓↓
http://www.pink-angel.jp/betu/index.html
0317デフォルトの名無しさんNGNG
メニューで ツール>カスタマイズ>ツールバー>コントロールにチェック
0318デフォルトの名無しさんNGNG
ツールバーが動いたり切り離せたりして、かなりうざいです。
ツールバーを固定する方法ってあります?
0319317NGNG
なんだ教えて君か
教えるんじゃなかった
0320デフォルトの名無しさんNGNG
>>306
普通 memDC というのを作って対処するので、それについて広く調べてください。
0321デフォルトの名無しさんNGNG
MFCのダイアログベースでつくてます。
ダイアログエディタのEdit ControlだとWM_CHARがイベントハンドラのなかにないので
CEditを継承してCMyEditを作ってOnCharのなかにやりたいことを書きますた。

で、質問なんですが。
このMyEditはどうやって表示して使ったりするんでしょうか?(..;)
ダイアログエディタみたいに貼り付けたりはできないのでつかね。
0322デフォルトの名無しさんNGNG
>>321
マジで?
0323デフォルトの名無しさんNGNG
>>321
一般的なやり方としては、クラスウイザードのメンバ変数タブで
IDC_EDIT1 のコントロール変数(オブジェクト)を生成して、
そうするとCTestDlg に、このオブジェクトが追加されるから、
このCTestDlgのWM_CHARハンドリング部分でIDC_EDIT1
をコントロールするんじゃないですかね?

0324名無し@沢村NGNG
>>321
ヌヒよ、「サブクラス化」だ。
0325デフォルトの名無しさんNGNG
>>321
この方向でいくと、CEditの派生クラスを作ったのはいいけど、
CMyEdit はまだ実体化されていないですよね。結局のところ、
CTestDlgクラスのメンバ変数としてCMyEditを所有して、
コントロールすることになるんじゃないかな。
0326デフォルトの名無しさんNGNG

ビットマップの表示に関する質問です。
ビットマップを絶対パスから開く方法がわからないので困っています。
リソースに登録し、そのIDをLoadBitmapで呼び出す方法しかわからないもので…
すでにファイルの絶対パスが格納されてあるchar型の変数filenameを使って、ビットマップを
読めるようにしたいと考えています。

(例)こんな感じでやりたいのです
filename="c:\windows\デスクトップ\test.bmp"
LoadBitmap(filename...) ←おかしい

何か手立てはないものでしょうか?
0327名無し@沢村NGNG
>>326
ヌヒよ、LoadImage()だ。
0328デフォルトの名無しさんNGNG
SDIでViewをCScrollViewから派生させて、
できたスケルトンのOnDrawで、
CPoint pt = GetScrollPosition();
pDC->TextOut(pt.x, pt.y, "aho");
ってやったら表示されてるようだけどきれいにならないでくずれるんだけど。
なんで?
0329デフォルトの名無しさんNGNG
>>328
崩れるって具体的にどのように?

>>326
LoadBitmap、CreateBitmapIndirectなど
0330デフォルトの名無しさんNGNG
>>328
ん〜 
試してみましたが再現しません。
どういう操作したときにどういう風に
崩れるの?

0331デフォルトの名無しさんNGNG
すんません。

VisualC++ 6.0からVisualC++.NETへ移行する場合でソースの互換性はありますか?
旧バージョンで作った奴をコンパイルしたら遅くなるというような
ことはありませんか?
0332ねかまNGNG
>>329は嘘つきだわ
0333デフォルトの名無しさんNGNG
>>332
どこがどう嘘つきなのか指摘してくれ
0334デフォルトの名無しさんNGNG
>>333
LoadBitmapってAPIの存在を知らないんだと思われ
0335デフォルトの名無しさんNGNG
パスの区切りは"\"ぢゃなくて"\\"
0336ねかまNGNG
>>333
>>326さんはファイルの絶対パスを指定してビットマップを開きたいと言っているのよ。
LoadBitmap()でどうやって開くって言うのよ。バカじゃないの。
CreateBitmapIndirect()じゃ手間がかかるだけだし。
だから沢村さんの言うとおりLoadImage()が正解よ。
0337とりあえず突っ込んどくかNGNG
や、それ以前に質問文にLoadBitmap()ってあるんだからLoadBitmap()と答えること自体おかしい。
ピンボケな回答にツッコミいれるオマエもな。
0338デフォルトの名無しさんNGNG
#include <iostream>
#include <string>
using namespace std;

class KNeko
{
string name;
public:
void SetName (string n){
name = n;
}
void Naku() const{
cout << "なんか文句あっか、(゚Д゚)ゴルァ!!俺は" << name << "だ。よろしくな" endl;
}
};

int main()
{
KNeko x;
x.Naku();

x.SetName("ギコ");
x.Naku();
}

これをビルドしようとすると26行目にエラーがでます。始めたばかりで
あまりよくわからないですが皆さんご教授ください
0339デフォルトの名無しさんNGNG
26行目というと

> これをビルドしようとすると26行目にエラーがでます。始めたばかりで

この行ですね。コメントアウトするか、あるいは行を削除しましょう。
0340デフォルトの名無しさんNGNG
それだと27行目でもエラーが出るぞ
0341338NGNG
ごめんなさい。というかアカデミック買って使い始めた
ばかりで使い方自体よくわかんないんです…
0342338NGNG
ビルドには成功したもののexeファイルができないです…
0343デフォルトの名無しさんNGNG
>>342
プロジェクトのDebugフォルダの中を見てみ!
0344デフォルトの名無しさんNGNG
>>338
mainルーチンにreturn文がない
0345デフォルトの名無しさんNGNG
KNeko x;
だけでは、コンストラクタを呼び出していないから、

KNeko x = new KNeko();

とか書くんじゃないの?
0346338NGNG
#include <iostream>
#include <string>
using namespace std;

class KNeko
{
string name;
public:
void SetName (string n){
name = n;
}
void Naku() const{
cout << "なんか文句あっか、(゚Д゚)ゴルァ!!俺は" << name << "だ。よろしくな" << endl;
}
};

int main()
{
KNeko x;
x.Naku();

x.SetName("ギコ");
x.Naku();
return 0;
}
0347338(YBB user)NGNG
これでなんとかできました。endl前の<<が抜けてたのが原因みたいです。
それでもシンボルが読み込まれてないとかエラーが出ますが
いちお実行できました。

ありがとうございましたm_ _m

串が見つからなくてなかなかカキコできなくてすみませんでした
0348デフォルトの名無しさんNGNG
>>347
おい、ここはYBB規制されてねーぞおい。
0349デフォルトの名無しさんNGNG
おいがかぶった
0350デフォルトの名無しさんNGNG
おい、おいがかぶってるぞおい。
0351338(YBB user)NGNG
test
0352338(YBB user)NGNG
本当だ…あの努力は一体…
0353デフォルトの名無しさんNGNG
VBもVCも言葉が似てるから兄弟なんだな。
0354デフォルトの名無しさんNGNG
>>353
そうですね。
0355353 ◆ExGQrDul2E NGNG
>>354
VBがアニキだよ。
0356デフォルトの名無しさんNGNG
>>345
ネタですか?
0357VBNGNG
不肖のアニキでごめんなさい
0358デフォルトの名無しさんNGNG
>>357
いやおまえはよくやってるよ。
ただ使い手に問題があっただけだ。
おつかれさん。
0359デフォルトの名無しさんNGNG
うん、VBは人間に近い言葉なのにちゃんとコンピュで動くからすごい
0360デフォルトの名無しさんNGNG
ちゃんと? 
0361デフォルトの名無しさんNGNG
ちゃんと鍋
0362デフォルトの名無しさんNGNG
なんかstdafx.hとかいうファイルが勝手にできてるんですけどこれって何ですか?
ヘッダファイルだというのはわかりますけど
どう使うのが賢いのか教えてえらい人!!
0363デフォルトの名無しさんNGNG
>>362 プリコンパイル済みヘッダーファイルでぐぐれ。
0364デフォルトの名無しさんNGNG
>>363
コンパイル時間を短くすることができるんですね
ありがとう!えらい人!! 
0365デフォルトの名無しさんNGNG
教えて君ですいません。VC6の開発環境なんですが、
VBのイミディエイトペインやBCBの評価/変更ウィンドウ
みたいな、非デバッグ中に簡単な式を評価できるような
機能は無いのでしょうか?
0366219-105-109-105.adachi.ne.jpNGNG
VC++.netなのですが、DOSのプログラムは打てますか?
0367タダで!?NGNG
YAHOO!BBのユーザーへの特報!!!

今YAHOO!BBでADSLを利用されてる方。

月額料金を無料にできる方法をお教えします。確実な方法です
し方法も一つではなく何通りお教えしますので、ヤフーbbのユ
ーザーである限り料金発生なくずっと使えます。

興味のある方は以下のメールアドレスに連絡ください。
料金をとめる方法は少しの謝礼でお教えします。
[email protected] [email protected]
 よろしくお願いします。
0368デフォルトの名無しさんNGNG
>>365
「ウォッチ ウィンドウ」で。
他にも「表示」→「デバッグ ウィンドウ」から辿ると使えるウィンドウがいろいろ
0369デフォルトの名無しさんNGNG
>>368
早速レスサンクス
「ウォッチウィンドウ」ってデバッグ時じゃきゃ
開けないのでは?
作成途中で、まだまだデバッグ開始出来ない
時にでも、簡単な式のテストをしたいと思いまして
0370デフォルトの名無しさんNGNG
>>369
MessageBoxはどう?
0371デフォルトの名無しさんNGNG
入力formをVBで作る事できるんですか?
0372デフォルトの名無しさんNGNG
>>371
煽りたいだけでも無知なだけでもいいから氏ね。
0373デフォルトの名無しさんNGNG
挿入>リソース>インポート>ファイルの種類でVBフォーム
0374デフォルトの名無しさんNGNG
cv っていうほどでもないかもしれませんが
COLORREF の赤の要素を取り出したいのですがどうすればよいでしょう?
0375デフォルトの名無しさんNGNG
>>374
GetRValue
0376デフォルトの名無しさんNGNG
>>366
MS-DOSで実行可能なプログラムという意味なら無理。
"Win32 console application"という、コマンドプロンプト上で
実行可能な32bit Windows用のプログラムなら作れる。
0377デフォルトの名無しさんNGNG
ありがとうございます
0378366NGNG
>>376
サンクス!
0379デフォルトの名無しさんNGNG
いちいちお礼でageんな
0380デフォルトの名無しさんNGNG
最適化オプションを"無効"から"実行速度"に変えるとプログラムが動作しなくなりました。
同じような現象が起きた方いますか?対処法のヒントなどいただけるとありがたいのですが。
環境:Windows 2000 Pro. / Visual C++ 6.0
0381デフォルトの名無しさんNGNG
>>380
プログラム中のバグをなくす。
0382380NGNG
値が±1違っていました。
int a, b, c;
c=(int)(a / (b / 1000.0F));をc=(int)(a / (b / 1000.0));
に変えたら、なんでかよくわからないですが、動きました。
激しくスレ違いでした。すみません。
0383デフォルトの名無しさんNGNG
初心者です。
CとC++はどこがちがうの?
なんか、ソースみると同じに見えてしまう。
0384デフォルトの名無しさんNGNG
↑以後放置で。

↓はい次
0385デフォルトの名無しさんNGNG
C++とJavaはどう違うんでしょうか・・・・
0386デフォルトの名無しさんNGNG
↑以後放置で。

↓はい次
0387デフォルトの名無しさんNGNG
Win2000Pro SP3/VC++6.0 SP5です。

コンソールアプリ作っているんですが、ある処理を実行中に
その経過を表すものを作りたいのです。よくUNIXとかで

******** / [77%]

ってありますよね。あれがやりたいのですが。改行しない
で同じ行に書き直す?ことができれば可能と思うんですが。

なにか検索の手がかりになるキーワードだけでも教えて
ください。
0388デフォルトの名無しさんNGNG
>>387
CR(\r)を書き込めばいいよ。
0389387NGNG
そういうことか。。。\n使わなきゃいいんですよね。。。
ありがとうございました。

0390デフォルトの名無しさんNGNG
使っている参考本に
fseek(fp,0L,SEEK_SET); /* fpはFILEポインタ */
という一行があるのですが、
この"0L"とはなんなのでしょうか?
前後で何も定義して無いようですし、
普通に"0"でやっても通ってしまいます。
0391デフォルトの名無しさんNGNG
>>390
longを表すサフィックス
0・・・int型の0
0L・・・long int型の0
0392デフォルトの名無しさんNGNG
>>390
ANSI Cにおいてfseek()のプロトタイプ宣言を取り込んでいる場合
(要はstdio.hを#includeしている場合)は、コンパイラが
宣言に合わせて適宜型変換を行ってくれるので、long型であることを
明示する必要が無い。
K&R Cの場合、またはANSI Cでもプロトタイプ宣言を取り込んでいない
場合はコンパイラが自動的に面倒を見ることができないので、
仮引数がlong型である場合には、0Lのように型を明示して
実引数を渡さないと問題が生じる。
0393デフォルトの名無しさんNGNG
Win98SE VC++6.0 SP5
ツールバーの背景色が変なんですが、何が原因でしょうか?
0394デフォルトの名無しさんNGNG
>>393
どう変なのか書けよボケ
0395 NGNG
VisualC++ 6.0 Professional Edition を使っているのですが、
メモリリークの検出方法がわかりません。
教えてください。
0396デフォルトの名無しさんNGNG
ttp://www.google.co.jp/search?q=%E3%83%A1%E3%83%A2%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%AF%E3%81%AE%E6%A4%9C%E5%87%BA%E6%96%B9%E6%B3%95&ie=UTF-8&oe=UTF-8&hl=ja&lr=
0397ありがとうNGNG
0398デフォルトの名無しさんNGNG
このプログラムを終了できません。デバッグ中〜
というエラーがでました
IDEの操作もできず、終了させられません
このプログラムを終了させるにはどうすればいいのでしょうか?
終了のショートカットなどあれば教えてください
0399フォルNGNG
alt ctl del
0400デフォルトの名無しさんNGNG
>>399
それでも
>このプログラムを終了できません。デバッグ中〜
がでてきました

結局IDEごと落とすことにしました、まだ脳内にソースが残っているうちに……
お騒がせしました
0401aaaNGNG
質問
Windows xp にVc++6.0 Standerd Editionってインストールできますか?
インストールの途中でC:\WINDOWS:\system32:\Msjint35.dllが開けないって言われたんですけど
どうすればいいんですか?教えてください。
0402デフォルトの名無しさんNGNG
http://www.google.co.jp/search?q=cache:s_SPAlqf2S0C:dynabook.com/assistpc/download/modify/sfepg/+Msjint35.dll&hl=ja&lr=lang_ja&ie=UTF-8
0403デフォルトの名無しさんNGNG
ボタンの色(背景)を変えたい時はどうすればいいですか?
0404デフォルトの名無しさんNGNG
>>403
CBitmapButtonやオーナードローなど。
0405デフォルトの名無しさんNGNG
BSTR型のデータをchar文字列を取り出すにはどうしたらいいですか?
ストリングの型が多すぎてついて行けません。
解りやすく解説したサイトなどないでしょうか。
0406デフォルトの名無しさんNGNG
>>405
strcpyとか。
0407デフォルトの名無しさんNGNG
マシンIDを取得したいのですが、下のようにやっても
szTextにはゴミのような値が入っています。
どうしたらいいのでしょうか?

void GetDataString(char *szName, char *szValue)
{
HKEY hKey;
DWORD dwType = REG_SZ;
DWORD dwByte = 32;

RegOpenKeyEx(HKEY_CURRENT_USER, "Identities", 0, KEY_QUERY_VALUE, &hKey);
RegQueryValueEx(hKey,szName,NULL,&dwType,(BYTE *)szValue,&dwByte);
RegCloseKey(hKey);
return;
}

char szText[80];
GetDataString("User ID", szText);
0408名無し@沢村NGNG
>>405
#include <comdef.h>
BSTR bstr;
として
char* p = _bstr_t(bstr, true);

>>406
不正解
0409デフォルトの名無しさんNGNG
Visual C++.netでソースのインデントとかがぐちゃぐちゃに崩れたときに、
自動整列させるにはどうすればいいですか?
0410あNGNG
>409
Ctrl+Aで全選択
↓
Ctrl押しながら K
そのままCtrl押しつづけて F
0411デフォルトの名無しさんNGNG
>>410
ありがとうございます。これを待ってました。

・・・これをGUIのボタン一発でできないでしょうか?
0412デフォルトの名無しさんNGNG
>>411 マクロを書いて、そのコマンドをボタンに割り当てる
0413デフォルトの名無しさんNGNG
CAsyncSocketを用いたサーバー側TCPIPのプログラムを書いてます。
SOCKET の生成→リスニング開始→OnAcceptイベント

までは来るのですが、
そのあと、
ハンドラ内でAcceptして抜けた後、
クライアント側でデータ送信しても
OnRecieveイベントが発生しません。
Acceptの戻り値は正常終了しています。


LANアナライザで見ると
PUSHにたいしてACKは返っているのですが、
送信するたびにWINDOWサイズが小さくなっているので
サーバー側は受け取っているのだけどイベントが
発生しないので取り出されずに
バッファを消費していっている感じです。

なにか考えられるミスはありますか?

ちなみにクライアントがMFCでないのでアーカイブはつかえません。
0414デフォルトの名無しさんNGNG
>>413
CAsyncSocketなぞ使う貴様が悪い。
Winsockを直接叩け!
0415デフォルトの名無しさんNGNG
>>414

( ´,_ゝ`)プッ  まともに答えられる知識がないなら、最初からレスするなよ。
0416デフォルトの名無しさんNGNG
そうかな
0417デフォルトの名無しさんNGNG
VC++ 6.0を使って、コンソールアプリを作成しています。
アプリは完成しました。ですが、スピードがいまいちなので、
プロファイルを実行して最適化をする必要がでました。

プロジェクトの設定で、リンク->プロファイルを行う に
チェックボックスをつけても、一度目のクリックでは有効にならず、
二度目のクリックで有効になります。しかし、ほかのタブを表示
させて、もう一度開いてみるとチェックボックスが外れています。

Professional Editionを使っているので、プロファイルは使える
はずなのですが・・・。なにが悪いのでしょうか?
0418デフォルトの名無しさんNGNG
>>417
http://www.hidecnet.ne.jp/~sinzan/tips/vc/vc_tip08.htm
0419デフォルトの名無しさんNGNG
現在VC++でSDKをやり始めようとしている者です。
すごく初歩的な質問だとは思いますが、システムメニューの改造で、
DeleteMenu()関数でシステムメニューのいらない項目を削除してから、
AppendMenu()関数で新しく項目を追加して、
その項目を選ぶとメッセージボックスが出るようにしようとしてるんですが、
AppendMenu()関数の第3引数に新しく追加する項目のIDを入れるというのはわかるのですが、
そのIDってのはそこで自分で考えたIDで良いんですか?
適当に(例えばIDM_TESTとか)入れてコンパイルしても、
'IDM_TEST' : 定義されていない識別子です。
と言われ、コンパイル出来ません。ヘッダで#defineで適当な数字を入れても
コンパイルは出来るのですが、新しく追加した項目をクリックしても何も起きません。
(一応クリックしてからのイベントは記述してます)
長文になってしまいましたがどなたかAppendMenu()の使い方を教えてください。
0420デフォルトの名無しさんNGNG
>>419
システムメニューに追加する場合はIDの範囲が決まっていたような。
0421デフォルトの名無しさんNGNG
…と、SDKか。失礼。
0422419NGNG
自己解決しました・・・。ほんまにごめんなさい。
AppendMenu()の使い方とIDの定義をしなくてはいけないってのは合ってたんですが、
システムメニューからのメッセージの捕らえ方を間違ってました・・・。
システムメニューからのメッセージはWM_SYSCOMMANDなのにWM_COMMANDでやってました・・・。
そりゃ動かねーわ。ほんまにアフォみたいなミスやってすんませんでした。
0423デフォルトの名無しさんNGNG
VC6,SDK,Win2000で作っています。
あるウインドウでのフォーカスの状態を調べようと思い(別アプリ)、
AttachThreadInput(nTargetID, nForegroundID, TRUE );
hFocus = GetFocus();
AttachThreadInput(nTargetID, nForegroundID, FALSE );
という感じでスレッドをアタッチしてから取得しているのですが、
このアプリケーションの前に立ち上げたアプリだとうまくいくのですが、
あとに立ち上げたアプリだと若干動作がおかしくなります。
(自アプリを2回クリックしないと自アプリがアクティブにならない)
別アプリのフォーカスを取得する良い方法があればアドバイスお願いします。
0424デフォルトの名無しさんNGNG
VC++で書かれた多変量解析のサンプルプログラムを紹介してる
HPか書籍ないですかね?
0425デフォルトの名無しさんNGNG
プロジェクトの設定→リンカオプションで
[オブジェクト/ライブラリ モジュール]は、VC++.netではなんという項目に
なるんでしょうか?
0426デフォルトの名無しさんNGNG
>>424
http://www.google.com/search?q=%E5%A4%9A%E5%A4%89%E9%87%8F%E8%A7%A3%E6%9E%90+%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0
0427デフォルトの名無しさんNGNG
CFileException::sharingViolation SHARE.EXE 未ロードまたは共有領域ロック済み

CFile::openで↑のようなエラーが帰ってくるんですが
どうしたらいいですか?

0428デフォルトの名無しさんNGNG
close()してないだけでした・・・
0429デフォルトの名無しさんNGNG
シェルでMS-DOSを開いて命令を与えられますか。
例:自分のプログラムからIPを取得してDOS窓を起動してそこから、取得したIPにpingする。
0430デフォルトの名無しさんNGNG
MS-DOSってエミュレーターでも走らせるの?
それともWindows3.1以前の話?
0431429NGNG
コマンドプロンプトです^^;
0432デフォルトの名無しさんNGNG
PINGならicmp.dllを使うべき、わざわざ外部コマンドを使う意味はない
生ソケットからのICMPは特権ユーザでないと出来ないのでお勧めしない
0433hsm-ip1273.enjoy.ne.jpNGNG
ネット初心者です。いじめないでね(/ε\*)
0434デフォルトの名無しさんNGNG
ふしあなさんやっちまったヽ( ・∀・)ノいじめないでね(/ε\*)
0435デフォルトの名無しさんNGNG
練習用プログラムを卒業し、実用的なプログラム組んだりするのは、どんな風に勉強すればいいんでしょう
0436デフォルトの名無しさんNGNG
>>435
何か目標を決めるといいかも。
例えば2chブラウザつくってやるぜー!とか。
0437デフォルトの名無しさんNGNG
>>433
デオデオのプロバイか?
0438デフォルトの名無しさんNGNG
>>435
ゲーム製作技術板が実質的な初級プログラム板ですので
そこで垂れ流してみるのがいいかと
0439デフォルトの名無しさんNGNG
あそこは嵐ばかりでまともなスレが存在しない隔離板
0440414NGNG
おい、俺はいつになったら叩かれるんだ?
ネットでも独りぼっちなんて寂しいよ。。。
おまけに>>415みたいなアフォに煽られるしさ
0441デフォルトの名無しさんNGNG
414 は放置
0442デフォルトの名無しさんNGNG
すべてのブレークポイントを解除とかないですか?
VC6です
0443デフォルトの名無しさんNGNG
設定->ブレークポイント(Alt+F9)->全て削除->OK
0444デフォルトの名無しさんNGNG
スマン間違い
×設定
○編集
0445デフォルトの名無しさんNGNG
Windows98 にインストールしている VisualC++、MSDN を
Windows2000からでも使用できるようにする方法を
どなたか、ご存知ではありませんか?
OSは、98 と 2000 インストールした状況での話です。
0446デフォルトの名無しさんNGNG
VC++6.0を使っているのですが、
プログラムを作っている最中に、いきなりtabやEnter,Spaceのキーが効かなくなりました。

スペースを押すと、今まで書いたコードが1字ずつ消えていったり
リターンを押すと、改行がされないまま、次の行にカーソルが移動してしまいます

この場合、どうすれば元の状態になるのでしょうか
0447デフォルトの名無しさんNGNG
>446
再起動
いや、正しい直しかたは知らないのごめん
0448446NGNG
>>447

あっ、本当に直りました
ありがとうございました

>>445
すんません
僕には分からないです
0449デフォルトの名無しさんNGNG
http://www.agemasukudasai.com/bloom/
0450デフォルトの名無しさんNGNG
>>445
ムリ
98と2000で使ってるレジストリも違うし。
デュアルブートしてるんなら、それぞれ別のPCと考えたほうがいいよ。
0451デフォルトの名無しさんNGNG
>>445
同じ場所にもう一度インストールするだけで両方から使える
0452デフォルトの名無しさんNGNG
>>443さんきう
0453445NGNG
>450
分かりました。あきらめます。
0454デフォルトの名無しさんNGNG
>>446
insertキー押して上書きモードになってたんじゃないの?
0455あNGNG
>454
どうなんでしょうか。
それはさておき、
私の環境のVC.NETでも
似て非なる現象に出会ってます。
発生するタイミングは適当としかいえない
タイミング。
起動したとたんもあるし、そうじゃないときもある。
再現させろと言われてもできないが、一日やってたらそのうち発生するレベル。
状況は>446と似ているが、微妙に(?)違う。
Enterキーを押すと、次の行にいかず、行と行の間にいくw
タイプするともちろん上書き。
でも見かけ上は明らかに描画がおかしく、
重なった文字がつぶしあっているようにも見える。
VCの再起動でなおる。
ファイルが壊れるとかそういうのはないので
さっさと保存ー>再起動  って感じ。
まぁ最近VC使ってないんで得に困ってない。
似たような話しあったんで書いてみました。
みなさんいかが?私だけ?
ちなみにインスト直後から発生してます。
WinXP VC.NET
0456デフォルトの名無しさんNGNG
>>455
書き方がネタくせェ……
0457はじめましてNGNG
今エクスプローラみたいのを作成していて
ファイルの拡張子に対応したアイコンをリストビューに割り当てる
というのに挑戦しています。
HIMAGELIST himlSmall;
SHFILEINFO shfi;
himlSmall=(HIMAGELIST)SHGetFileInfo((LPCSTR)filename,FILE_ATTRIBUTE_NORMAL,&sfi_s,sizeof(SHFILEINFO),SHGFI_SMALLICON |SHGFI_SYSICONINDEX);

ListView_SetImageList(hlist, himlSmall, LVSIL_SMALL);

としてはじめにイメージリストをリストビューに割り当て
その後は行を追加するごとに
SHFILEINFO sfi;
SHGetFileInfo((LPCSTR)fimename,FILE_ATTRIBUTE_NORMAL,&sfi,sizeof(SHFILEINFO),SHGFI_USEFILEATTRIBUTES | SHGFI_SMALLICON);

のようにして取得したイメージリストのインデックスを
リストビューに追加する際に利用して

LV_ITEM item;
item.mask = LVIF_TEXT;
...
...
item.iImage = shfi.iIcon;
ListView_InsertItem(hlist, &item);

このような感じにしているのですが、
なぜか、かならず、ドライブを共有している時に出てくる手のアイコン、
が表示されてしまい、思ったとおりのアイコンがまるで出てきません。

何か原因がわかる方いらっしゃいますでしょうか?
0458デフォルトの名無しさんNGNG
2回目のSHGetFileInfoに
SHGFI_SYSICONINDEX
がない
0459はじめましてNGNG
>>458
やってみましたが、やっぱり共有のアイコンが何故か表示されます。しかも全行。
0460デフォルトの名無しさんNGNG
    _, ._
  ( ゜ Д゜)
0461デフォルトの名無しさんNGNG
item.mask = LVIF_TEXTに
LVIF_IMAGE
がない
0462はじめましてNGNG
>>461

う、うまくいきました!ありがとうございまう!
もう随分長く考え込んでいて諦めかけてたところでした。。。。
0463デフォルトの名無しさんNGNG
ダイアログにラジオボタンを4つ作って
それぞれ2つづつグループボックスで囲んで
グループにチェックを入れているんですが
片一方のグループのボタンを押すともう片一方のグループの
チェックまで外れてしまいます.
どうすればいいですか
0464463NGNG
あげ
0465デフォルトの名無しさんNGNG
各グループの先頭ラジオボタンのプロパティを開いてグループにチェック
0466デフォルトの名無しさんNGNG
片一方のグループ先頭のラジオのプロパティに
グループのチェック
がない
0467463NGNG
何とか解決しました・・・
ありがとうございました
0468デフォルトの名無しさんNGNG
LVM_SETTEXTCOLOR

で、リストビューのテキスト色が変えられるらしいですが、
行ごとに違う色を指定って可能なんでしょうか?
0469デフォルトの名無しさんNGNG
オーナードローなら出来るンじゃないかな。
0470デフォルトの名無しさんNGNG
かすたむどろー
0471デフォルトの名無しさんNGNG
最近はVB使う人の方があまり教えなくつめたい人種になってきたな。
0472フォルトの名無しさんNGNG
VC++.netを使ってスケルトン使わず最初から自分で作りたい時は
新規作成から何を選べばいいのでしょうか?
0473デフォルトの名無しさんNGNG
makefileで
project.obj : project.cpp project.h;
cl project.cpp
としたとき
fatal erro project.h:プログラムが見つかりません
とエラーが出ます。ちゃんとファイルあるし、なぜだかよく分かりません。
お願いします。
0474デフォルトの名無しさんNGNG
シフトJISをJISに変換するAPIを教えてください
0475デフォルトの名無しさんNGNG
エクセルとかワードを起動する時に一瞬出てくる画面は
どうやって描画するのでしょうか?

リソースに含まれているビットマップを
画面の中央に決めた時間だけ表示できればいいです。
お願いします。
0476デフォルトの名無しさんNGNG
>>475
スプラッシュ スクリーン
で検索しる
0477名無し@沢村NGNG
>>472
ヌヒよ、「Win32アプリケーション」を選択して、ウィザードで「空のプロジェクト」をオンにするといいぞ。
0478472NGNG
沢村さんから教わるのは2度目です。
有難う御座いました。
0479デフォルトの名無しさんNGNG
いい!
http://hkwr.com/
0480デフォルトの名無しさん NGNG
恋の予感
0481デフォルトの名無しさんNGNG
int bch = '\0";
の\0ってどういう意味でしょうか?
0482デフォルトの名無しさんNGNG
'\0';の間違い
0483デフォルトの名無しさんNGNG
>>481
ぬるぽ
0484デフォルトの名無しさんNGNG
>>481
初心者向けのC言語入門書を見ることをオススメする


  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/
 (_フ彡        /  ←>>483
0485デフォルトの名無しさんNGNG
ラーメンくいてえ!
0486デフォルトの名無しさんNGNG
VC++.netで#include<iostream.h>
としたらエラーになるんですが、何が間違ってるんでしょうか?
0487デフォルトの名無しさんNGNG
ぬるぽって言うとなんでなぐられるねん?
0488デフォルトの名無しさんNGNG
VC6の環境にPlatformSDK(のCoreSDK)を導入しようとしています。
例えば 2001-November というバージョンだと、インストールメニューに
includeとかlibとかのPATHをVCにセットアップする項目があるのですが、
この 2001-November より後のバージョンでは消えています。
しかたがないのでPATHを手動で[ツール]-[オプション]-[ディレクトリ]にて
更新していますが、これは間違っているのですか?
0489デフォルトの名無しさんNGNG
>>487
http://dictionary.goo.ne.jp/cgi-bin/dict_search.cgi?MT=%A4%CC%A4%EB%A4%DD+%B2%A5%A4%EB&sw=2
0490デフォルトの名無しさんNGNG
iostream.h は古い C++ 規格のもので原稿では iostream かと
0491デフォルトの名無しさんNGNG
2001 年 10 月リリースのは VC6 には対応してたと思うが
それ以降のは見捨てられていて VC6 では使えないとか
0492デフォルトの名無しさんNGNG
>>489
ワラタ
0493デフォルトの名無しさんNGNG
  モンドウムヨウ
  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/
 (_フ彡        /  ←>>487
0494デフォルトの名無しさんNGNG
>>486
どうしてあなた方厨房はエラーの内容を書かないんですか
0495デフォルトの名無しさんNGNG
>>494
わざわざエラーを書かなくても一目瞭然で答えられる内容だからです。
0496デフォルトの名無しさんNGNG
>>491
VC6でもOct.2002は使えるが?
スタートメニューにVisual Studio Registrationという項目があるはず
0497デフォルトの名無しさんNGNG
>>490-491
有難うございました。
0498デフォルトの名無しさんNGNG
すいません どこで聞いたらいいかわからなかったんで、質問させてください
前々から使いにくいと思ってたんですが、VC++で「行番号」って表示できないでしょうか?
0499デフォルトの名無しさんNGNG
CStringやらCFileのようにCから始まるオブジェクトや関数はMFC
のものだって認識しても間違いないでしょか?そんな覚え方やめた
ほうがいいです?
0500499NGNG
>オブジェクトや関数
いや関数なんてないか、Cからはじまるオブジェクトに訂正
0501デフォルトの名無しさんNGNG
>>498
デフォルトで右下に表示されてまつが。

0502498NGNG
>>501 そうそう 右下に小さくなら表示されてますよね?
あれを普通のエディタみたいにコード書いてる横に表示させたいんですよね
0503デフォルトの名無しさんNGNG
VC++6とVC++.netを比較するとどちらが扱いやすいのん?
また、双方の短所と長所を教えてくだされ。
0504デフォルトの名無しさんNGNG
扱いやすさなんて感性的なもの人それぞれ
0505デフォルトの名無しさんNGNG
VC++.netで、以下を記述するとエラーが沢山出るのですが、なぜでしょうか
#include <iostream>
int main()
{
int year;
cout << "西暦?";
cin >> year;
cout << "次の行に表示する数が0ならオリンピックは開催されます"
<< end1 << year % 4 << end1;
return 0;
}
0506デフォルトの名無しさんNGNG
ライブラリの仕様を理解していないから
0507デフォルトの名無しさんNGNG
デバッグのやり方を全く知らないので、ビルドしたらすぐ実行して、おかし
かったらソースを眺める、ということをしています。
もしとんでもないコードを書いていたら、(開発環境の)OSごと落ちる
、ということはあるんでしょうか?
もしあるなら、なんでもすぐ実行するのは危険なんでしょうか?
0508デフォルトの名無しさんNGNG
>>499
他人が作ったライブラリでもCから始まるクラスはよく見るよ。
MFCだけのものではない。

>>505
>>494
0509デフォルトの名無しさんNGNG
>>507
君には「設計」という言葉をあげよう
0510デフォルトの名無しさんNGNG
>>507
>落ちる、ということはあるんでしょうか?
よくある。書いてるソースの内容にもよるが。
>危険なんでしょうか?
頭に超がつくほど危険だ。
君は終了条件が存在しないループを書いたことはあるかい?
0511499NGNG
>他人が作ったライブラリでもCから始まるクラスはよく見るよ。
>MFCだけのものではない。

あるのですか・・Cってなんだろう。まさかC++のCじゃあるまいしなぁ
0512デフォルトの名無しさんNGNG
>>499
>Cから始まるオブジェクトや関数
>>508
>Cから始まるクラス
0513デフォルトの名無しさんNGNG
>>511
classのC
0514デフォルトの名無しさんNGNG
>>505
#include <iostream>の下に「using namespace std;」と書け。
0515sageNGNG
質問があります。
MFC AppWizardを使ってダイアログベースのプロジェクトを作り、リソースエディターでエディットボックスのオブジェクトを作ります。

ここからが質問ですが。
ビルド&実行し、作成したエディットボックスにフォーカスを当てて、リターンキーを押すとプログラムが終了しまう動作が理解できません。
幸いエディットボックスの複数行(M)にチェックをいれると終了しなくなりますが、その理由がわからず夜も眠れません。
よろしくおねがいします。
0516デフォルトの名無しさんNGNG
>>515
昼寝しる。
0517デフォルトの名無しさんNGNG
>>515
キーワード

デフォルト OnOK
0518デフォルトの名無しさんNGNG
.NET Studioを使ってます。
ダイアログエディタでコンボボックスを配置したんですが
ドロップダウンの高さを指定する方法がわかりません。
VC++6.0だと枠のサイズを変えようとすると
コントロールそのもののサイズではなく
ドロップダウンのサイズが変更されるようになっていたように
思うんですが・・・
なんで起動させて▼ボタンを押してもドロップダウンしません・・・

0519デフォルトの名無しさんNGNG
>>518
デザイン画面で▼ボタンをクリックした後、枠に表示されるハンドル(■)を
ドラッグしてみなされ。
0520518NGNG
速レスありがとん!できました、できました。
実は2ちゃんブラウザ開発中だったりする。
このコンボボックスは書き込みの名前入力用。
ゾヌみたいに一度入力した物はドロップダウンで出てくるようにと。
0521デフォルトの名無しさんNGNG
SDKで作っています。
ポップアップウインドウを作成したのですが、
タスクバーに16×16のアイコンが表示されません。
どなたか表示させる方法知っている方がいたら教えてください。
0522デフォルトの名無しさんNGNG
     ____
    /∵∴∵∴\
   /∵∴∵∴∵∴\
  /∵∴∴,(・)(・)∴|
  |∵∵/   ○ \|
  |∵ /  三 | 三 |  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  |∵ |   __|__  | <  >>505 end1って何
   \|   \_/ /  \_________________
     \____/
   ______.ノ       (⌒)
  //::::::::|-、 ,-/::::::ノ ~.レ-r┐
/ /:::::::::::|  /:::::ノ__ | .| ト、
| /:::::::::::::::| 〈 ̄   `-Lλ_レ′
レ::::::::::::::::::|/::: ̄`ー‐---‐′
0523デフォルトの名無しさんNGNG
>>505

end1をendlに変えてみなさい
0524デフォルトの名無しさんNGNG
end>>1;
0525デフォルトの名無しさんNGNG
前、スプラッシュウィンドウの出し方を聞いたヤシですが、
その後検索して調べた結果、ヤパシは分かりませんですた。

詳しく教えていただけないでしょうか?
0526デフォルトの名無しさんNGNG
MFCをお使いであれば、以下の操作で簡単に導入することができます。
[プロジェクト]メニュー
[プロジェクトへ追加] - [コンポーネントおよびコントロール]コマンド
[Visual C++ Components]フォルダの[スプラッシュスクリーン]を
選んで挿入ボタンを押す。

↑
っていうのが検索でひっかかったよ
メーリングリストとかにも色々書かれてるからそっちもマメに見るべし
0527515NGNG
>>517
>デフォルトのプッシュボタン = OnOK
ありがとうございました。
0528デフォルトの名無しさんNGNG
>>526
親切にありがとです。
自分は、MFC使ってないのでどうにもなりませんでした。
しかも.netなのでこれがあるか分かりません。
6.0の友達に試してもらったら、ちゃんと動いたとのことです。

単純なAPIでビットマップを表示することはできないんですかね?(画面のセンター)
0529デフォルトの名無しさんNGNG
何か最近VSが飛びやすい。しかもただ飛ぶだけじゃなくてOSごと逝ってしまう。Win2000なのにな。
何でだろ?
0530デフォルトの名無しさんNGNG
俺も前にスプラッシュスクリーン朝鮮してみたけど挫折した・・・。
という事で>>528には自前でダイアログ作ってそこにビットマップを張りつける方法を提案する。
0531デフォルトの名無しさんNGNG
>>526
.netでそれなくなったんだよね。
それともおいらが見つけられないだけ?

>>530
初心者は良く手抜きしてモーダルにすると泣きそうになってるが、
モードレスダイアログ使えばめちゃめちゃ簡単だな。
0532デフォルトの名無しさんNGNG
モードレスダイアログでタイマー指定して一定時間たったら消す……と。
0533デフォルトの名無しさんNGNG
>>498
行番号表示は、
VisualC++.NETでは可能。オプションとカスタマイズのあたりを探してくれ。
VC6は覚えてない。できたような気もするが…

>>531
コンポーネントギャラリー無いねえ。困ったもんだ。
0534デフォルトの名無しさんNGNG
ファイルをD&Dしてファイル情報がリストに表示できる物を作ろうとしています。

CformViewを基本クラスにしてリストビューを貼り付けました。
ウィンドウのサイズを変更したら貼り付けたのがいっしょに大きくならないです。

これはどうすればよいのでしょうか?
基本クラスの選択を間違えたのでしょうか?
ウインドウサイズ変更の際に何か関数を呼ばなくてはいけないのでしょうか?

よろしくお願いします。
0535534NGNG
age
0536デフォルトの名無しさんNGNG
> ウインドウサイズ変更の際に何か関数を呼ばなくてはいけないのでしょうか?
そうです。以上
0537デフォルトの名無しさんNGNG
つーかCFormViewじゃなくてCListView使えって話だろうな

> 基本クラスの選択を間違えたのでしょうか?
そうです。以上
0538デフォルトの名無しさんNGNG
VC++6.0、WINXP、MFCの環境です。リストボックスから選んだ項目を削除する
にはどういったコーディングをすればよいのでしょうか?御教授お願いします。
0539デフォルトの名無しさんNGNG
   ,.´ / Vヽヽ
    ! i iノノリ)) 〉
    i l l.´ヮ`ノリ <先生!こんなのがありました!
    l く/_只ヽ    
  | ̄ ̄ ̄ ̄ ̄|
http://saitama.gasuki.com/wara/
0540デフォルトの名無しさんNGNG
>>538
http://www.google.com/search?hl=ja&ie=Shift_JIS&q=MFC+CListBox+%8D%ED%8F%9C&btnG=Google+%8C%9F%8D%F5&lr=lang_ja
0541デフォルトの名無しさんNGNG
Visual c++ 6.0はなんとかビルト、コンパイル、実行ができたのですが、
Visual Stdio Netになったら、プログラムを書いたはいいけど、
どうやって実行させたらいいか、もう皆目分かりません。
ヘルプ読んでも日本語が分からなくって。。。
どなたか教えて下さい!!!
0542デフォルトの名無しさんNGNG
> ヘルプ読んでも日本語が分からなくって。。。
Hmmmmmmm. Well, can you understand English?
0543デフォルトの名無しさんNGNG
日本語が分からないということは外国人の方ですか?
英語のヘルプを読むか日本語学校へ通うことをおすすめします。
0544デフォルトの名無しさんNGNG
>>542
ケコーン
0545デフォルトの名無しさんNGNG
日本語訳がおかしいとか考えつかないんだろうなぁ。
外国人著者 日本語訳の技術書なんて読まないんだろうなぁ。
0546デフォルトの名無しさんNGNG
低学歴は英語のヘルプを読もうなんて考えつかないんだろうなぁ。
0547デフォルトの名無しさんNGNG

つか、日本語版なのに英語ドキュメントやめれ。

0548デフォルトの名無しさんNGNG
訳がおかしかろうと概要さえつかめれば問題はないと思うが
どのみち使ってみないことには説明通りに動作するか信用できないし
0549sageNGNG
C++でWindowsを組む時に
プロジェクト→設定→リンク
で、libを追加したよね?
何だっけ?ド忘れしてしまった。
0550デフォルトの名無しさんNGNG
>>549
winmm.libのことか?
0551549NGNG
>>550
そう!それだ!ありがとう!
あと、何かあったけ?
0552デフォルトの名無しさんNGNG
ソース配るとき面倒だから、#pragma comment(lib, "winmm.lib" ) 埋めとけ
0553549NGNG
>>522
わかった、ありがとう!

もう1度最初からやり直すか…。
0554デフォルトの名無しさんNGNG
VC6でビルド完了した時に鳴る音が鳴らなくなってしまったんだけど
何でだろう?
設定変えた覚えも無いし・・・
0555デフォルトの名無しさんNGNG
>>531
ガッ
0556デフォルトの名無しさんNGNG
>>554 コンパネのサウンドの設定見てみた?
0557554NGNG
>>554
他のソフトの音は問題なく出るんだけど
VCだけがなぜか出ないんですよ
2年くらいそんなこと無かったのに・・・
0558デフォルトの名無しさんNGNG
だから、サウンドの設定はどうなってるのよ。
オーディオの設定じゃないよ。
0559554NGNG
>>558
おっしゃる通りコンパネで設定したらOKでした。多謝!
0560デフォルトの名無しさんNGNG
ビルド完了すると、どんなあえぎ声が聞こえてくるように設定したのですか?
0561デフォルトの名無しさんNGNG
「ウエー・ハッハッハッハッハー」
0562デフォルトの名無しさんNGNG
>>560
「キタ━━━━━━\(゚∀゚)/━━━━━━ !!!!!」
0563デフォルトの名無しさんNGNG
>>560
高田由美のあえぎ声
0564デフォルトの名無しさんNGNG
満場一致で 561 が支持されますた
0565デフォルトの名無しさんNGNG
「ぬるぽ」
0566デフォルトの名無しさんNGNG
  ___   ガスッ
 |___ミ      ギビシッ
   .||  ヾ ミ 、      グシャッ
   ∩_∧/ヾヽ
   | ,| ゚∀゚). .|  |;,      ゲシッ
  / ⌒二⊃=|  |∵.
 .O   ノ %`ー‐'⊂⌒ヽ  ゴショッ
   ) ) ) )~ ̄ ̄()__   )
  ヽ,lヽ) (;;;;;;;;;;;;;;;;;)(_( >>565
0567デフォルトの名無しさんNGNG
ビルド完了のたびに殴らにゃいかんのか・・・
0568デフォルトの名無しさんNGNG
>>563
激しく萎える。
0569デフォルトの名無しさんNGNG
565 が一番萌えるということでよろしいか?
0570デフォルトの名無しさんNGNG
Visual C++ 6のstd::vectorに
メモリリークがあるとの噂を聞いたのですが(デマかもしれませんが)、
真偽を確かめられる方はいませんか?
私には現在VC++環境がなく確かめられません。

噂の出どころ:
http://ex.2ch.net/test/read.cgi/net/1046884734/739n-
0571デフォルトの名無しさんNGNG
>>570
バグの総合商社のVC++6付属STLをSTLPortに差し替えずにそのまま
使ってる香具師の気が知れません。
0572570NGNG
続伸です。メモリリークを疑った根拠は
「BoundsChecker使ってて検出され」たというものだそうです。

一方、「codeguard」では検出されても問題なかったという話もあるようです。
(下記の「2003/02/11 23:55.06」の項)
ttp://www.zeroscape.org/cgi-bin/mb/mblog.cgi?channel=Programming&page=1636-1936

>>571
危ないのですか?
上に書いた通りの話だったのでシロかもと思っていたのですが…。

簡単に検索してみたところ、確かにきなくさい話もあるみたいですね。
ttp://n76cd-01p05.ppp11.odn.ad.jp/old/06750.html

何のバグかは不明ですが、STLにバグがあるのは間違いないようですね。
(具体的な記述のあるらしい英文の方はまだ確認できていません。
ベクトルを大きくするときに失敗する、と書いてあるようでかなり怪しそうですが…)
ttp://www.mtl.t.u-tokyo.ac.jp/~nminoru/pc/mfc.html
0573デフォルトの名無しさんNGNG
.NETでは直っているのだろうが
ttp://www.dinkumware.com/vc_fixes.html
0574あいぼんNGNG
VC++で作成したファイルの逆コンパイルの仕方が知りたいです。
0575初心者NGNG
#define DECLARE_HANDLE(x) typedef WORD x って定義されてますよね。
ハンドル型はDECLARE_HANDLEマクロを使ってWORDの別名定義にされてる。
なのにどうしてsizeof(HANDLE)の結果は4バイトになるか、解かる方いませんでしょうか..
0576デフォルトの名無しさんNGNG
winnt.h:

#ifdef STRICT
typedef void *HANDLE;
#define DECLARE_HANDLE(name) struct name##__ { int unused; }; typedef struct name##__ *name
#else
typedef PVOID HANDLE;
#define DECLARE_HANDLE(name) typedef HANDLE name
#endif
0577デフォルトの名無しさんNGNG
マウスの座標を教えてください
0578デフォルトの名無しさんNGNG
マウスは常に動かしているので何とも言えません
0579デフォルトの名無しさんNGNG
>>574
ナニしたいか知らんが、クラック目的なら割れサイト回ってソフトICE使え。
0580デフォルトの名無しさんNGNG
マウスの座標を取得する方法を教えてください
0581GetCursorPosNGNG
>>580
578に尋ねろ

0582デフォルトの名無しさんNGNG
>>581
ありがとうございます
こんなに人に優しくされたのははじめてです・゚・(ノД`)・゚・
0583デフォルトの名無しさんNGNG
コンソールアプリてなんでしょ?
MFCとかテンプレの基本的な差別ができません。
解説されてる所ないでしょうか。
0584デフォルトの名無しさんNGNG
差別はいけません
0585デフォルトの名無しさんNGNG
無差別格闘流
0586デフォルトの名無しさんNGNG
>>580
何をしたときのマウスの座標を聞いたほうが。
いごかしたとき、とかおさえつけたときとか。
0587デフォルトの名無しさんNGNG
マウスの囲碁化?
0588デフォルトの名無しさんNGNG
>>586
おちつけ
そして日本語で書いてくれ
0589デフォルトの名無しさんNGNG
外国の方からアドバイスが寄せられたようです
0590デフォルトの名無しさんNGNG
>>586
>おさえつけたとき
ワラタ
0591デフォルトの名無しさんNGNG
>>586
ワラタ
0592デフォルトの名無しさんNGNG
double型をMessageBox(?)で表示する場合のコーディングを教えて
下さい。
0593デフォルトの名無しさんNGNG
char szText[100];
double lfValue = 3.141592;
sprintf(szText, "%lf", fValue);
MessageBox(szText);
(未確認)
0594デフォルトの名無しさんNGNG
MFCなら CString::Format() だね
0595デフォルトの名無しさんNGNG
デスクトップを親ウィンドウにして作ったモードレスダイアログを
タスクバーから消す方法ある?
0596デフォルトの名無しさんNGNG
>>595
&= ~WS_EX_APPWINDOW
0597デフォルトの名無しさんNGNG
WS_EX_〜は拡張ウィンドウスタイルですか・・・
明日試してみます。サンクス。
0598あいぼんNGNG
>>579
勉強目的でソースが知りたいんです。
0599デフォルトの名無しさんNGNG
http://kotubunet.hp.infoseek.co.jp/king.htm
0600デフォルトの名無しさんNGNG
C++ .NET用の入門書として
何かいいものあれば教えてくれませんか?

http://www.amazon.co.jp/exec/obidos/ASIN/479731768X/qid=1047397176/sr=1-1/ref=sr_1_2_1/249-5797932-5526724
を本屋でパラパラ見た限りでは、あまり使えなさそうでした。
用途は新入社員用の入門テキストです。
VC6用の本なら山ほどあるんですけどね。
0601デフォルトの名無しさんNGNG
マルチうぜ
推薦図書スレ逝け
こんな奴に教えられる新入社員かわいそ
0602デフォルトの名無しさんNGNG
>>600
http://www.microsoft.com/japan/info/press/JPN_ViewMsPress.asp?Book_id=879&list_id=1
0603デフォルトの名無しさんNGNG
M$の例の24冊なんてどう?
0604デフォルトの名無しさんNGNG
char a[10];
strcpy(a, "abcdefghi\0");
としますよね。
それで、
a == "defghi\0"
という風にaの最初を3つ分ずらすにはどうするのでしょうか?
0605デフォルトの名無しさんNGNG
>>604
std::copy(a+3, a+strlen(a)+1, a);
0606デフォルトの名無しさんNGNG
>>604
文字列の最後のnulは自動で付くから自分で付ける必要はない
0607デフォルトの名無しさんNGNG
&a[3]
0608デフォルトの名無しさんNGNG
for(int i=0;i<7;i++) a[i]=a[i+3];
0609デフォルトの名無しさんNGNG
ありがとうございます。
0610デフォルトの名無しさんNGNG
stdクラスって何だ。
どういう思想または理由で存在しているのだ。
簡潔に教えれ。
0611デフォルトの名無しさんNGNG
そんなクラスはない
0612デフォルトの名無しさんNGNG
VCで常駐プログラムを作ったんだけど、
時々exe自体が壊れてしまい、起動しなくなることがあります。
理由の見当がつくかたおしえてください。
2000台に1台の割合くらいで発生しているようだ。
OSはたぶん95系だと思う。
0613デフォルトの名無しさんNGNG
本当にくだらなさすぎる&的外れっぽい質問なんですが・・・・・

MSのVC++とBorlandのC++builder
↑
この両者に違いはありますか?
前者にはヴィジュアルのVがついてますがどっちも同じように見えます。
ぶっちゃけ、ボタン置いたりしてプログラム書く辺り同じような気がするのですが。
大学で後者を使ってますが、家でもやりたいのでどちらを買うか迷ってます。

恥ずかしい質問ですがネタではありませんので・・・よろしければお答えください。
0614デフォルトの名無しさんNGNG
ずれてるし∧||∧

できれば使い慣れた(そこまで使いこなせないけど)後者を使いたいのですが
VC++とC++って違うものなのかそこのところさっぱり分からず困ってしまいました。
0615デフォルトの名無しさんNGNG
>>614
恐らくスレ違いでしょうが、評判を聞くとBCCの方が上なようです。
(ANSI C++への準拠がBCCの方が上らしい。)

当方VC++しか触ったことがありませんが
VC++でも特に不自由ないです。

全然、参考になりませんな。スマソ。
0616デフォルトの名無しさんNGNG
stdクラスはないんか。
んでは噂に聞いたテンプレートか。
テンプレートって便利ー?
0617デフォルトの名無しさんNGNG
>>613
VC++はVBほど簡単じゃない(全然Visualじゃない)ですが、
C++BuilderはVB並に簡単です。
0618デフォルトの名無しさんNGNG
>>616
stdは名前空間です
0619デフォルトの名無しさんNGNG
Builderの方が、いろんなコンポーネントなど簡単に実装できます。Delphiライクです。
欠点はexeのサイズが異常にでかくなる(当然スタチィックリンクでの配布の話)ことと、
シェアが圧倒的に少ないのでソース再配布時にネックになるかも知れないこと。
VCはいろいろ面倒です。でも一般企業ではほぼVC使ってると思います。
0620デフォルトの名無しさんNGNG
スタチィックはねーだろ、とセルフ突っ込み。
0621デフォルトの名無しさんNGNG
「性的結合」と100人中72.8人は思っただろうな…
でも、書いちゃうやつはおれひとり〜
0622614NGNG
レスくれた方々、こんなくだらない質問に答えてくださって本当にありがとうございます。・゚・(ノД`)・゚・。
将来はSE志望なので、慣れるまで大変そうだけど頑張ってVC++で勉強したいと思います。
0623デフォルトの名無しさんNGNG
オフスクリーンがうまくいかないんで、誰か教えてください。
まず、CStatic の派生クラスを作ってそのクラスの中で
裏画面を作成 → 表画面に転送ってな感じにしようと思ってるんだけど、
うまくいかないよー。 プログラムは以下!
// DrawGraph.h
class CDrawGraph : public CStatic
{
private:
HDC hMemDC,h;
HBITMAP hBmp,hOldBmp;
HPEN hPen,hOldPen;
HBRUSH hBrush,hOldBrush;
HRGN hRgn;
RECT rect ;
COLORREF m_PenColor , m_BackColor;
public:
SIZE m_Size ;
0624続きNGNG

// DrawGraph.cpp
BOOL CDrawGraph::CreateGraph(RECT rect2) {
rect = rect2 ;
hMemDC = CreateCompatibleDC(NULL); // HDC のハンドル取得
hBmp = CreateCompatibleBitmap(hMemDC,m_Size.cx,m_Size.cy);// ビットマップの作成
hOldBmp = (HBITMAP)SelectObject(hMemDC,hBmp);
hPen = CreatePen(PS_SOLID,1,RGB(0,255,0));//ペンの作成
hOldPen = (HPEN)SelectObject(hMemDC,hPen);
hBrush = CreateSolidBrush(RGB(255,0,0));//ブラシの作成
hOldBrush = (HBRUSH)SelectObject(hMemDC,hBrush);
hRgn = CreateRectRgn(0,0,rect.right,rect.bottom);
SelectObject(hMemDC,hRgn );
if(IntersectClipRect(hMemDC,0,0,rect.right,rect.bottom) == ERROR)
MessageBox("失敗");
int iRes = FillRgn(hMemDC,hRgn,hBrush);
if(iRes == 0)
MessageBox("失敗");
if(FillRect(hMemDC,&rect,hBrush) == FALSE) // 背景を塗る つもり
MessageBox("失敗");
return(FALSE);
}
BOOL CDrawGraph::ToDraw(double dblData) {
CClientDC DC(this);
BitBlt(DC,0,0,rect.right,rect.bottom,hMemDC,0,0,SRCCOPY);
SelectObject(hMemDC,hOldPen); //ペンを戻す これは必要?
SelectObject(hMemDC,hOldBmp); //ビットマップを戻す これは必要?
return(FALSE);
}
0625続きNGNG
んで、呼び出し方
//-------------------------------------
// main.h
//------------------------------
#include"DrawGraph.h"
DrawGraph m_Graph;
//-------------------------------------
// main.cpp
//------------------------------
DDX_Control(pDX, IDC_GRAPH, m_Graph );

void Cmain::main()
{
RECT rect ;
m_Graph.GetClientRect(&rect);
m_Graph.CreateGraph(rect);
m_Graph.ToDraw(100); //引数は将来拡張のため
}
void CMainteCurve::OnTimer(UINT nIDEvent)
{
switch(nIDEvent)
{
case S_TIMER:
m_Graph.ToDraw(100);

break;
}
CDialog::OnTimer(nIDEvent);
}
こんな感じ。
だれかわかる人教えて!
0626修正NGNG
>>624の5行目くらいの
hBmp = CreateCompatibleBitmap(hMemDC,m_Size.cx,m_Size.cy);// ビットマップの作成
は
hBmp = CreateCompatibleBitmap(hMemDC,rect.right,rect.bottom);// ビットマップの作成

にかえてちょ。
m_Sizeは使ってなかったよ・・・。

これでよろしく!
0627デフォルトの名無しさんNGNG
rectなのに幅を出さないで座標を指定しているようだが、
左上は0,0固定なのか?
0628デフォルトの名無しさんNGNG
昔、DOSのソフトを作っていたのですが、WindowsプログラムでもFileの読み書き(アスキー)は
fstreamでするのですか?
0629デフォルトの名無しさんNGNG
何を使うかは勝手なので好きなようにやればいい
0630DirectX beginnerNGNG
DirectXでゲームを作っているのですが
音を多重再生させるために音ごとにスレッドを立ち上げ
それぞれで ::CoCreateInstanceで
DirectSound8インスタンスを作ろうかと思っています。
(一つのアプリがいくつもスレッドを立ち上げそれぞれで
DirectX インスタンスを作成することになります)

こうするとプログラムが簡単になるのですが
この方針は問題ありますでしょうか?
ご指南よろしくおねがいします。
0631デフォルトの名無しさんNGNG
>>627
ん?どゆこと?

一応左上は0,0固定です。

幅は出す方法あるの?
0632デフォルトの名無しさんNGNG
↓話にならん。帰れ。
0633デフォルトの名無しさんNGNG
↑俺のこと???
0634デフォルトの名無しさんNGNG
↑そうお前だ。
0635デフォルトの名無しさんNGNG
ぬるぽ
0636デフォルトの名無しさんNGNG
>>623
単純に絵の出すプログラムじゃないの?
いや、OnPaint()に対応していないし、
OnTimerはいつセットしているの?
Main()で一発描くだけだと、一瞬描かれて
消去されているかもよ。
0637デフォルトの名無しさんNGNG
HINSTANCE hInstance;
hInstance = (HINSTANCE)GetWindowLong(hWnd,GWL_HINSTANCE);
↑ダイアログプロシージャで上の行がエラー(警告)になります。

エラー(警告)内容:
   warning C4312: '型キャスト' : 'LONG' からより大きいサイズの 'HINSTANCE' へ変換します。

警告といっても気になるので、どこを修正すればいいでしょうか?
・・・これだけの情報では足りないでしょうか?
0638デフォルトの名無しさんNGNG
>>636
FillRectで書いた四角を表示したいんです。
んで、OnPaintだと処理が遅くなるので使わないことにしてます。

OnTimerですが、実際にはmain()の一番下で呼んでいますが、
ここに書くの忘れました。すみません。

SetTimer(S_TIMER , 100 , 0);

S_TIMER は 1 です。

この状態で、DCに直接書けば当然書けます。

よろしくお願いします。
0639デフォルトの名無しさんNGNG
>>637
ほらよ
#pragma warning(disable:4312)
0640デフォルトの名無しさんNGNG
>>639
なんか強制的ですが、たしかになくなりました。
ありがとうございました。
0641デフォルトの名無しさんNGNG
>>636
m_Graph.CreateGraph(rect);
でビットマップ作成した後、
WindowのMapModeとかView,Windowを変更してないよね。
とりあえず、速度は無視してOnPaintでBitBltを使って描けるか試してみたら。
あと、TopとLeftを0,0と仮定しているけど大丈夫だよね、変えてないよね。
0642事故解決NGNG
なんかhMemDC = CreateCompatibleDC(DC); // HDC のハンドル取得
hBmp = CreateCompatibleBitmap(DC,m_Size.cx,m_Size.cy);// ビットマップの作成
hOldBmp = (HBITMAP)SelectObject(hMemDC,hBmp);
hPen = CreatePen(PS_SOLID,1,RGB(0,255,0));//ペンの作成
hOldPen = (HPEN)SelectObject(hMemDC,hPen);
hBrush = CreateSolidBrush(RGB(255,0,0));//ブラシの作成
hOldBrush = (HBRUSH)SelectObject(hMemDC,hBrush);
hRgn = CreateRectRgn(0,0,rect.right,rect.bottom);
SelectObject(hMemDC,hRgn );
if(IntersectClipRect(hMemDC,0,0,rect.right,rect.bottom) == ERROR)
MessageBox("失敗");
int iRes = FillRgn(hMemDC,hRgn,hBrush);
if(iRes == 0)
MessageBox("失敗");
if(FillRect(hMemDC,&rect,hBrush) == FALSE) // 背景を塗る つもり
MessageBox("失敗");
(ちょこっと改造)を
BOOL CDrawGraph::ToDraw(double dblData) {
CClientDC DC(this);
の下に入れたらできたよ。
でも動きがちょっと不安定。
0643デフォルトの名無しさんNGNG
リストビューコントロールにエクスプローラのようにファイル一覧を
表示させる方法がわかりません。
リストボックスならDirでできるようですが...
0644デフォルトの名無しさんNGNG
ピクチャーコントロールにビットマップ(リソース上)を表示するにはどうすればいいですか?
0645デフォルトの名無しさんNGNG
>>643
もしかして勝手にやってくれると思ってる?
0646デフォルトの名無しさんNGNG
プロパティシートにアクセラレータつけて、
コントロールに普通の(Ctrl+とかじゃない)ASCIIキーを割り付けたいんだけど、
フォーカスがエディットコントロールとかにあるときはアクセラレータが効かずに入力できる
ようにしたいんです。
一応、こんなコーディングで出来たんですが、もっとスマートな方法ありますか?
BOOL CMySheet::PreTranslateMessage(MSG* pMsg)
{
CWnd* pFocus;
if((pFocus = GetFocus())) {
int nId = pFocus->GetDlgCtrlID();
if( nId != IDC_EDIT1 &&
nId != IDC_EDIT2 &&
nId != IDC_EDIT3 &&
nId != IDC_EDIT4 ) {
if(TranslateAccelerator(*this, m_hAccel, pMsg)) return true;
}
}
return CPropertySheet::PreTranslateMessage(pMsg);
}
0647643NGNG
>>645
自動でないことはわかっています。
それをする関数がわからないのです。
0648デフォルトの名無しさんNGNG
>>647
そんな関数なんてあるのか?
0649デフォルトの名無しさんNGNG
#include <iostream>
using namespace std;
int main()
{
cout << abc

return 0;
}
VC++.netでビルドすると
error C2065 定義されていない識別子
error C2593 operator 曖昧
error C2143 構文エラー
となってしまうのですが、何が足りないのでしょうか。
0650デフォルトの名無しさんNGNG
;
0651デフォルトの名無しさんNGNG
abcって何者だよ?
0652デフォルトの名無しさんNGNG
>>649
g++では通るな
0653649NGNG
すいません。間違えました。
#include <iostream>
using namespace std;
int main()
{
cout << "abc";





return 0;
}
error LINK 2019 未解決の外部シンボル
fatal error LINK 1120 外部参照が未解決です。
と出て本文にはフォーカスがかかれないのですが、どういうエラーなのでしょうか?
0654649NGNG
すいません。フォーカスがかからないの打ち間違えです。
0655デフォルトの名無しさんNGNG
リンクエラー
必用なライブラリをリンクしていないとか
0656デフォルトの名無しさんNGNG

フォーカスがかかれないってどういう意味?
キーボードフォーカス?

0657デフォルトの名無しさんNGNG
MFCアプリウィザードで基本クラスをCFormViewで作成しますた。
これを実行すると、クライアント領域がへこんでいまつ。
へこまないようにするにはどうやるのでつか?
0658デフォルトの名無しさんNGNG
>>643
IShellView
0659デフォルトの名無しさんNGNG
>>657
説明するの面倒だから見て。
ttp://techtips.belution.com/ja/vc/0059/
0660デフォルトの名無しさんNGNG
>>未解決の外部シンボル

関数の名前を打ち間違えていることが圧倒的に多い。
0661デフォルトの名無しさんNGNG
>>660
マルチを相手にする事は無い。しかも割れっぽいし。
0662デフォルトの名無しさんNGNG
割れ?
0663デフォルトの名無しさんNGNG
>>646もおねがいしますよぅ。
0664デフォルトの名無しさんNGNG
質問!!
VC++で、在中させて、例えばメール欄に1と打つと
sageと自動的に出てくるようなプログラムを作りたいのですが…
文字をキーボード入力から出力させるインクルードファイルと
識別子がよくわかりません!!
教えてください〜!
0665デフォルトの名無しさんNGNG
>在中させて
>在中させて
>在中させて
0666デフォルトの名無しさんNGNG
常駐させて全てのウィンドウに適用させんの?
そんなんじゃまくせーだろ。
つーかそれデバイスレベルの問題だし、質問の意味がワケワカメ。
0667664NGNG
すみません、ど素人なもので(゚д゚;)
自分的にはキーボードマクロのようなものが作りたいわけなのです…。
自分の決めた文字列をうつと、その文字列が来ると用意しておいた、
自分の打ちこみたい文字列を読みこんで、エディットボックスに、
それを表示させたいのですが…。
0668デフォルトの名無しさんNGNG
仮名漢に単語登録するのではいかんのか?
0669664NGNG
自分で作ってみたかったんれす(;д;)
プログラマ素人から一皮むけたいのれす(;д;)
0670デフォルトの名無しさんNGNG
>>669
Windows アプリの駆動方式を丸呑みに把握しろ。
そうすれば素人からは脱却したと言えるし、そもそも 664 のような質問を人に
しなくなる。
0671デフォルトの名無しさんNGNG
>>664
色々考えてみたんだが、方針としてはエディットコントロールを
サブクラス化すればいいんかねぇ。

具体的には、SetClassLong() で、エディットコントロールのウインドウ
プロシージャのアドレスを独自のプロシージャにフックすれば
いいのかな?

0672デフォルトの名無しさんNGNG
>>669
人から聞いてやっている奴が一皮剥けるかよ( ´,_ゝ`)プッ
0673デフォルトの名無しさんNGNG
>>672
まだ自分で素人といってるんだから長い目で見てやれよ。
これをきっかけにプログラミングの楽しさを知って天才プログラマーになるかもしれんやんけ。
0674デフォルトの名無しさんNGNG
--====・====--    --====・====--
0675デフォルトの名無しさんNGNG
恥ずかしながら、変なところではまってしまいましたので、質問です (VisualC++6.0)

VC++でダイアログベースのクラスをClassWizardで作って保存して、やれやれと思ったらクラス名の先頭に”C”を付けるのを
忘れていることに気が付きました・・・
いつもなら、クラス追加前に保存しているので、また修正前からやり直すことが出きるのですが、今日に限って一気に修正し
てクラス追加後に保存しちゃったので後戻りできませんでした

その後、ソース中のクラス名に手動で”C”を追加したものの、ClassWizardで見るとクラス名に”C”が付いていません・・・
どうすれば、ClassWizardで表示されるクラス名を修正することができるのでしょうか
0676デフォルトの名無しさんNGNG
>>675
その習慣ヤメレバ?
ファイル名とクラス名は同じにする
0677デフォルトの名無しさんNGNG
>>675
*.clwを消す
0678675NGNG
>>677
サンクスです
それでクラス情報が全て消えるようですね ぐぐって、ついさっき知りました

ここのサイトも参考になりました AAA→CAAA一括置換後、ClassWizard開くという方法でも修正できるらしい・・・!?
ttp://www.page.sannet.ne.jp/mtoga/lang/cv/bih-m_04.htm

>>676
クラス名にはCを付けよと言われてるので・・・ ClassWizardでクラス作成する時に限って”C”を良く付け忘れます
0679デフォルトの名無しさんNGNG
ハンガリー人の書き方ってまだ根強く残ってるのか・・・
たとえばCascadeって言う名前のクラスをClassWizardで作って
ファイル名がascadeとかになった時には腹が立った。
(設定画面でちゃんとファイル名の欄も変えればできるけど)
それ以来ClassWizardでクラス作ることなくなったなあ
あの暗号のようなIncludeGuardもうっとうしいし
0680デフォルトの名無しさんNGNG
>>679
自作のWizard使え
0681デフォルトの名無しさんNGNG
うって変わってVC.NETはシンプルなコード吐いてくれる
MSも方針転換かな
0682デフォルトの名無しさんNGNG
>>681
悪くいうと、あちこち機能が削られてる。
0683デフォルトの名無しさんNGNG
C言語はjavaやらと違ってハンガリアン使うメリットあんまりないよな。
関数宣言の仮引数が多少見やすいくらいだ。
てゆーかMFCとかで採用してる型名を先頭につけるだけ、
ってのは本物のハンガリアンとは違うんだろうが・・・
0684デフォルトの名無しさんNGNG
アジア人ならモンゴリアンだろ
0685デフォルトの名無しさんNGNG
CreateWindowEx でWS_VISIBLEを指定して作成し、
後からVISIBLEを消す(コントロールを消す)にはどうすればよいのでしょう?
何となく、SendMessageな感じですが使い方が。
0686デフォルトの名無しさんNGNG
>>685
SetWindowLongはどうですか?
0687デフォルトの名無しさんNGNG
ShowWindow(SW_HIDE)で消えないの?
いや知らんけど。
0688デフォルトの名無しさんNGNG
SetWindowLong(GWL_STYLE, GetWindowLong(GWL_STYLE) & ~WS_VISIBLE)
0689デフォルトの名無しさんNGNG
ありがとうございます。
消すことはうまくいきました。
ところが、
#define IDC_EDIT_RIGHT WM_USER+1

HWND hwnd;
hwnd= ::GetDlgItem(hDlg, IDC_EDIT_RIGHT);
CreateWindowEx(..);
これがうまくいきません。
CreateWindowExで作ったコントロールはこの方法では取得できないのでしょうか?

0690デフォルトの名無しさんNGNG
カンケーないけど。

#define IDC_EDIT_RIGHT WM_USER+1
↑なぜIDにWM_USERが出てくるの?w
0691デフォルトの名無しさんNGNG
>>689
GetDlggItemの返り値がNULLになるの?

0692デフォルトの名無しさんNGNG
>>689
CreateWindowEx で作ったってことは、ID指定のところで
IDC_EDIT_RIGHT を指定して作成したのでしょうか?

0693デフォルトの名無しさんNGNG
そうです。指定して作ったのですが、NULLが帰るのです。
0694デフォルトの名無しさんNGNG

同じ意味ですが、

hwnd = GetWindowLong(hDlg, GWL_ID);

ではどうですか?

0695デフォルトの名無しさんNGNG
>>694
あ、これはちょっとナシ。(w
0696デフォルトの名無しさんNGNG
とりあえず CreateWindowEx の記述をコピペしてみたら
どうでしょうか?

0697デフォルトの名無しさんNGNG
CreateWindowEx(0, "EDIT", "",
WS_VISIBLE | WS_CHILD | WS_VSCROLL | PBS_SMOOTH | ES_AUTOVSCROLL | ES_MULTILINE | ES_WANTRETURN,
170, 40, 265, 100, hDlg, (HMENU)IDC_EDIT_RIGHT, NULL, NULL);
0698デフォルトの名無しさんNGNG
>>689
> #define IDC_EDIT_RIGHT WM_USER+1
どうでもいいことだけど、なんか違和感がある。
0699698NGNG
あ、激しく外出か。スマソ。
0700デフォルトの名無しさんNGNG
>>697
実際に試してみようかと思ったけど、面倒でやめた。(w
MFC AppのプロジェクトだとMFCすぐ使えるんだけど、
Win32 Appのプロジェクトで使うのに、何をinclude したら
いいのかわからんかった。(汗
MessageBoxでリンカエラー出るし・・。

MSDNちゃんと読めば書いてあるのかな?

0701デフォルトの名無しさんNGNG
>>697
MFCプロジェクトで試してみましたが、ちゃんとハンドルが
返って来るみたいですよ。
子IDは 1234 で試してみました。
子IDを数値にして試してみてはどうでしょう?
0702デフォルトの名無しさんNGNG
ほんとだ!定数だと動きますね。
WM_USERって何なんでしょう?
0703デフォルトの名無しさんNGNG
>>702
#define IDC_EDIT_RIGHT (WM_USER+1)
こうしないと駄目なんじゃないの?
0704デフォルトの名無しさんNGNG
なるほど
0705デフォルトの名無しさんNGNG
>>701ですが。

>>703
当たりっぽい。

#define SUB_WINDOW_ID (WM_USER+1)
これは問題なし

#define SUB_WINDOW_ID WM_USER+1
これはダメ

でした。

カッコがいるみたいですね。どっちも
エラーはでないけど、後者はどういう風に
解釈されるんだろ?

0706デフォルトの名無しさんNGNG
マクロは置き換えだからな。
交換法則が成り立つ場合は、いいがそうでない場合はとんでもない結果に
なることがある。…っと C の基本をもっともらしく言ってみるテスツ。
0707デフォルトの名無しさんNGNG
もはや算数です
0708デフォルトの名無しさんNGNG
>>705
SUB_WINDOW_ID * 2
とした場合に(ありえないけど)
WM_USER + 1 * 2
と展開されてしまうので、( )をつけるのは常識だと思っていたのだが。
0709デフォルトの名無しさんNGNG
というかいまどき定数にdefineを使うな、と。
0710デフォルトの名無しさんNGNG
じゃあconst?
0711デフォルトの名無しさんNGNG
InternetAPI で、FTPクライアントを作成しています。Winsockは使っていません。
特定のファイルのパーミッションを知りたいのですが、方法がわかりません。
InternetAPIの中にそういうAPIかなにかがあるのでしょうか?
もし無い場合、FtpCommandでなんとかならないでしょうか?

0712デフォルトの名無しさんNGNG
IDならdefineでいいでしょ。

どうでもいいことだけどWM_USERはユーザ定義メッセージに使う値だからね。
IDとメッセージとごっちゃになってるだろ。
たぶん基本的に混乱してると思うよ。
0713デフォルトの名無しさんNGNG
>>711
FTPプロトコルでわかるはずだが・・・
0714デフォルトの名無しさんNGNG
>>711
RFCを読むことをオススメします
0715デフォルトの名無しさんNGNG
RFCなんて素人が読んでわかるものじゃない。
そんなもの読まないように。
基本的なFTPコマンドを解説サイトなどで調べればわかる。
あとはMFCのFTPクラスにまかせっきりで大体のことは出来る。

この板は好んで難しいこと言いたがるヤツいるから惑わされないようにね。
0716デフォルトの名無しさんNGNG
俺は玄人だが、読んでも分からなかった<(`^´)>
0717デフォルトの名無しさんNGNG
オモシ
0718デフォルトの名無しさんNGNG
定数はdefineではなくconstで定義すべき
0719デフォルトの名無しさんNGNG
>>718
const信者死ね
0720デフォルトの名無しさんNGNG
>>714
RFCにはlsで出力される形式については記述されていない
よってパーミッションを得る方法はRFCを読んでも無駄
読んでいないのがバレバレな無知をさらす暇があったら
お前がRFCを読め
0721デフォルトの名無しさんNGNG
>>720
こりゃ一本取られましたな。ははは・・・・
死ね(怨)
0722デフォルトの名無しさんNGNG
春祭りですか?
0723デフォルトの名無しさんNGNG
RFCを読むことをオススメします
0724デフォルトの名無しさんNGNG
>>718
C++になってから、よく言われるけど、どうも
まだ慣れないんだよね。^^;

>>719
なんか注意点・欠点なんかあります?

0725デフォルトの名無しさんNGNG
constってメモリ食うのか?一応変数だからさ。どうなのよ?
0726デフォルトの名無しさんNGNG
どんな定義をしようとどこかのメモリーを食わなければ存在できない
どこにとられるかは処理系依存
0727デフォルトの名無しさんNGNG
普通に考えて、constは一箇所、defineは出現箇所分メモリ食うんでないの。
0728デフォルトの名無しさんNGNG
#define VER "0.04e"の代わりとして、

const char* VER = "0.04e";
const char[] VER = "0.04e";

どっちが(・∀・)イイ?
0729デフォルトの名無しさんNGNG
>>727
コンパイラが勝手に最適化するんじゃないの?
0730デフォルトの名無しさんNGNG
ツールダイアログのエディットボックスで
リターンキーを押した時の処理を追加したいのですが
やり方がわかりませぬ.おせえぇて
0731デフォルトの名無しさんNGNG
>>729
constはわからんけど、defineを最適化ですか?
つーと、1箇所にメモリを確保してポインタで参照してくれる???
副作用でそうだけどなー、たとえば、変な所で値を置き換えられたりして。。。
constは、書き換え禁止だからそんなことは無いけど。
0732質問NGNG
簡易株価チャートを作ってみたいのですが、ヤフー等からデータを取込んだりする方法は
どこで学んだら(調べたら)いいのですか?
0733デフォルトの名無しさんNGNG
文字列が半角の数字だけで構成されているかどうかを調べるいい方法
ないですか?
0734デフォルトの名無しさんNGNG
「フフフフ」ってなんですか?VC++のバグでしょうかね?
VC++6.0ですSPは当ててませんが 当てると直りますかね?
0735デフォルトの名無しさんNGNG
>>732
まずソケットを使ってインターネットからHTMLファイルを
ダウンロードして見れ。できたらまた戻ってこい。
0736デフォルトの名無しさんNGNG
>>731
むしろ逆。
#define の場合、文字列リテラルを除いて即値に展開される事が多いので、そもそも
書き換える事が不可能。
const の場合は、プログラムミスにより const を外したポインタアクセスを行う
殊によって書き換えができる。
もちろん、const でも可能な限り即値展開される。
0737デフォルトの名無しさんNGNG
>>732
http://www.google.com/search?hl=ja&inlang=ja&ie=Shift_JIS&q=MFC+%83%5C%83P%83b%83g&btnG=Google+%8C%9F%8D%F5&lr=lang_ja
0738デフォルトの名無しさんNGNG
>>727
const の実装が 1 箇所だったとしても、そこには結局アドレス指定してアクセス
するので、整数の場合はコードサイズは変わらない事が多いし、何より遅い。
0739デフォルトの名無しさんNGNG
>>734
それはお前のバグだ。
VC++ はデバッグモードでコンパイルすると、スタック変数は 0xCC で、
malloc 領域は 0xCD で塗りつぶし、それらが未初期化のまま使われている
事をプログラマに伝える。

参考スレ
フフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフ
http://pc.2ch.net/test/read.cgi/prog/1045831669/
0740デフォルトの名無しさんNGNG
>>733
すぐに思いつくのは、for で回して isdigit()
0741デフォルトの名無しさんNGNG
>>733
STL使えるなら isdigit だな
0742デフォルトの名無しさんNGNG
>>733
if ( strspnp( pszNumber, "0123456789" ) == NULL )
{
//全て半角数字
}
0743デフォルトの名無しさんNGNG
> strspnp

ナニソレ?
0744デフォルトの名無しさんNGNG
>>727
マクロはコンパイル時に展開されるんとちゃうん?
だからマクロを挿入したとこにマクロの内容が書かれるのと同じと思ってる
ちがうん?
0745デフォルトの名無しさんNGNG
SpanIncluding
0746デフォルトの名無しさんNGNG
>>744
その通り。
即値が埋め込まれるだけ。
0747デフォルトの名無しさんNGNG
>>744
>>736
0748742NGNG
>743
_strspnp ダタ
0749デフォルトの名無しさんNGNG
チェックボックスのチェックを検出すなるにはいかにせよと?
0750デフォルトの名無しさんNGNG
>>749
GetCheck()
0751デフォルトの名無しさんNGNG
>>749
そのくらいMSDN読めよ・・・
0752デフォルトの名無しさんNGNG
われSDKつかわんとほっす。
0753デフォルトの名無しさんNGNG
>>752
お前より沢村のほうがマシだ
0754デフォルトの名無しさんNGNG
>>753
だれ?
0755デフォルトの名無しさんNGNG
当方、VC++を始めたばかりで、なおかつC++言語の超初心者です。
本を購入しようと思っているのですが、
「これならわかるC++―挫折しないプログラミング入門」
 と
「プログラミング実習 VC++入門編」
のどちらを購入したほうがよろしいでしょうか?あえて、両方という意見はナシで。
ご返答お待ちしております。
0756デフォルトの名無しさんNGNG
>>752
SendMessagge()
0757デフォルトの名無しさんNGNG
パラメーターは誰かな?
あんな幼稚なやつにSendMessaggeのパラメーターは理解されないに10円。
0758デフォルトの名無しさんNGNG
>>755
Cは一通り分かるの?
0759755NGNG
>>758
あー、すみません。誤解を招くような書き方をしてしまって。
C言語のほうもわかりません。あと、上記に挙げた本以外で初心者におすすめの
C++言語入門書があれば教えていただきたいな…と。
0760デフォルトの名無しさん NGNG
構文エラー : 識別子 'classX' がシンタックスエラーを起こしました。
というエラーが出てどうすればよいか分かりません。
どうすればいいんでしょうか?
0761デフォルトの名無しさんNGNG
実行中のEXEの名前を与えると、そのプロセスのハンドルを返す関数
つくってください お願いします。
0762デフォルトの名無しさんNGNG
>>760
クラスの定義の最後にセミコロンをつけ忘れていないかどうか調べる。
0763760NGNG
>>762
セミコロンはついてるから他に原因がありそうなのですが・・・。
他の原因は無いでしょうか?
0764デフォルトの名無しさんNGNG
>>763
そのクラスの上の方で struct / class を定義してるならそこをチェキ。
0765760NGNG
>>764
クラスの上で定義しているのは無いので、違う原因がありそうです
関数の定義のところで
'func' : オーバーロードされたメンバ関数が '<Unknown>' にありません。
とかいうエラーが出ているのですが関係ありますか?
0766デフォルトの名無しさんNGNG
>>765
cppファイルに

void A::hoge() [
}

のA::を書き忘れてるとか
0767デフォルトの名無しさんNGNG



    ソ   ー   ス   晒   せ   よ



0768760NGNG
cppでは
void CAppDoc::func(classX* x){}
としているのですが、何が悪いのやら・・・。
0769デフォルトの名無しさんNGNG
関数の定義と実装で、引数が違うだけだろ
0770760NGNG
ヘッダーファイル入れてるかと思ったら間違ってた・・・。
0771デフォルトの名無しさんNGNG
>>ALL
こんな初歩的なコンパイルエラーの段階で回答することないんじゃないの?
0772デフォルトの名無しさんNGNG
>>756
えらいすんまへん。SendMessageおしえてくだせー。
0773デフォルトの名無しさんNGNG
サブクラス化したコンボボックスで、CBN_DROPDOWN のハンドラ内で、アイテ
ムを動的に挿入しています。
for(...) {
 combo->AddString(...);
}

で、リリースビルドにすると挿入したはずのアイテムが、なぜか挿入されてない
んですよ。いろいろ悩んで、ふと思い立ち
for(...) {
 combo->AddString(...);
 Sleep(0);
}
とやったらうまくいくようになった。Sleep(0) を入れると何が起こるのか(完全に
ひらめきなので根拠なし)、そしてなぜリリースビルドのときだけ不具合が出るの
か。解説きぼんぬ。メッセージキューとか、その辺の関係でつか?
0774デフォルトの名無しさんNGNG
>>772
クリックイベントをオーバライドして、ハンドリングしたいウィンドウへ
ユーザ定義メッセージ飛ばせ、ということだと思うが。
てゆーか、最初の質問の意図がよくわからんわ。
0775デフォルトの名無しさんNGNG
>>774
あ、それもあるのですが、GetDlgItemのような感じで
GetCheck(HWND, ... );
のような感じの命令はないでしょうか?
0776デフォルトの名無しさんNGNG
先日画像処理の参考書の通りにプログラムを制作していたのですが、
マウスの反応を見る"Mouse.c"という簡単なプログラムをコンパイル後、
ビルドをするとリンクエラーが起きます。
コンパイル時には問題ないし、プログラムもミスがないか再三点検
したのですが、原因不明のまま悶々とした一夜を過ごしてしまいました。

マシンのOSはWindows XPで、Visual Studio ver4.0です。

今夜こそは安眠したいので、教えてください。
0777デフォルトの名無しさんNGNG
>>776
どういうエラーが出るのか書かないで、
原因がわかる人いると思ってんの?
そんなヤツいたら神だ。
0778デフォルトの名無しさんNGNG
画像処理の参考書のプラットフォームは?
「X68000で学ぶ画像処理」とか本のタイトルに書いてない?
0779デフォルトの名無しさんNGNG

ところでコントロールのサブクラス化ってクラスウイザードなんかで
自動化できるもんですか? いままでは自分でウインドウプロシージャ
をプロトタイプから手打ちしてたんですが、皆さんもこんな感じ?

0780776NGNG
>>778
「C言語で動かす実践画像処理」という参考書でしたが、”詳しくは
専門の参考を参照のこと”という記述が、、、。

>>777
そうですね、なにせそれすらも忘れてしまう素人なので。
LIBCD.lib(crt0.obj) : error LNK2001: 外部シンボル "_main" は未解決です
Debug/mouse.exe : fatal error LNK1120: 外部参照 1 が未解決です。
link.exe の実行エラー
という表示ですが。
0781デフォルトの名無しさんNGNG
>>780
たまたま同じ本持ってたんで見てみたけど、特に
問題になる記述はなかった。リンカのオプションの
問題じゃないのかな。

プロジェクトはWin32アプリですか?
0782名無し@沢村NGNG
>>775
BM_GETCHECK
0783デフォルトの名無しさんNGNG
ダイアログバーいくつか作ってメインフレームの上端にくっつけているのですが
ダイアログバー1の下にダイアログバー2がくっついてる状態になります
最初から1の右に2をくっつけたい場合はどういうふーにすればいいですか
0784名無し@沢村NGNG
>>783
ヌヒよ、適当に答えるが CFrameWnd::DockControlBar() の3番目の引数を指定してはどうか?
0785デフォルトの名無しさんNGNG
>>775
IsDlgButtonChecked
0786デフォルトの名無しさんNGNG
ふー
0787デフォルトの名無しさんNGNG
ぷー
0788デフォルトの名無しさんNGNG
ありがとうございます。
0789デフォルトの名無しさんNGNG
Win32 Applicationでプロジェクトを作成し
リソースエディタでダイアログを作成したのですが
このダイアログのソースやヘッダファイルはどこにあるのですか?
ビルドしてもそのようなファイルが出来た形跡は無いのですが。
0790デフォルトの名無しさんNGNG

リソースエディタは *.rc を作成。
テキストエディタで覗いてみて。

0791デフォルトの名無しさんNGNG
dNode *dList::find_Node(const dNode &searchNode,dNode *pStart=NULL,
int (*compare)(const dNode*,const dNode*)
=dNode default_compare);
;' が、識別子 'default_compare' の前に必要ですというエラーがでるんですけど
どうすればいいんですか?
0792デフォルトの名無しさんNGNG
default_compareの前のdNodeが不必要なのでは
0793791NGNG
エラーがまだ四つエラーがあります。
default_compare' : 定義されていない識別子です。
default argument' : 'int' から 'int (__cdecl *)(const struct dNode *,const struct dNode *)' に変換することはできません。(新しい動作 ; ヘルプを参照)
0794791NGNG
void dList::sort(int (*compare)(const dNode*,const dNode*)
=dNode_default_compare)
c:\my documents\vc\kuji\dlist2.h(42) : error C2065: 'dNode_defalut_compare' : 定義されていない識別子です。
c:\my documents\vc\kuji\dlist2.h(42) : error C2440: 'default argument' : 'int' から 'int (__cdecl *)(const struct dNode *,const struct dNode *)' に変換することはできません。(新しい動作 ; ヘルプを参照)
整数型からポインタ型への変換には reinterpret_cast、C スタイル キャストまたは関数スタイル キャストが必要です。
これも教えてください。
0795デフォルトの名無しさんNGNG
エラーメッセージのとおりだと思うけど・・・

int default_compare(const dNode *a,const dNode *b)
{
return /*aとbを何かで比較し結果を返す*/;
}
を用意してみれば?
0796デフォルトの名無しさんNGNG




#include<iostream.h>
0797デフォルトの名無しさんNGNG
デバッグするときに「ステップイン」というのがありますが、これって標準ライブラリの関数の
中まで追わないようにすることって出来ますか?今は、printfなんかが出てくるたびに
カーソル行まで実行を使って回避してるんですが大変です・・・。
0798あNGNG
MSDNをみてもいまいち書いてることがわからないんですが
わかるようになるにはどういう方法がありますか?
0799デフォルトの名無しさんNGNG
>>798
C/C++について、最低限の知識を持つ。
0800デフォルトの名無しさんNGNG
>>798
某に乗り換えろ
MSDNよりはわかりやすい
0801デフォルトの名無しさんNGNG
>>797
ステップオーバーってなかったっけ
0802797NGNG
>>801
あぅ、気づかなかった(恥
こんなことで苦労していた自分って・・・。なにはともあれ、ありがとうございました。
0803デフォルトの名無しさんNGNG
InternetAPIでFTPクライアントを作っています。
あるタイミングで、特定ディレクトリ内のファイルのパーミッションが欲しいのですが、
どうもこれらのAPIにはパーミッションを取得する便利な方法がないようなので
(知ってる方いましたら教えてください)
FTPコマンドを発行してパーミッションを得ようと考えました。

で、

stat ディレクトリ名

のような形で、取得した文字列
***-status of **:
total ***
-rw-r--r-- ************
-rw-r--r-- ************
...
...
*** End of Status

のような形なので3行目から10バイトずつ各行、最後の行を除いて
格納して利用しようと思ったのですが、

どのFTPサーバでも必ずこれは通用するのでしょうか?
ちょっと、VCの話題とずれますが、いつでも同じ(改行や表示順序含む)
規格で帰ってくるのでしょうか?

または、もっと素敵なパーミッションの取得方法をご存知の方いらっしゃいましたら
ご教授ください。FTPの知識はほとんどありません。。。


0804デフォルトの名無しさんNGNG
同じ形式である保証はない
古いデーモンならファイル名しか返してこないことすらあり得る
ffftpのソースを見ることをすすめる
数々の形式に一つ一つ対応させているのが分かる
0805デフォルトの名無しさんNGNG
どっかで見たような質問・・・
0806デフォルトの名無しさんNGNG
int型のポインタをmallocして、値を代入しようとすると、
debugモードの場合、「ハンドルされていない例外が発生しました」って出てしまいます。
releaseモードだと問題ないのですが。。。。
こういう場合ってどうすればよいのでしょうか?
どなたかご教授願います。
0807デフォルトの名無しさんNGNG
あなたが何らかのプログラムミスを起こしている。
リリースモードで厳格なチェックが行われていない事や、デバッグ用ルーチンを
含んでいない事が原因で問題が見えなくなっている可能性が高い。
デバッグモードでステップ実行をし、代入しようとしている先が本当に不正でないか
目で確かめる事。

これ以上の回答は、呈示している情報があまりにも少ないので無理。
もっと判断が欲しいなら再現する必要最低限のコードを晒せ。
0808Name_Not_Found ANGNG
Cの作成ツールであるVisual Studio.netを購入しようと考えてます。(今のところ)
ほか良いツール有りますか?
0809デフォルトの名無しさんNGNG
>>808
目的によって答えが違うと思われ。

単に勉強目的なら、BCCフリー版で十分かと。
0810デフォルトの名無しさんNGNG
             ∩
        ∧_∧   | |   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
       (  ´Д`)//  < 先生!こんなのを発見シマスタ!
      /       /    |
     / /|    /      \  http://saitama.gasuki.com/hiroyuki/
  __| | .|    |         \
  \   ̄ ̄ ̄ ̄ ̄ ̄ ̄\     \_____________
  ||\             \
  ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄
  ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄||
     .||              ||
0811デフォルトの名無しさんNGNG
先生!マルチですか?
0812デフォルトの名無しさんNGNG
どうしてもポインタが理解できません

本を何度よんでみても、説明してくれてるサイトを見ても
良く理解できません

頭悪いのは判ってます こんな僕が理解出来るようにどなたか説明
していただけないでしょうか?

お願いします。ネタじゃないです
0813デフォルトの名無しさんNGNG
猫でもわかるプログラミング
0814デフォルトの名無しさんNGNG
>>813
猫でもわかるプログラミングってなんですか?
0815デフォルトの名無しさんNGNG
>>813
いや、あそこはポインタに特に詳しいと言う訳では・・・

>>814
ぐぐれば出てくると思うけど、上に書いた通り。
漏れは申し訳無いけどポインタで躓いた経験が無いから、適当なサイトが紹介できない。
本では、前橋って人の 「完全ポインタ理解」 あたりがよく持ち出されるみたい。
邪論極論も併せ持つトンデモ本という話もあるけど、ようわからない。
0816デフォルトの名無しさんNGNG
>>815は釣りかな
0817デフォルトの名無しさんNGNG
釣りか、優雅だな
0818デフォルトの名無しさんNGNG
>>812
ガンガレ!
マシン語の勉強をするといいかもしれん。
「初めてのマシン語」みたいな本無かったかな。
0819デフォルトの名無しさんNGNG
Cのポインタを理解できないようではきっとマシン語勉強してもつまづくよ。
0820812NGNG
>>815様

色々ありがとうございます。
猫は検索してみます。

書き方悪かったみたいなので、書き直します。

#include <stdio.h>

main()
{
int *p, i=10;

p = &i;
printf("%d\n",*p);

 これなんですけどpにiのアドレスを代入して
 printfで*pってやると変数iのデータが表示される理屈は
 わかりますが、なんでこんな事するのですか? 
  
 何度もすいませんよろしくお願いします。

0821デフォルトの名無しさんNGNG
>>820
それはポインタの性質を知るためのサンプルでしょ。
実用性はない。
0822デフォルトの名無しさん NGNG
C++ の標準ライブラリには、配列、リストなどの基本的なデータ構造を取り扱うための汎用クラステンプレートが定義されている。クラステンプレートとは、任意のデータ型等を引数としてクラスを作成する機構と考えてほしい。
なお、標準ライブラリ中のこれらのテンプレート群を総称して、標準テンプレートライブラリ(STL: Standard Template Library)と呼ぶこともある。
標準ライブラリに含まれる汎用配列クラステンプレートは "vector" という名前であり、それが定義されているヘッダファイル名は <vector> である。例えば、次のように書くことで、任意の要素数の double 型データを要素とする配列オブジェクトを作成することができる。
0823812NGNG
>>820

すいません言葉足らずで、ポインタを実用する場合というのはどのような
場面なんでしょうか?
すいません何度も
0824Name_Not_Found ANGNG
>>809
どうも。
実際にプログラムを作成します!
0825812NGNG
>>821様でした すいません

>>818様 ありがとうございます。早速取り寄せてみます。
0826デフォルトの名無しさんNGNG
>>820
ただのサンプルだからで使い方としては下の下、論外だ
入門書じゃわりとはじめのほうでポインタを教えているが本当の使い方は教えてくれない
データ構造とかアルゴリズムとかソートとかそのあたりに興味がでてきたら便利だと実感できると思う
構造体も覚えたら単方向リストでも作れ

理解を深めたいなら前橋ポインタ本がお勧めだ
詳細は推薦図書スレに譲る(テンプレのHPから探し出せる)
0827812NGNG
>>826様

ありがとうございます。
聞いたことが無い単語いっぱいありがとうございます。
レス、メモ帳にコピペさしていただきます。

>>ただのサンプルだからで使い方としては下の下、論外だ
>>入門書じゃわりとはじめのほうでポインタを教えているが本当の使い方は教えてくれない

こういうことなのですね。

>>データ構造とかアルゴリズムとかソートとかそのあたりに興味がでてきたら便利だと実感できると思う
わかりましたまずここ理解してみます。

>>構造体も覚えたら単方向リストでも作れ
そしたらこれ作ります。

お付き合いいただきました皆様本当にありがとうございました。
精進してまいります。

818様 はじめて読むマシン語 これですかね?

0828デフォルトの名無しさんNGNG
>>812
関数の呼び出しのメカニズムはわかっているかな?
つまり、スタックの概念とか、値渡し、参照渡しとか。
関数をコールして引数に答えを返してもらう場合、
参照渡し(ポインタ渡し)にならざるを得ない。
printf()とscanf()の引数の違いも参考にしてみるといい。
0829デフォルトの名無しさんNGNG
ポインタを値渡ししているんですが。
0830デフォルトの名無しさんNGNG
そういう話をしてもわからないレベルだと思われ
0831デフォルトの名無しさんNGNG
>>812
818です。
そうそう、その本で真面目に全て理解する必要はないけど、
メモリのある1バイト(0〜255の数値)をみたとき、それが、
アドレス、命令コード、データ、アスキーコード(文字コード)であるのかの区別が
つくようにして欲しい。

0832812NGNG
>>828様

ご丁寧にレス頂きありがとうございます。
またご指導頂き誠にありがとうございます。

関数の入り口は理解しているつもりですので更なる理解を求め
早速教本片手にご指導頂いた点を重点にやってみます。
0833デフォルトの名無しさんNGNG
>>829
printf("%d\n",*p);
の*pは、ポインタの先っちょの値(=10)を渡しているのでポインタを渡しているわけではない。
printf("%d\n",p);
なら、ポインタを渡していることになり、この場合はiのアドレスが10進数で表示される。
また、
printf("%d\n",&i);
も同じ結果が表示される。
まあ、いきなりは無理なので一通り勉強したあとでもう一度このレス見て
理解できるようになることを祈る。
ガンガレ。
0834829NGNG
>>833
そんな当たり前のことを言われてもどう返答してよいのやら・・・

ここはVC++スレか・・・なら参照もありか。
0835812NGNG
>>818様

レスありがとうございます。
ご指導いただいた内容理解しました。
BOLにあったので発注してご指摘頂いた内容理解してみたいと思います。

重ね重ねありがとうございます。

お付き合い頂いた皆様誠にありがとうございました
0836デフォルトの名無しさんNGNG
>>829
829=812と思ってた。スマソ。

ってことで、833は、812へのレスでつ。
0837デフォルトの名無しさんNGNG
>>804

返答ありがとうございます。
一般的にはがんばって対応させてるんでしょうか?
InternetAPIで、ファイルの一覧や、それらの作成日時だとか更新日時だとかサイズだとか
一通りわかるのにパーミッションだけは取得できないんですね。
何か他にいい方法はないのでしょうか・・・
0838デフォルトの名無しさんNGNG

「はじめて読むマシン語」はどうもZ80で説明してる
みたいなんで、どうせ買うなら「はじめて読む8086」
がいいと思われ。

0839デフォルトの名無しさんNGNG
実行ファイルのアイコンに手持ちの画像を使ってみたいんですが
VC++のアイコンエディタでは画像を読み込んでくれる機能はないようです。
どうしたらいいのか誰か教えてくれませんか?
0840デフォルトの名無しさんNGNG
>>839
画像をアイコンに変えるソフトを使えばいーじゃん。
ベクターとかに逝けばいくらでもあるだろ。
0841839NGNG
無事疑問が解決しました。
すごくくだらない質問をしてしまいましたね。すみません。
0842デフォルトの名無しさんNGNG
チェックリストボックスを使いたいのですが、どうすればいいのでしょうか?
ぐぐったら、MFCのCCheckListBoxの使い方をちょこちょこ教えてくれるページは
出てきたんですが、SDKではどうやればいいのかさっぱりわかりません。
MFCでの解説ページで得た知識と、普通のリストボックスを使うときの要領で
えいやっとコード書いてみてもさっぱり動かずというか、表示すらされず……。(つwT)
0843デフォルトの名無しさんNGNG
>>842
とりあえず初心者向けの解説本とか買って、読んでみようよ。
てゆーかさ、そんなレベルで無理にSDK使う理由はなに?
0844デフォルトの名無しさんNGNG
>>842
とりあえず、「猫でもわかる」でぐぐるってみる。
0845デフォルトの名無しさんNGNG
リストビューにドロップをしたいです。
WM_DROPFILESというのが、ドロップされると送られるらしいのですが、
リストビューの場合はどのようにキャッチしたらいいのでしょう?
0846あNGNG
>845
サブクラス化して
WM_DROPFILESのハンドラを作成する。
他に方法あるかもしれないけど知りません。
0847名無し@沢村NGNG
>>846
MFCならばCOleDropTarget
0848デフォルトの名無しさんNGNG
>>846
>>847

ありがとうございます。非MFC環境です。
サブクラス化というのをやったことがなかったので気が付きませんでした。
リストビューをサブクラス化したらWM_DROPFILESが受け取れました。

本当初心者な質問で申し訳ありません。ありがとうございました
0849デフォルトの名無しさんNGNG
Visual C++ 6.0用に作成されたカスタムウィザードって、
Visual C++ .NETからも利用出来るのですか?
(ちょっと店を廻ってみたら、.NETしか売ってね〜)
0850842NGNG
>>843
解説本は一応持ってますし、ラジオボタン、エディットボックス、リストボックス、
リストビュー、コンボボックスなどは問題なくSDKで使えます。
でも、チェックリストボックスは本にもWebにも解説が見つからないので
どうにもわからないんです。
MSDNライブラリのリストボックス系のメッセージもそこそこ
目を通したのですが、それらしいものが見つかりませんでした。

>>844
猫でもわかるには普通のリストボックスの解説はしてありますが、
チェックリストボックスの解説はしてないんです。
というか、猫でも解説してなかったからここで質問してるわけでして……><
0851デフォルトの名無しさんNGNG
>>850
LVS_EX_CHECKBOXESを入れればできると思う


0852デフォルトの名無しさんNGNG
>>850
APIバイブル2が参考になるかも。
あと、猫でものTreeView編も参考に。
0853851NGNG
リストビューじゃなかったのね
0854デフォルトの名無しさんNGNG
>>850
VBの参照設定のリストボックスを見た限りだとオーナードローをしてました。
0855デフォルトの名無しさんNGNG
プログラムの絶対パスを知る方法ってあります?
自分(実行中のプログラム)の位置を絶対パスで知りたいのです。
0856デフォルトの名無しさんNGNG
GetModuleFileName(GetModuleHandle(NULL), buf, sizeof(buf))
0857名無し@沢村NGNG
>>855
>>203
0858デフォルトの名無しさんNGNG
>>854
オーナードローっていまいちよく分からん。
あれって何?
0859855NGNG
でけました。ありがとうございます!!!
0860通りすがりの名無しさんNGNG
>>858
自分で描画するという事だ。(自分とはコントロールの所有者の事だ)

実装手順の概要は
・リストボックスにLBS_OWNERDRAWFIXEDのスタイル設定
・WM_DRAWITEMのメッセージを受け取ったらDRAWITEMSTRUCTの内容を元に描画
を行えば良い。

チェックリストボックスを実現したければ、好きな所にチェックボックスの絵を
描けば良い訳だが、オーナードローは描画を置き換えるだけなので、チェックの
切り替えも自分で制御しなければならない。要するに面倒くさいという事だ。

後は自分で調べて判らなければ大人しくMFCでも使う事だな。
0861デフォルトの名無しさんNGNG
>>850
APIバイブル2、見直したけどあまり参考にならなさそう。
というか、ListViewでは難しそう。
いっそ、子供のいないTreeViewで実装したら。
0862デフォルトの名無しさん NGNG
VisualC++.NET Standardをインストしたんだけど・・・
肝心のVC++が無いんだが・・・
0863776NGNG
>>781

Win32のプロジェクトでもう一度つくり直してみますね。
ありがとうございました。
0864デフォルトの名無しさんNGNG
プログラミングとは直接関係ない質問になっちゃうのですが、
VisualC++.NETの立ち上げ時の画面を初期(インストール時)状態に戻すにはどうしたら良いですか?
0865デフォルトの名無しさんNGNG
>>864
ツールバーでも無くなったの?
0866デフォルトの名無しさんNGNG

.NETって何なんですか?
コンパイラは同梱されてないの?

0867デフォルトの名無しさんNGNG
>>862=>>866?
プロジェクト作って「ビルド」するんだよ。
マニュアルまたは教則本読め。
0868デフォルトの名無しさんNGNG
MFCで以下のような形でドラッグを実現していました。

COleDataSource dataSource;
dataSource.CacheGlobalData(CF_HDROP, hDrop);
DROPEFFECT result = dataSource.DoDragDrop(DROPEFFECT_COPY|DROPEFFECT_MOVE);

なにも考えず、以前書いたソースを、今作っている非MFCでの環境で使おうとしたところ
COleDataSource はMFCのもののようなのでうまくいきません。

非MFC環境で同じことをするにはどうしたらいいのでしょうか?
0869850NGNG
ありがとうございます。オーナードローとリストボックスでぐぐったら、
適切なサンプルが出てきました。なるほど、こういう風にやるんですね。



メンドクサクテヤッテランネェ……_| ̄|○


オトナシクリストビューニLVS_EX_CHECKBOXESイレマス…… | λ............
0870デフォルトの名無しさんNGNG
>なにも考えず、以前書いたソースを、今作っている非MFCでの環境で使おうとしたところ
>COleDataSource はMFCのもののようなのでうまくいきません。
当たり前だボケ
OLE ドラッグ ドロップ でググれ
0871デフォルトの名無しさんNGNG
DestroyWindow()を呼ぶと破棄されるウィンドウが親ウィンドウに対して
WM_PARENTNOTIFYを送信するらしいのですが・・・
あるViewクラスを親としてDialogをCreate()し
そのDialogのOnCancel()でDestroyWindow()を呼ぶようにしました。
これでDialogを閉じるとDestroyWindow()が呼ばれるようになったのですが
親のViewクラスのOnParentNotify()関数が呼ばれません。
DialogのプロパティのNo Parent Notifyはfalseにしてあります。
なぜOnParentNotify()が呼ばれないんでしょうか?
0872Help meNGNG
VC++で、
タスクトレイに常駐するプログラムを作成したいのですが。
タスクトレイに格納する方法までは分かりました。
で、問題なのが、たとえば他のアプリを使用中にF2キーを押したとします。
そのとき、常駐プログラムがF2キーを押されたと判断する方法がわかりません。
方法はSDK、MFCのどちらでも構いません。
0873デフォルトの名無しさんNGNG
>>872
タイマーで監視するとか…駄目かね?
0874名無し@沢村NGNG
>>873
SetWindowsHookEx()
0875デフォルトの名無しさんNGNG
>>874
漏れも>>872に興味があって、その辺かなとは思ったのですが、
どのタイプのHookプロシージャを定義すべきなのでしょうか?

WH_KEYBOARDなんかは特定のアプリケーションのメッセージ
キューのみをHookするような感じですが。

0876名無し@Del厨NGNG
RegisterHotKey()
0877デフォルトの名無しさんNGNG
>>874
おーい。レスの相手違うよー(藁
しかしこんなのがあったのか。なるほろ…
0878デフォルトの名無しさんNGNG

この辺のドキュメント、英語なんだよね。
なんとかして欲しいわ。

0879デフォルトの名無しさんNGNG
英語も読めんのか……
0880デフォルトの名無しさんNGNG
雰囲気

不陰気
0881デフォルトの名無しさんNGNG
>>879
日本語版なんだから翻訳すればいいのにさー。
日本人に対するいじわるにしか思えない。

大学入試の英語偏差値は60ちょいあったけど、
この程度では自由に読むには程遠い。

0882デフォルトの名無しさんNGNG
英語ヘルプを読むのに英語の知識はあまり必要ない
0883デフォルトの名無しさんNGNG
class div
{
private:
int id;
int name;
public:
div();
void setdate(int i, int c);
void show();
};
div::div()
{
cout << "div::div()running..." << endl;
setdate(100, 200);
}
void div::setdate(int i, int c)
{
id = i;
name = c;
}
0884デフォルトの名無しさんNGNG
ネイティブな言語の方が良いのは当たり前である。
0885VC++.net初心者NGNG
コントロール変数の削除について質問ですが、
ClassWizardが無い.netではどのようにして削除
すればいいのでしょうか?
ClassView上でDeleteキーを押しても削除されず
できれば、ソースを直接触れない方法を探しています。
ご存知の方がいらっしゃればご回答お願いいたします。
0886883NGNG
void div::show()
{
cout << "id = " << id << endl << "name = " << name << endl;
}

int main()
{
div val;
val.show();
int val2;
cin >> val2;
if (val2)
return 0;
}
valが不正ということでエラーになるのですが
なぜでしょうか?
0887デフォルトの名無しさんNGNG
>>885
ソース削除汁 by 追加するときもウィザード使わないでソースに直接書いてる俺。
そのほうが早いYO
0888883NGNG
すいません、書き忘れました。
VC++.net使ってます。参考書通りに記述したつもりなんですが。
0889デフォルトの名無しさんNGNG
>>886
それがソース全部?
初心者用の基本的な入門書からやり直したほうがいいよ
0890デフォルトの名無しさんNGNG
>>888
divはC標準ライブラリの関数のために名前がバッティングしている。
これはVCの制限。本当なら標準ライブラリは名前空間stdに包まれるので問題ない。

でも、std::なしにcout使ってるなあ・・・

0891デフォルトの名無しさんNGNG
includeもなしに使えたんだ
0892デフォルトの名無しさんNGNG
LPBYTE* p = new BYTE[128];
とかで確保したメモリのバイト数を調べる演算子や関数はありまつか?
(sizeof(BYTE) * 128とかじゃなくて。)
0893デフォルトの名無しさんNGNG
QueryPerformanceFrequency()とQueryPerformanceCounter()の相違点と使い方を教えて下さい。
調べても、どっちも似たような事しか書いてなくて・・
0894デフォルトの名無しさんNGNG
>>893えっと、なんだっけ。周期を取るみたいな。...他の人よろしく
0895デフォルトの名無しさんNGNG
>>892
>LPBYTE* p = new BYTE[128];
この時点で間違いに気づけ
0896デフォルトの名無しさんNGNG
>>895
ハァ?オブジェクト128個分のポインタで正しいじゃねーか。
0897デフォルトの名無しさんNGNG
ここはageだな
0898デフォルトの名無しさんNGNG
LPBYTE* p = new LPBYTE[128];
こうじゃないかと……
0899デフォルトの名無しさんNGNG
BYTE* p = new BYTE[128];
LPBYTE p = new BYTE[128];
等々
0900デフォルトの名無しさんNGNG
確保サイズが知りたきゃvectorでも使え
0901デフォルトの名無しさんNGNG
すごく基本的な事だと思うんですが、引数に値が振られているのってどういう意味なんでしょう。始めて見た・・
float GetElapsedSeconds(unsigned long elapsedFrames = 1) ってあるんですけど。
0902デフォルトの名無しさんNGNG
デフォルト値
0903デフォルトの名無しさんNGNG
デフォルト値ってどういう時に使われるんですか?それにこの引数って関数内で使われてないんです・・
float GetElapsedSeconds(unsigned long elapsedFrames = 1)
{
static LARGE_INTEGER s_lastTime = m_startTime;
LARGE_INTEGER currentTime;

QueryPerformanceCounter(¤tTime);

float seconds = ((float)currentTime.QuadPart - (float)s_lastTime.QuadPart) / (float)m_ticksPerSecond.QuadPart;

// reset the timer
s_lastTime = currentTime;

return seconds;
} // end GetElapsedSeconds()
0904デフォルトの名無しさんNGNG
>>896を晒しsage
0905デフォルトの名無しさんNGNG
>>903
将来使うために引数だけ用意されてるんじゃないの?
今のところ使わないからデフォルト値でユーザが指定しなくてもいいようにしてるだけで。
0906デフォルトの名無しさんNGNG
なるほど。どうもありがとうございました。
0907864NGNG
亀レススマソ
>>865
ツールボックス等が別ウィンドウで開いちゃうんです。
何か気持ちが悪いので元に戻したいのですが・・・・・。
ちなみにインストし直しても駄目でした。
どなたかわかりましたらよろしくおながいします。
0908892NGNG
間違えますた(スマソ
BYTE* p = new BYTE[128];
でした。

自作関数でポインタだけ受け取って、
何バイト使ってるか判ったら楽とか思ってたんですが。
0909デフォルトの名無しさんNGNG
>>908
むりぽ
0910デフォルトの名無しさんNGNG
ポインタはあくまでもメモリの1アドレスを指しているだけだから、
そこから何バイト確保されているとか分かるはずがないことくらい分かりそうなもんだが……
0911908,892NGNG
>>910
えぇ、そうなのですが、
delete [] で、「確保されたメモリ」をちゃんと開放してくれるのなら、
OS側が何処から何バイトのメモリを使っているか、
云々の情報を持っているわけですよね?

そうならば、VC固有の関数でも何でも良いので、
そうした情報が取れないか、と思ったのです。
0912デフォルトの名無しさんNGNG
その辺、OSで管理してないんかな?
DOS時代の malloc はOSのファンクションを呼び出していたと
思うんだが、new はどうなんだろ。

0913デフォルトの名無しさんNGNG

最近はオブジェクト自身にオブジェクトのサイズを
格納する事例がありますね。動的にサイズを得るのが
難しい or 不可能だから、こういう処理をしてるのかも。

0914デフォルトの名無しさんNGNG
VC++のmallocなら_msize、APIのLocalAllocならLocalSize。
ただ、newの場合なにやってるか分かったもんじゃないからこういう手段は使えない。
0915デフォルトの名無しさんNGNG
>>907 == 864
まさかとは思うが、フレームにくっついてた
ツールバーとかが分離してウィンドウになってしまうってこと?
ドラッグして適当な位置に移動させれば元の位置に貼りつくけど・・・
違ったら失礼。
0916デフォルトの名無しさんNGNG
>>913
昔から構造体でよく使われてた手だね
0917デフォルトの名無しさんNGNG
>>914
VC++のMSDNみてたら、malloc と new は混在できないと
書いてありますた。
0918デフォルトの名無しさんNGNG
#define WIN32_LEAN_AND_MEAN って何をやらかしてるんですか?本にはおまじないとしか書いてなかったので・・
0919デフォルトの名無しさんNGNG
>>918
聞く前に調べろボケ
ttp://www.google.co.jp/
0920864NGNG
>>915
そうっすよね?
それがうまくいかないんすよ。
ああ、もうめっちゃ気になってキタ━━━━━━(゚∀゚)━━━━━━ !!!!!
初期状態に戻す設定方法みたいなのはないんすかね?
0921デフォルトの名無しさんNGNG
>>920
そこまでいうのなら、関連レジストリ消して再インスコしかないね。
でも、危ないからやらないほうがいいけど、どうしてもやりたい場合は
レジストリバックアップしとかないとね。
再インスコしなくても、レジストリの関連パラメータを削除だけでいけるかもね。
そのパラメータがなんなのかはわからないけど。
0922871NGNG
誰もレスしてくれないので自己レス・・・(;´Д`)
WM_PARENTNOTIFYは子ウィンドウが親ウィンドウに送信するというより
正確にはウィンドウスタイルにWS_CHILDをもつもののみ送信するといった方が良い。
ダイアログはポップアップかオーバーラップで作成するのが普通なんで
たとえCreate()のpParentWnd引数に何かのウィンドウを渡そうが
ダイアログはそのウィンドウにWM_PARENTNOTIFYは送信しない。
ややこし。
0923864NGNG
>>921
初心者の折れにレジストリなんていじれるわけないわけで・・・・・
0924デフォルトの名無しさんNGNG
>>923
んなら、アンインスコ→再インスコってのはどーよ。
ちなみにレジストリは、Ver6.0(しかもって無い)の場合は、
スタート→ファイル名を指定して実行(R)でregeditを実行。
マイコンピュータ
+HKEY_LOCAL_MACHINE
+SOFTWARE
+Microsoft
+VisualStudio
のVisualStudioがアンインスコで削除されていれば良いと思うけど。
0925864NGNG
>>924
アンインストールしてレジストリをチェックしてみますた。
「VisualStudio」はなかったんですが
「.NETFramework」と言うフォルダに3つのファイルがありますた。
これをいじるなり削除するなりすればいいんですかね?
0926デフォルトの名無しさんNGNG
うるせぇなぁ。
バックアップとって試してみりゃいいべよ。
何でもかんでも人に聞こうとすんなよボケが。
0927デフォルトの名無しさんNGNG
>>925
ぜんぜん別物だろそれは。
馬鹿かお前は。
0928デフォルトの名無しさんNGNG
>>925
これ以上は自分の責任でやってくれ。
人に聞いて調べる前に自分でやってみろよ。
ウザくてしかたがない。
0929デフォルトの名無しさんNGNG
class world {
protected: // コメント...
int n
public:
void gof();
};
VC++.netでコメント書き込むと文字"0x..."が認識できないとエラーになるんだけど
なんでよ?
0930デフォルトの名無しさんNGNG
int nのうしろに;がないようだが。
0931デフォルトの名無しさんNGNG
>>929
全角スペースでも入ってんじゃないの?
0932デフォルトの名無しさんNGNG
すいません。not mfc にかきこしたのですが、スレ違いなようなので
こっちに移します。

MFCのCFileというクラスで
fileOut.Open(trgtname + strConFilePath,
CFile::modeCreate | CFile::modeWrite | CFile::shareExclusive,
NULL);
fileOut.Write(buf, sizeRead);
fileOut.Flush();
fileOut.Close();
というソースがあるのですが、sizeReadはバッファの長さとして、(本当はwhileがあるのですが)
れを、open, wrhite, close で書き換えたいのですが、
if((fp = open(fname, _O_BINARY)) == NULL){
return false;
}
write(fp, buf, sizeRead);
close(fp);
とまでは、かけたのですが何かうまくいきません。
どう書くべきですか?
教えてください。
0933デフォルトの名無しさんNGNG
>>932
意味がわからない・・
どううまく行かないのかも書いとくれ。
後半はC言語?

0934デフォルトの名無しさんNGNG
そうです。Cに書き換えたいのですが、
同じデータをファイルに書き出すと、違う結果がでるのです。
(while内はライブラリからデータをもらっているのでどうともいえないのですが)
0935デフォルトの名無しさんNGNG
だからどう違うのかと
0936デフォルトの名無しさんNGNG
もう冬休みなんだっけ?
0937デフォルトの名無しさんNGNG
質問です。

VC のオブジェクト(FormView ベースのときに貼り付けられるやつ)と、
クラスってのは何が違うんですか?

VB から入ったものでこの辺の違いがよくわかりません。
0938デフォルトの名無しさんNGNG
春だなぁ。
0939デフォルトの名無しさんNGNG
Visual C++ = C++ でいいの?
おなじでつか?
0940デフォルトの名無しさんNGNG
Visual C++ は C++。C++ は Visual C++ とは限らない。
0941デフォルトの名無しさんNGNG
Visual C++ は C++ とは限らない。
0942デフォルトの名無しさんNGNG
VisualC++はC++で開発できる開発環境ソフト。
0943デフォルトの名無しさんNGNG
>>937
それくらい自分で調べましょう。
……他人に質問するのは「調べる」とは言わないからね。(^_^;)
0944デフォルトの名無しさんNGNG
前に「ネットで調べれ」と言われて「だから2chで聞いてるんです」と開き直った奴がいたな。
2chで聞くこと=ネットで調べること という認識に驚愕した。
0945デフォルトの名無しさんNGNG
>>937
「Windowsプログラミングの基礎知識」(アスキー)をオススメ!
これとC++の基本図書を読んでから、もう一度質問してください。

0946デフォルトの名無しさんNGNG
ネットで調べるという表現が悪いと思われ
検索+過去ログ嫁というニュアンスなんだろうが
ネットっていったいなんだろう、と素直に考える初心者にとって
NOVAの授業でさえ「ネットで」になると思われ
0947デフォルトの名無しさんNGNG
「ネット」が何かということよりも「調べる」の方に重点を置いて欲しかった。
調べる=聞くだと思ってるんだから。
0948デフォルトの名無しさんNGNG
聞くことが間違いってワケじゃないけどね。
ニュアンスの問題だろうなぁ。
0949デフォルトの名無しさんNGNG
いや、>>944は「それくらい検索すりゃすぐ出てくるんだから聞く前に検索しろ」レベルの質問だった。
つまり質問者が検索してないのがバレバレだったわけ。
0950デフォルトの名無しさんNGNG
葬式=菊
これ定番
0951デフォルトの名無しさんNGNG
>>944、>>946-949
もし C スレの hiloshi の話なら、「ネットで調べれ」 ではないぞ。
http://pc3.2ch.net/tech/kako/1035/10352/1035211039.html
の 327-340 あたり。341 で騙りも出て祭りっぽかった。以下抜粋。

327 名前: hiloshi 投稿日: 02/10/23 20:58
  すいません。また質問です。
  char型の変数をprintfで表示するための変換指定子はなんですか?
  %dでやると、JISコードの値が出てしまう・・

329 名前: デフォルトの名無しさん 投稿日: 02/10/23 21:00
  %c
  つか、これくらいは聞くなよ。参考書読め。期待してるんだから頑張れよ。

332 名前: hiloshi 投稿日: 02/10/23 21:41
  すいません。今度はもっと上級な質問をします。
  でもオレの持ってる本には文字列は詳しく書いてるんですけど
  文字のことはさっぱりで・・・。

333 名前: デフォルトの名無しさん 投稿日: 02/10/23 21:42
  何のためのWebだよ。

334 名前: デフォルトの名無しさん 投稿日: 02/10/23 21:43
  >すいません。今度はもっと上級な質問をします。
  じゃなくて、ある程度自分で調べてから質問しろよってこと

335 名前: hiloshi 投稿日: 02/10/23 21:46
  ある程度調べるってことで、ここで質問してるんですよ

以降も DQN ぷりを発揮、858 で意味不明のスレ立てたのが晒されるてる。
0952デフォルトの名無しさんNGNG
>>951
( ゚д゚) ポカーンage
0953デフォルトの名無しさんNGNG
vb6.0で作ったexeを、vc6.0でデバッグするしたいのですが、
プロパティのコンパイル設定で最適化なし、シンボリックデバッグ情報を作成、
した後、どのように関連付けていいのかわかりません。

まことに恐れ入りますが、教えていただけないでしょうか?
0954デフォルトの名無しさんNGNG
>>953
君が何を言いたいのか分からない。
0955デフォルトの名無しさんNGNG
>>954
確かに言いたいことつたわらないどころか、まともな文章になってないですね。すいません。

つまり、VB(EXE)のソースをVC(DLL)側からデバッグ中にトレースしたいのですが、なんとかなりませんでしょうか?ということです。

いいたいこと、わかりますでしょうか?
0956デフォルトの名無しさんNGNG
VBではデバックできんの?
0957デフォルトの名無しさんNGNG
>>955
DLLをビルドしたプロジェクトを開いて、
プロジェクト→設定→(設定の対象を適当に選択)
→デバック・タブのデバックセッション実行可能ファイルでVB(EXE)を指定する。
→実行(F5)
でデバックスタート。
0958デフォルトの名無しさんNGNG
>>956 957
thx。でも、すでに957氏の方法でやっているんですよ。

だけど、VBではVCのDLLはうごくんですけど、VBのソースだけトレースできなく、
DLLがこけてもどこでこけたか、いまいちわかりづらいし、
VCではVBのEXEは動くんですけど、VCのDLLの部分しかトレースできないから、
EXEのどこでこけてるかわかりづらい。

VBのボタン押したら起動、終了するプログラムをVCの方でマルチスレッドでゴリゴリ書いてて、
例外処理 (初回) は Hoge.exe (KERNEL32.DLL) にあります: 0xC0000005: Access Violation。
とでてきて、どこでこれが起きてるか場所特定できないなかったので、
両方のソースを同時にトレースする方法でもないものかと思い尋ねてみたんです。
(なんかできっるぽいようなことがちらほらとWEB上に書いてあるんですけど、具体的方法が書いていないの。)

まぁ、原因はmutex(クリティカルセクション)の設定が悪かっただけなんですけど。

くだらん質問に答えていただき、どうもありがとうございますた。それでは失礼いたします。
(ちなみに、バグの個所わかってもなかなか全部消えてくれない。。。)
0959デフォルトの名無しさんNGNG
新人用にVC.NETの入門書探してたんですが
結局日経ソフトウェアの5月号が一番わかりやすそうでした。
初心者はどうぞ
0960デフォルトの名無しさんNGNG
>>958
そりゃ出来んわな。元のソースを工夫汁。
0961デフォルトの名無しさんNGNG
http://pc2.2ch.net/test/read.cgi/software/1047915395/58
http://pc2.2ch.net/test/read.cgi/software/1047915395/63
ということなのですが、私には↑をするほどの技術はありません。
どなたかしていただける方いませんでしょうか?
0962958NGNG
hoge.frm(VBのソース?)をVCのプロジェクトに追加したら、VCでhoge.frmをデバッグできるようになってますた。

vbのコンパイルオプションは >>953 です。
0963デフォルトの名無しさんNGNG
>>962
すげー、出来るんだ〜。勉強になりますた。
0964デフォルトの名無しさんNGNG
CTreeViewの中でアイテムテキストエディット中に、
アクセラレータキーを無効にするにはどうしましょう?
0965964NGNG
BeginLabelEditとEndLabelEditで編集の開始と終了をハンドリングして
編集中はアクセラレータキーをtranslateしないようにすりゃいいのか。
0966デフォルトの名無しさんNGNG
すみません、STLでの質問ですが
メモリ確保に失敗したとき例外が投げられてるみたいですけれど
上手くcatchできません

vector<BYTE> b;
try{
b.reserve(1 * 1024 * 1024 * 1024);
}
catch(***){ // ←ここの***にクラスの参照入れるんでしょうけど、どのクラスか分かりません
...
}

0967966NGNG
他のスレできくべきかと思いましたけど
VisualC++を使ってること、初歩的な内容の質問だと思われたのでここで質問しました
0968デフォルトの名無しさんNGNG
自己解決できました

catch(...){
}で捕まえることができました

お騒がせしました
0969デフォルトの名無しさんNGNG
>>968
catch(std::exception& e){
std::cout << e.what() << std::endl;
}

とかやると、詳細をダンプしてくれて便利。
0970デフォルトの名無しさんNGNG
>>969
レスどうもです
そちらを試してみます
0971デフォルトの名無しさんNGNG
スタートメニューの整理をしてたら誤まって
Visual C++ 6.0 Professional のショートカットを
消してしまい場所がわからなくなってしましました。
申し訳ありませんが、VC++6.0のショートカットの場所を
お教え頂けないでしょうか?
OSはWinMeです。
0972デフォルトの名無しさんNGNG
>>971
MSDEV.EXEを検索
0973デフォルトの名無しさんNGNG
Visual C++ は catch ( ) で特定の例外を
キャッチすることはできなかったはず。

0974デフォルトの名無しさんNGNG
できるがな
0975デフォルトの名無しさんNGNG
構造化例外とC++例外がちゃんと切りわけられてないな
0976971NGNG
>>972
どうもありがとうございます。
おかげさまで復旧できました。多謝!
0977デフォルトの名無しさんNGNG
VC++のC++例外は構造化例外で実装されています
0978デフォルトの名無しさんNGNG
★男はココを見るべし★女と金とサンプルムービー★
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
http://www.pink-angel.jp/betu/linkvp2/linkvp.html
0979デフォルトの名無しさんNGNG
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
★ウゼェキエロ!!!★ウゼェキエロ!!!!!!!!!!!!!!!!!!!!!!★
0980なみしNGNG
超厨な質問すみません。

いま、作ってわかるVISUAL C++6.0という本を読んで勉強中ですが、
本の中にコードを追加してくださいとあって
そのなかに星みたいな記号がありました。
*なら打ち込めるのですがなんかちょっと違うみたい・・・・・
もしよろしければ、その記号の入力の仕方を教えていただきたく存じます




0981デフォルトの名無しさんNGNG
>>980
それじゃあ何の文字が入力できないのか分からない。
でも多分、アスタリスク * の事か?
だとしたら、あなたが 980 に書いたものを半角で打てばいいはずだ。
0982デフォルトの名無しさんNGNG
印刷物だとたまに*が線5本で描かれてたりするから紛らわしい。
0983デフォルトの名無しさんNGNG

/************** (゚Д゚)ハァ? *****************/
0984かえるのおっさんNGNG
984
0985かえるのおっさんNGNG
985

0986デフォルトの名無しさんNGNG
☆★
0987デフォルトの名無しさんNGNG
次スレ、もうそろそろ作るべき?
0988デフォルトの名無しさんNGNG
>>980
☆
0989なみしNGNG
>>982
多分それです。線が5本の星でした。

じゃぁ、アスタリスクなのですね。

みなさま、本当に厨質問にレスありがとうございます
0990デフォルトの名無しさんNGNG
CComboBoxで入力もできるタイプのリスト(ブラウザのアドレス入力欄みたく)にした時、現在選択(入力)
されている文字列を取得するにはどうしたら良いのでしょうか?
CComboBoxのメンバ関数には選択されてるセルのインデックスを取得する関数はありましたが、文字列
を取得する関数がなさげでしたので・・・
なお、ファイル名等に限定して取得する関数はCWinクラスにありましたが、それを実行するとゴミが余計
についてきてしまいます
0991デフォルトの名無しさんNGNG
>>990
>文字列
を取得する関数がなさげでしたので・・・
あるだろ。GetLBTextは違うのか?
0992987NGNG
とりあえず、作っといた。

★初心者にVisual C++を教えるスレ★ Part5
http://pc2.2ch.net/test/read.cgi/tech/1048698321/l50
0993デフォルトの名無しさんNGNG
993.
0994デフォルトの名無しさんNGNG
994
0995デフォルトの名無しさんNGNG
995!!!!
0996デフォルトの名無しさんNGNG
996
0997デフォルトの名無しさんNGNG
997
0998デフォルトの名無しさんNGNG
998
0999デフォルトの名無しさんNGNG
999
1000デフォルトの名無しさんNGNG
久しぶりに1000ゲット
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。