■過去ログ置き場に戻る■ 1- 前250 次250 最新50


[memo] "9999999999_00.html#R20" という感じで、URLの最後に "#RレスNo" を追加すると幸せになれます。

★初心者にVisual C++を教えるスレ★
501 名前:496 :02/10/23 04:48
ピクチャのプロパティで「通知」をcheckedにすれば、BN_CLICKEDイベントを
ハンドルすることでクリックを検知できました。
あとは >>494 でどうにか。さんくす。


502 名前:デフォルトの名無しさん :02/10/23 05:08
>>499
標準Cからはじめるってことだよね。
まずは、配列、関数、ポインタ、構造体ってところじゃない?
1)hello world と出力せよ
2)int 整数をつくり、任意の数に初期化して数値を出力せよ
3)int 配列を 10 個つくり、10〜19 まで代入して for ループで出力せよ
4)int 配列をグローバルにおき、for ループで出力する関数に変えるべし
5)4を int 配列へのポインタを使うように改造せよ
6)int 配列へのポインタと、個数を受け取って出力する関数に改造せよ
7)ランダムな値を代入するように改造せよ
8)7で作ったデータを今度はテキストファイルに出力せよ
9)8で作ったテキストファイルのデータ値に2を掛けて画面に出力せよ
こんな感じ?もっと良い例があるかもしんないけど・・

503 名前:デフォルトの名無しさん :02/10/23 05:18
ケツメイシのトモダチ
いい曲だなぁ。

504 名前:デフォルトの名無しさん :02/10/23 07:46
>>499
んじゃ!
ペンタゴンの軍事ネットワーク「ミリネット」に侵入するプログラム作れ!

505 名前:デフォルトの名無しさん :02/10/23 09:56
>>504
正解を準備できるの?

506 名前:472 :02/10/23 16:01
>>473
VARIANT型の変数をどこに宣言すればいいのでしょうか?

507 名前:デフォルトの名無しさん :02/10/23 18:33
Visual C++ でrs-232cのシリアル通信でどうやるんでしょう?
MSComm は Visual Basic のコマンドなんですか?
デジタルボルトメーターを制御したいんですが。
どなたか教えてください。 お願いします。m(__)m

508 名前:499 :02/10/23 18:39
>>502さん
どうもありがとうございます。
今までは本を見ながらしっかりした目的も無くプログラムを組んでいましたが
目標が出来たことでもっと力をいれて勉強できそうです。
いずれはプログラムを職として組んでいけるようになりたいです。

>>504さん
それは、、、いつか考えてみます(汗

509 名前:VC++初心者 :02/10/23 19:19
イリアなどのDLソフトのように取得した画像をかってに番号を割り振ってフォルダに
保存していく機能を持たせるにはどんな感じのプログラムにすればいいのでしょうか?
房な質問ですみません。使えそうな関数を教えてもらえれば幸いです。
まだ、学習したてで、コンストラクタを使えば良いのか、ただ単にハンドル渡して
組み立てれば良いのか混乱しています。
よろしくお願いします。

510 名前:デフォルトの名無しさん :02/10/23 19:25
質問です。
CHtmlViewを継承したクラスを使ってブラウザを作っています。
右クリックしたときに独自のメニューを表示させたいのですが、どうすれ
ばいいのでしょうか?
右クリックやコンテキストメニューのイベントハンドラを使っても、htmlファイル
がロードされていると普通のIEコンテキストメニューが表示されてしまいます。

511 名前:初心者 :02/10/23 22:35
MDIで、開く画像の大きさと同じ大きさのウインドウを作りたいのですが
どうしたらいいですか?
viewクラスのPreCreateWindowのcsをいじっても何も変わらないし

512 名前:デフォルトの名無しさん :02/10/23 22:36

.netでプログラムの結果をアニメーションできますか?
たとえば、銀河形成シミュレーションの過程を視覚的にみたりとか。

513 名前:デフォルトの名無しさん :02/10/23 22:42
>>512
http://www.asahi-net.or.jp/~cs8k-cyu/gp/


514 名前:デフォルトの名無しさん :02/10/23 22:57

 >>513
関係ないです。

515 名前:デフォルトの名無しさん :02/10/23 23:14
movewindowわ?

516 名前:デフォルトの名無しさん :02/10/24 02:59
VS.NETを買おうかと思ってます。
ですがいろいろなEditionがあってどれをどれを購入していいかよくわかりません。
アドバイスお願いします。

職業:大学生
装備:ゴールドカード(学生証)
目的:生涯の趣味のため。
使用言語:C++だがこの際VBやC#を覚えたほうがいいと思うならそれも・・・だけどわかんないです。

言語の展望も含めて教えて頂けると嬉しいです。
またゴールドがそう豊富にあるわけではないので書籍をがしがし買うわけにはいけません。

517 名前:デフォルトの名無しさん :02/10/24 13:02

>>516
linuxをいれなさい。すべてタダでできるよ

518 名前:デフォルトの名無しさん :02/10/24 13:16
>>516
バイトして書籍をがしがし買え。マジレスだ。

519 名前:デフォルトの名無しさん :02/10/24 16:16
>>517
「Linuxはタダだから、金はWindowsにつぎ込め。そうすればどちらも楽しめる」ということ?

>>516
同じく大学生だが、Professional MSDN Deluxe Editionの優待版を買った。
「以前のバージョンが必要」と書いてあるが、なくてもインストールして普通に動かせた。

書籍は「入門C#プログラミング」みたいな1,500\ぐらいの安い雑誌でいいんじゃないの?

520 名前:デフォルトの名無しさん :02/10/24 19:06

VS.NETを買うよりredhatを買ったほうが安上がり。
開発環境もそれなりにそろってるよん。
このさいWindowsをやめLinuxにしなさい

521 名前:デフォルトの名無しさん :02/10/24 19:11
C++でいいならそうだね。逆に、C++の美味しい部分(template meta, generic, generative programming) を学びたいならVCは役不足。gcc-3.2が非常に無難。
皆に使ってもらいたいGUIアプリを作りたいなら別だけど。



522 名前:デフォルトの名無しさん :02/10/24 19:23
>>519
Linuxには、プログラム環境がほとんどなんでも入っています。
入っていないのは、FTPサイト等で無料で配っています。
結論から言うと、なんらかの制約が無い限り、学生がMSを買う必要はないです。


523 名前:デフォルトの名無しさん :02/10/24 20:06
ココはVC++スレだ!Linux房は消えろ!

524 名前:デフォルトの名無しさん :02/10/24 20:09
両方死ぬほど使えますが何か?
VCを崇拝するスレじゃないだろう?
カス。

525 名前:デフォルトの名無しさん :02/10/24 20:18
他でやってくれないか。ここVCを教えるスレだから。

526 名前:デフォルトの名無しさん :02/10/24 20:58
>>524
お前馬鹿か?
初心者にVC++を教えるスレなんだよ。
Linuxなんぞどーでもいーんだよ!
Linuxを語るんなら他所逝け!
ボケ!

527 名前:デフォルトの名無しさん :02/10/24 21:11
>>524は言い返すのに必死になってここがどこだかわからなくなったんだろうな

528 名前:デフォルトの名無しさん :02/10/24 21:35
Linux厨ってイタイな・・・

529 名前:デフォルトの名無しさん :02/10/24 22:18
>>507
> Visual C++ でrs-232cのシリアル通信でどうやるんでしょう?

BuildCommDCB BuildCommDCBAndTimeouts ClearCommBreak
ClearCommError CommConfigDialog EscapeCommFunction
GetCommConfig GetCommMask GetCommModemStatus
GetCommProperties GetCommState GetCommTimeouts
GetDefaultCommConfig PurgeComm SetCommBreak
SetCommConfig SetCommMask SetCommState
SetCommTimeouts SetDefaultCommConfig SetupComm
TransmitCommChar WaitCommEvent

あたりを調べてミレ。

> MSComm は Visual Basic のコマンドなんですか?

どうでもいいけど、コマンドじゃないよ、コントロールだよ。

> デジタルボルトメーターを制御したいんですが。

どこの奴 ? メーカーでライブラリ提供してない ?

530 名前:デフォルトの名無しさん :02/10/24 22:49
Linuxはまともな統合開発環境がないから気に食わん。

531 名前:デフォルトの名無しさん :02/10/24 23:43

>>530
Linuxつかえないだけだろw

532 名前:デフォルトの名無しさん :02/10/24 23:44
>>521
もしかして「役不足」の用法勘違いされてますか?

533 名前:デフォルトの名無しさん :02/10/24 23:46
やくぶそく【役不足】
(1)俳優などが与えられた役に満足しないこと。
(2)能力に対して、役目が軽すぎること。「―で物足りない」

534 名前:デフォルトの名無しさん :02/10/24 23:58
おぉ。初心者に教えてくれるスレなんて有ったんだ!!
本当に初心者で尚且つプログラムのプの字も知らなくても
マスター出来たりするでしょうか…。
過去ログを今から漁ります。

535 名前:530 :02/10/25 02:05
>>531
じゃあ、どんな環境で開発しているの?
もしかして gcc + Emacs で満足なの?

536 名前:デフォルトの名無しさん :02/10/25 02:07
だからLinuxは他でやれって。

537 名前:デフォルトの名無しさん :02/10/25 02:14
Linuxってプログラム技術と関係ないんだから他でやれよ。

538 名前:デフォルトの名無しさん :02/10/25 02:20
>>537
Linuxでの開発にはプログラム技術が不要なのですか。
HSPよりも素晴らしそうですね。(藁

539 名前:516 :02/10/25 06:58
レスありがとうございます<(_ _)>

Linuxについてですが「Windowsのアプリを書きたい、IDEに触れたい」というのがあるので
今回は見送らせてもらいます。

>>519
学生ならAcademic Editionのほうが良さそうな気がするんですがProfessionalを選んだのは
何か理由があるんでしょうか?

540 名前:デフォルトの名無しさん :02/10/25 07:26
HSPもLinuxも他所でやれっつってんだろ?
スレ違いだ!消えろカス!

541 名前:519 :02/10/25 09:01
>>539
Academicにはアクティベーションがあるからだね。ノートとデスクトップの両方にインストールしたかったから。
当時はMSDN Deluxe Editionに10,000\キャッシュバックがあったし。

542 名前:デフォルトの名無しさん :02/10/25 09:12
C♯の使い方教えて欲しいな…

543 名前:デフォルトの名無しさん :02/10/25 10:55
>>542
スレ違い。
http://pc3.2ch.net/test/read.cgi/tech/1023766485/l50

544 名前:516 :02/10/25 12:12
>>541
そんな違いがあったんですね。
気がつきませんでした。

よし、私もProfessional買おう!
と思ったらタカッ!Σ(゚Д゚)

Academicが24500円でProfessionalが87800円(ウソマップ価格)。
中身同じなんですよね・・・・。
学生証をゴールドカードって呼ぶ人の気持ちがわかりますた。

Academicを買うかVC++.NETを買うかで悩んでるんですがどう違うのでしょうか?
http://www.microsoft.com/japan/msdn/vstudio/productinfo/featureview.asp
を見てもいまいちピンと来ないんですが。

545 名前:516 :02/10/25 12:19
書き方悪かったかも。
文章不自由ですいません<(_ _)>

違いは表を見たら一目瞭然ですよね・・。
知りたいのはどういう目的で使用する場合違いが出てくるか?とか、
何か決まり事(例えばアクティベーションとかGPLみたいな)があるのか?
を知りたいです。

546 名前:デフォルトの名無しさん :02/10/26 03:37
VC++で、C言語のファイルを編集する場合、秀丸の関数一覧のような機能を
ご存知の方おられませんか?


547 名前:アフォ :02/10/26 04:20
秀丸の関数一覧のような機能をJAVAでも使えますか?
>>546
関数一覧て左側のペインに出てるじゃん。


548 名前:悶絶 :02/10/26 08:44
今、C++でDirectXフルスクリーンのプログラムを作っています。(開発はVisualC++6.0)
フルスクリーンの状態で、ダイアログを開き、テキスト入力を受けつけ、
値を取得したいのですがどうすればいいのかわかりません。

┌───────────────────┐
├───────────────────┤
│| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| [ O K . ] │←フルスクリーンで こんなのん
│. ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄  [CANCEL]_ .|
└───────────────────┘

APIでもVC++でもいいのですが、
なるべくシンプルな実現方法はないでしょうか。

#一晩中ネットのVC++サンプル等を見て回ってたのですが、
#あんなにズラズラ書かないと 上の機能は実現できないのでしょうか
#〜.rcとかclwとかapsとか・・・ 一瞬、VBのInputBoxが懐かしくなりました(w

549 名前:デフォルトの名無しさん :02/10/26 09:32
この業界入って、何の資格も取らずに40歳までいっちゃうとリストラ対象になるってホントですか?

550 名前:デフォルトの名無しさん :02/10/26 09:43
VC++
まずは何から勉強すれば良いでしょうか?
参考書?チュートリアルHP?
色々教えてください。

551 名前:デフォルトの名無しさん :02/10/26 09:45
>>549
本人の能力によりけり

552 名前:デフォルトの名無しさん :02/10/26 10:03
>>549
資格なんか関係ないっしょ・・


553 名前:デフォルトの名無しさん :02/10/26 11:53
VC++でCORBA使うにはどうすればいいんですか?

554 名前:315 :02/10/26 18:03
>>552
会社によるやろ。
とりあえず、板違い & コピペはウザイ。> >>549

555 名前:デフォルトの名無しさん :02/10/26 21:14
VC++6.0 で、次のようなプログラムを作りたいのですが…
  ボタン1を押したら、ある時間のかかる計算を開始。
  計算中にボタン2を押したら、(適当なところで)中止。
しかし、OnButton1() の部分にその計算ルーチンを
入れてしまうと、ボタン2を押そうとしても押せませんよね。
この場合、どのように組むのが一般的なんでしょうか?
超初心者ですみませんが、よろしくお願いします。

556 名前:VC++房 :02/10/26 21:16
pBuffer = (BYTE*)VirtualAlloc(NULL, Param.Image.BufferLength, MEM_COMMIT, PAGE READWRITE);

1、(BYTE*)は何を意味するのでしょうか?
2、Param.Image.BufferLength は予約またはコミットするページ領域のサイズを、バイト単位で指定
 することになるのでしょうか?
お願いします、教えてください。      

557 名前:デフォルトの名無しさん :02/10/26 21:18
>>555
マルチスレッド

558 名前:555 :02/10/26 21:28
マルチスレッドって何

559 名前:デフォルトの名無しさん :02/10/26 21:30
スッドレ!


560 名前:デフォルトの名無しさん :02/10/26 21:38
>>558
MSDN で、マルチスレッドを検索汁。
そこに書いてあることが、理解できないなら、>>555 みたいなことは、君にはまだ無理と言うことだ。
頑張って色々調べる/やってみるか、そう言うプログラムはあきらめるかのどちらかを選択しな。

561 名前:555 :02/10/26 22:25
>>557 >>560

>>558 は私ではないのですが・・・
>>558 さん、代わりに聞いてくださってありがとうございます(w
マルチスレッドですね。何とか頑張って調べてみます。
お答えいただき、どうもありがとうございました!

562 名前:デフォルトの名無しさん :02/10/26 23:00
VC++6で、ブレークポイントで実行を停止したあとって、ステップ実行しかできないのでしょうか?
次のブレークポイントに出会うまで実行を再開することは不可能?


563 名前:デフォルトの名無しさん :02/10/26 23:02
単にF5か・・・・


564 名前:デフォルトの名無しさん :02/10/26 23:15
__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

565 名前:デフォルトの名無しさん :02/10/26 23:25
UNICODEを使いたいのですが、上手く動作してくれません。
間違ってますか…?お願いします。

char szData[20];
char szMulti[80];
memset(szData, 0, 20);
memset(szMulti, 0, 80);

strcpy(szData, "あ");

WideCharToMultiByte(
CP_UTF8,
WC_DEFAULTCHAR,
(LPCWSTR)szData,
-1,
(LPSTR)szMulti,
100,
NULL,
NULL);

MessageBox(szMulti);

566 名前:デフォルトの名無しさん :02/10/26 23:32
・WCHAR/wchar_t szMulti[80]
・MessageBoxW

567 名前:デフォルトの名無しさん :02/10/26 23:35
>>561
マルチスレッドについては「猫でも分かるプログラミング」と言うHPで見れば分かると思う。
ただしMFCではないので注意。

568 名前:デフォルトの名無しさん :02/10/26 23:54
>>550
「まずは」か…。
とりあえず今はどれくらいのことができるのよ?
一般的には
C言語 -> C++言語 -> Win32 SDK -> MFC
って順序かな。VisualC++の開発環境の使い方もそれと並行して。

569 名前:568 :02/10/27 00:00
おっと「何から」って書いてあるから
「どの段階から」って意味かと思ったが違うのか?
「どの情報源から」って意味ならとりあえず全部だ。
自分で良さそうと思うのを選択して学ぶくらいできなきゃ駄目だぞ?
そうそう、書籍に金を惜しんだり英語を敬遠するのもあまり良くないな。

570 名前:デフォルトの名無しさん :02/10/27 00:21
初心者に Visual C++ なんか教えちゃだめです。
まず Delphi を教えてから、ANSI C++ を教えて、C++ Builder を教えましょう。
そしたら、VCL のソースの読み方と Win32 SDK を教えましょう。
いまどき MFC なんて読ませたら、まともなライブラリ作られへんようになって
まいます。
それから、Java 2 SDK のライブラリのソースも参考に読ませるといいでしょう。
VCL よりもオブジェクト指向的に洗練されているし、いろいろなデザイン・
パターンが使われていて勉強になります。


571 名前:デフォルトの名無しさん :02/10/27 00:22
ANSI C++って何ですか?


572 名前:デフォルトの名無しさん :02/10/27 00:28
>>569
そうそう。
なんであれ本気で技術を身に付けようと思ったら、お金と時間をケチってはいけません。
それがいやだというなら、技術習得はあきらめることです。


573 名前:561 :02/10/27 00:42
>>567
おっしゃる通り、MFCでやろうとしていました…。
教えていただいたHPですがとても分かりやすいので、
ここを参考にして、SDKから学ぼうと思います。
本当にありがとうございました。

574 名前:デフォルトの名無しさん :02/10/27 01:17
>>568
おいおい、普通は

  C言語 → Win32 SDK
           ↓
       ( C++言語 → MFC ) opt.

じゃないのか?
それだと、Win32 SDK に C++ が必須のように見える。

575 名前:厨房 :02/10/27 01:29
すごいすみません。
VC++のパッケージってエンタープライズとかプロフェッショナルとかアカデミックとか
色々ありますが、これらの違いはなんでしょうか?
もしこれで作ったソフトを売ろうと思ったら、アカデミックなら売ってはいけないとかあるんでしょうか?

576 名前:デフォルトの名無しさん :02/10/27 02:06
>>575
自分を厨房と呼ぶな。教えて君と名乗れ。
自分で調べる手間を惜しむならそうすべきだ。

エディションの違いは全部パッケージに書いてあるから確認しろ。
商利用はアカデミックでも問題ないはずだ。

577 名前:デフォルトの名無しさん :02/10/27 02:55
>>576
>商利用はアカデミックでも問題ないはずだ。
「そのエディションで商利用が大丈夫なら」だね。

578 名前:576 :02/10/27 03:16
>577 ああそうだ、すまそ。

579 名前:デフォルトの名無しさん :02/10/27 05:43
gccのtypeof演算子のようなものはVC++にはありませんか?
http://www-cms.phys.s.u-tokyo.ac.jp/~naoki/CIPINTRO/gccextend.html


580 名前:デフォルトの名無しさん :02/10/27 05:52
>>579
template 使いなさい。

581 名前:デフォルトの名無しさん :02/10/27 05:54
はい。


582 名前:デフォルトの名無しさん :02/10/27 06:01
>>579
typeof 演算子を使って、一体何をやりたいの?

583 名前:デフォルトの名無しさん :02/10/27 06:04
>>582
http://pc3.2ch.net/test/read.cgi/tech/1026793823/756n-
のVC6用を作るのに使おうかと思ったんですが漏れの妄想でした。


584 名前:デフォルトの名無しさん :02/10/27 06:24
>>583
ああ了解。
でも、

| #define ARRAY_SIZE(name,type) (sizeof(name)/sizeof(type))
| にしておいたのですが、template使ってnameがポインタだった場合に
| コンパイルエラーにすることはできないでしょうか?

で、name がポインタかどうかわからない局面ってあるのかな?
コーダーがよっぽどのチョンボをしてない限りチェックの必要は無いと思うけど。

585 名前:デフォルトの名無しさん :02/10/27 06:28
>>584
そうですね。作ってみたい衝動にかられただけで、必要かといえばそうでもないように思います。


586 名前:デフォルトの名無しさん :02/10/27 08:04
>>548はレスもらってないが、解決したの?

587 名前:デフォルトの名無しさん :02/10/27 08:06
>>586
548タンでつか?


588 名前:デフォルトの名無しさん :02/10/27 08:12
>>58違う。
もしまだ解決してないなら何か書いとこうかと思って。
一口で言える話ではないんでガイドライン的なものになるけど。
難しい質問じゃないんで、もう解決してるか。

589 名前:デフォルトの名無しさん :02/10/27 08:58
VC++.NETで、C言語を使ってDOSアプリを作りたいのですが、
カーソル移動とか、文字の色を変えるとかの関数ってありますか?


590 名前:デフォルトの名無しさん :02/10/27 09:05
VC.NETでは16bitDOSアプリは作れないだろ。

32bitコンソールアプリの話なら、
SetConsoleCursorPosition
SetConsoleTextAttribute
あたりを使え。

591 名前:デフォルトの名無しさん :02/10/27 09:11
>>590
お答えいただきありがとうございます
えっと、他にもどんな関数があるのか見たいのですが・・・
ヘルプのどこを見ればいいのかわからないです・・・。
関数のリファレンスは、どこにあるのでしょうか?


592 名前:デフォルトの名無しさん :02/10/27 09:43
>>588
外野だけど興味はある。
「FSWindow見ろや!」というのだったらどうでもいい。

593 名前:デフォルトの名無しさん :02/10/27 12:45
>>591
逆引きしる。たとえばSetConsoleCursorPositionをヘルプで検索表示した後、
ツリーを同期させればいい。.NETは知らないが、多分同じだろう。

594 名前:デフォルトの名無しさん :02/10/27 18:39
>>556
Cスレでも聞いてただろ!

1 BYTE* = unsigned char*

2 「バイト単位」と MSDNに出てるだろ! ただし予約(コミット)された領域は
 ページ境界(64kB境界)に切り上げられる。すなわち、実際に予約(コミット)
 される領域は 64kB単位になる。

595 名前:ボルフェス :02/10/27 18:41
>>594
ありがとうございます。

596 名前:デフォルトの名無しさん :02/10/27 19:30
>>595=ボルフェスは単発質問スレたて野郎なので放置。

597 名前:568 :02/10/28 00:48
>>574
う。そりゃそうかも。
先にソースコードの拡張子をCPPにしておいた方がAPIの勉強する
ときもなにかと便利かと思ったんだが。
でもextern "C"とかやな問題もあるか…。

598 名前:デフォルトの名無しさん :02/10/28 01:33
カーソルの座標をスクリーン座標からビュークラスの座標に
変換しようとしたんですが
POINT CursorPt;
GetCursorPos(&CursorPt);
MapWindowPoints(this,&CursorPt,1);
どこがダメですか?

599 名前:574 :02/10/28 01:48
漏れも少々示威的な書き方したかな。
Win32 API を経由しないで C++ → MFC と逝く事もできなくは無い。
ただ、いきなり C++ からというのは勘弁な。
http://pc3.2ch.net/test/read.cgi/tech/1026793823/743 のような DQN が
発生する確率が上がる。

600 名前:デフォルトの名無しさん :02/10/28 01:53
>>598
( `Д) <自分のWindowを変換元の基準にしてどうするんだ?
/(ヘ つ )ヘ  MapWindowPointsの第一引数をHWND_DESKTOPにしる!
       つーか、この場合、ScreenToClientの方がいいと思うが。

601 名前:デフォルトの名無しさん :02/10/28 01:53
俺はC→MFCだ。その後Win32APIに。
Win32APIや標準C++知らなくても入門書見ればある程度動くものはできちゃうのがMFCなんだよな。
あ、もちろんWin32APIとC++わかってるに越したことは無いんだけど。

結局こういう話題で最終的にたどりつくのは
「本人にやる気があればなんとでも」ってことに。

602 名前:デフォルトの名無しさん :02/10/28 02:14
( `Д) <あ、CWnd::MpaWindowPointsはこの場合使えない。
/(ヘ つ )ヘ  

603 名前:デフォルトの名無しさん :02/10/28 02:20
>>602
ScreenToClientでできますた。どうもです。

・・・確かにmap・・・はこの場合使えませんね・・・
あほでした。

604 名前:初心者 :02/10/28 06:46
extern "C" void _stdcall SystemFunc( SYSTEM_FUNC *Param )
{
・・・
}

システムコールバックの最初の行なのですがどのような操作をしているのでしょうか?
さっぱりです。ユーザー関数定義のように見えるんですが

605 名前:初心者 :02/10/28 06:58
すみません解決しました。ほかの言語の関数を宣言する際にextern "C" が必要な
んですね。

606 名前:デフォルトの名無しさん :02/10/29 08:29
タブコントロールの特定タブにフォーカスを移すにはどのようにすれば良いのでしょうか?
タブをクリックするとそのタブが選択された状態になりますが、それをプログラム側でやりたいのですが・・

607 名前:デフォルトの名無しさん :02/10/29 09:06
TCM_SETCURSEL

608 名前:606 :02/10/29 09:32
>>607
出来ました、ありがとうございました。m(._.)m

609 名前:デフォルトの名無しさん :02/10/29 14:47
CListCtrlで、SubItemを編集可能にするにはどうしたらいいのでしょうか?



610 名前:デフォルトの名無しさん :02/10/29 14:53
http://www.codeguru.com/listview/edit_subitems2.shtml のようですね。



611 名前:デフォルトの名無しさん :02/10/29 17:12
ダイアログベースのアプリではドーヤンノサ

612 名前:デフォルトの名無しさん :02/10/29 17:48
フォーカスを現在のウィンドウからデスクトップに移動させる事は
可能なのでしょうか?

GetDesktopWindow()->SetFocus();

と書いたらコンパイラに怒られますた。

613 名前:デフォルトの名無しさん :02/10/29 18:02
::SetFocus( ::GetDesktopWindow() );

614 名前:612 :02/10/29 19:29
>>613
ありがとうございました。

615 名前:デフォルトの名無しさん :02/10/29 22:43
CHtmlViewでイベントハンドラOnMouseMove()
が使いたいんですが、何故か反応してくれません。
どうすればいいのでしょうか?

616 名前:これ解りますか? :02/10/29 22:46
/*1秒ごとに0〜99までの数値を画面に表示するプログラムを作成する。
数値は9ごとに改行し各数字の間隔は48ドット空けること*/

このプログラムに手を加えて(手直し)作ってください。お願いします
case WM_CREATE:
{
SetTimer(hWnd,1000,1000,NULL );
}
break;

case WM_TIMER:
{
HDC hdc;
char string[8];
wsprintf(string,"%d",suti);
TextOut(hdc,0,48,string,strlen(string) );
}
break;


617 名前:デフォルトの名無しさん :02/10/29 23:26
WM_PAINTが無いことといい、
wsprintfのreturn valueを使ってないことといい、
GetDCしていないことといい、
変数名がsutiといい、

 ト コ ト ン 糞  い コ ー ド だ な 

618 名前:デフォルトの名無しさん :02/10/30 05:54
しかも多分自分で書いたコードではないと思われ。
超越的マルチだから放置。

619 名前:デフォルトの名無しさん :02/10/30 14:32
SetWindowLongでサブクラス化した先の関数(プロシージャ)に
構造体のポインタを渡したいのですが可能でしょうか?


620 名前:デフォルトの名無しさん :02/10/30 15:09
>>619
同一プロセス内なら、何か適当なメッセージに LPARAM か何かで送ってやる。
違うプロセスだったらメモリ領域が全然別なので無理。

621 名前:デフォルトの名無しさん :02/10/30 15:42
あるデバイスコンテキストの絵を実際に画面に出力している
デバイスコンテキストへのコピーのやり方を教えてください。

622 名前:619 :02/10/30 17:51
>>620
LPARAMでやってみます。
ありがとうございました。

623 名前:*学生 :02/10/30 18:02
ScrInfo->BitMapInfo.bmiHeader.biSize     = sizeof( ScrInfo->BitMapInfo.bmiHeader );
ScrInfo->BitMapInfo.bmiHeader.biWidth= ScrInfo->Width;
ScrInfo->BitMapInfo.bmiHeader.biHeight= ScrInfo->Height;
ScrInfo->BitMapInfo.bmiHeader.biPlanes= 1;
ScrInfo->BitMapInfo.bmiHeader.biBitCount     = 24;

このプログラムでは、ビットマップのサイズを求めて ScrInfo->BitMapInfo.bmiHeader.biSize
に格納していると解釈して良いでしょうか?

624 名前:デフォルトの名無しさん :02/10/30 18:20
>623 ちがう。ヘッダだけのサイズです。

625 名前:デフォルトの名無しさん :02/10/30 18:28
>>624
ありがとうございます

626 名前:*学生 :02/10/30 18:52
あとビットマップの計算方法なんですけど
//BITMAP情報の取得
BITMAP bi;
ZeroMemory(&bi,sizeof(bi));
if(GetObject(bmp,sizeof(bi),&bi) == 0)return FALSE;

//ファイルサイズ計算
LONG filesize = bi.bmWidthBytes * bi.bmHeight + sizeof(BITMAPFILEHEADER)
+ sizeof(BITMAPINFOHEADER);
LONG bpp = 0;
:
:
としたんですが、bi.bmWidthBytesは取得したBITMAP情報のWidthByte数で良いで
しょうか?

627 名前:デフォルトの名無しさん :02/10/30 20:00
あるデバイスコンテキストの絵を実際に画面に出力している
デバイスコンテキストへのコピーのやり方を教えてください。




628 名前:デフォルトの名無しさん :02/10/31 00:38
CHtmlViewをいじってるんですが、HTML内の画像を取得するにはどうしたらいいですか?
GetHtmlDocumentの後、get_imagesをやってみましたがよくわかりません。

画像を取り出して別ウインドウに表示させるというようなことをしたいのですが…。

629 名前:デフォルトの名無しさん :02/10/31 11:33
>>457
そうです。
でも、なんか使う必要なくなったっぽい

630 名前:デフォルトの名無しさん :02/10/31 23:42
Visual Studio.NETインストールしてC++.Net使ってるんですが
例えば「HelloWorld」を表示させるソースを書いたとして、どうやって実行するんですか?
アホみたいな質問ですけど教えてください。

631 名前:デフォルトの名無しさん :02/10/31 23:53
>>630
ビルドしろ

つーか素直にVisualC++初心者用の本を買え


632 名前:630 :02/11/01 00:03
いや、なんやらかんやらエラー出るのよ。
Cygwinもエラーでるし。もう目の奥がいてーや。

633 名前:デフォルトの名無しさん :02/11/01 00:27
HelloWorldで解決困難なエラーが出るとはどうしても思えないんだ

634 名前:デフォルトの名無しさん :02/11/01 00:34
デバッグしろ

635 名前:デフォルトの名無しさん :02/11/01 01:12
>「HelloWorld」を表示させるソース
を見せてみろ

636 名前:デフォルトの名無しさん :02/11/01 01:32
こういう人ってたいていソースよりプロジェクトの設定とかに問題がある

637 名前:デフォルトの名無しさん :02/11/01 01:59
それは、全角で空白や{}を入力しているからだ!
と、過去の経験から予想してみる。

638 名前:デフォルトの名無しさん :02/11/01 03:15
: error C2601:'SaveBitmapFile' : ローカル関数の定義が正しくありません。
って言われちゃったんですが、バグ取るのにどのへん見たら良いんですか?
この手のバグは大体カッコの位置が悪いと思ってたんですが今回はそんなこ
と無いようなんで、わかんないす…。

639 名前:デフォルトの名無しさん :02/11/01 09:36
>>638
それ 「HelloWorld」 じゃないだろ絶対・・・。
つーか、エラーメッセージの内容と指し示している行番号が全てを物語ってる
んだからそれで解決せい。

640 名前:デフォルトの名無しさん :02/11/01 09:39
WINDOWS+VC6+SDKでツリーコントロールを作りました。
で、複数選択させるにはどうすればいいんでしょう?
誰か教えてくださいまし。

641 名前:デフォルトの名無しさん :02/11/01 10:08
できねーよ。
MFCでやりな

642 名前:デフォルトの名無しさん :02/11/01 13:11
char型配列に文字列が格納されていて、そのポインタを作成し、
ポインタを使って文字列の中の特定文字(改行コード\r\n)をある文字に置き換えたいのですが
可能でしょうか?
Perlの s/\r\n/置換文字/ のようなことをやりたいのですが・・。
#無いようなら自作する予定です。。

643 名前:デフォルトの名無しさん :02/11/01 13:39
char型配列は文字の配列であって文字列じゃねーよ。
文字の配列に高度な機能を期待するな。

644 名前:642 :02/11/01 13:44
一文字単位の置換処理なので自作しました。
お騒がせしました。m(__)m

645 名前:デフォルトの名無しさん :02/11/01 14:32
>>638
>>641
>>643

バカですか?

646 名前:デフォルトの名無しさん :02/11/01 14:59
>>645
貴方ほどでもないです。

647 名前:デフォルトの名無しさん :02/11/01 15:45
>641さん
640です。
やはり無理ですか・・・しくしく


648 名前:デフォルトの名無しさん :02/11/01 15:49
SDKの質問に「SDKじゃできなくてMFCじゃできる」って答える奴は今後答えなくてよし

649 名前:デフォルトの名無しさん :02/11/01 16:17
SDKじゃできなくてMFCじゃできる。

650 名前:デフォルトの名無しさん :02/11/01 16:21
BREGEXPマンセー。


651 名前:デフォルトの名無しさん :02/11/01 17:29
さんざガイシュツだと思うけど

vc7の変更で
stl::vector<T>::iterator が T* と型が違うんだけど
どう書けばいいのん?

(void*)vec.begin() とかも変換できねーってエラーでるよん

652 名前:デフォルトの名無しさん :02/11/01 17:35
>>651
T* を要求する時点で厨。
vector<> にそんな規定は無い。
普通に *itr で実体出てくるだろ。

653 名前:デフォルトの名無しさん :02/11/01 17:35
iteratorをポインタと思うな。

654 名前:デフォルトの名無しさん :02/11/01 17:56
ほげ。vectorの先頭から終わりまでファイルに書き出すようなプログラムなんだけどさー
どう書けばいいの?

要素の先頭アドレスがほしいのさー




655 名前:デフォルトの名無しさん :02/11/01 18:07
>>651
・・・は?

656 名前:デフォルトの名無しさん :02/11/01 18:20
>>654
普通に for か for_each() で回せばいいだろ。
何で先頭の要素のアドレスなんか必要になるんだ?
まさか、vector<> を配列とみなして扱ってないだろうな?

657 名前:デフォルトの名無しさん :02/11/01 18:21
>>651
> さんざガイシュツだと思うけど

いいやあんたみたいな DQN は初めてだ。

658 名前:デフォルトの名無しさん :02/11/01 18:24
>654
&vec[0]でもやっとけ

659 名前:630 :02/11/01 18:39
>635
#include<stdio.h>
int main(void)
{
printf("HelloWorld\n");
return 0;
}

これでいいでしょ?
ビルドってソリューションのビルド?やると
---------------------- 終了 ----------------------

ビルド : 1 正常終了、0 失敗、0 スキップ

これがでる。

それからどうするんだ???

ちなみにデバックの開始かなと思ってやったら
・・・を読み込みました。必要な DBG ファイルが見つからないか、開けません。
とかシンボルが見つかりませんとかメッセージが出てる。
で、真っ白なウィンドウが出てくるだけ。

学校じゃUNIXでやってるからよくわからん。

660 名前:デフォルトの名無しさん :02/11/01 18:41
ええ?まじっすか?

661 名前:デフォルトの名無しさん :02/11/01 18:42
>>659
・・・実行してくださいよ。デバッグでもビルドでもなく。

662 名前:デフォルトの名無しさん :02/11/01 18:42
複素数を配列要素としたい場合、配列の宣言は
complex<double>E[i];でよいんですかねぇ。。

663 名前:デフォルトの名無しさん :02/11/01 19:51
>>641
MFCでできることはSDKでも出来んか?

664 名前:デフォルトの名無しさん :02/11/01 20:58
>>630
コンソールアプリじゃないだろさては

665 名前:デフォルトの名無しさん :02/11/01 21:02
なんで入門書とかMSDN読まないんだろうね

666 名前:デフォルトの名無しさん :02/11/01 23:33
666!

667 名前:デフォルトの名無しさん :02/11/01 23:42
>>665
厨房だから。

668 名前:630 :02/11/01 23:51
>665
早急に課題を仕上げたくて昨日インストしたばっかりだから。

やっぱいまいち使い方わかんないから連休中に本屋にでも行ってみる。
Cygwinでのコンパイルは出来たけどな〜。実行が出来ない、、、。

669 名前:デフォルトの名無しさん :02/11/02 00:08
Debug Error!ってのが出たんですけどどうすれば・・・

670 名前:初心者 ◆R3BY3NwKAE :02/11/02 00:35
すんません。テキストファイルを1行ずつ読み込む方法を
教えていただけませんか?

671 名前:初心者 ◆R3BY3NwKAE :02/11/02 00:51
見つけたっぽいです。すいません。

672 名前:大きなしっぽの古ダヌキ :02/11/02 00:59
663よ。

本当はこーやるのよん(by MS)
だ・け・ど、あたしの意に添わない方や五月蝿い方はには
これをあげるわ → SDK。
あたし言うことを聞く余計なことをしない良い子は
やさしく簡単にしてあげるわね → MFC
賢い子は両方使ってね。
まちがってもオブジェクトぢゃないなんて駄々こねないでね。

と言うことだ。
640の厨房はもっと気張らんといかん。

それでは私の歌を聞いて頂戴・・・

673 名前:デフォルトの名無しさん :02/11/02 14:26
関数にクラスポインタを渡して、受け取ったクラスポインタを構造体のvoidポインタに格納して
その構造体のポインタを別の関数に渡して、構造体ポインタのvoidポインタから
クラスポインタを取得してそのクラスポインタを使って処理。

ファイルを分けたり、関数を細かくまとめるとこんな面倒な処理をしないと駄目になり鬱・・・


674 名前:673 :02/11/02 14:32
ポインタのポインタのポインタと関数を渡り歩いて
終着点でちゃんと受け取れてるんだから凄い・・。
自分でもわけわからない・・。
途中にバグあったらあったら・・死ねる・・。

675 名前:デフォルトの名無しさん :02/11/02 16:05
>>673-674
一体どういう DQN な設計をしたらそんな事になるんだ?

676 名前:デフォルトの名無しさん :02/11/02 16:13
クラスポインタとvoid*を相互変換しているだけで、
ポインタのポインタのポインタなんて使っているように見えないが?

677 名前:デフォルトの名無しさん :02/11/02 16:52

(,, ゚д゚) ┳┳┳┳┳ 

678 名前:デフォルトの名無しさん :02/11/03 13:39
エディタ等でウイドウの分割機能とかありますが、2つに分割したウインドウの間を
マウスでドラッグした状態で動かすとサイズが変更できますがあれはどのようにしているのでしょうか?
わかる方が居ましたらヒントだけでもいいので教えていただけると嬉しいです。m(__)m

679 名前:デフォルトの名無しさん :02/11/03 13:54
>678
移動されたら各々のウインドウサイズ調整する。


680 名前:678 :02/11/03 14:08
ちょっと説明不足でした・・
2つのウイドウの間にマウスカーソルが来た時の処理なのですがどのようにすれば良いのでしょうか?
┏━━━┓
┃┏━┓┃
┃┃  ┃┃
┃┗━┛←ここにマウスカーソルが来た時の処理
┃┏━┓┃
┃┃  ┃┃
┃┗━┛┃
┗━━━┛
#現在は上にリッチエディットボックス、下にエディットボックスをダイアログに貼りつけています

681 名前:デフォルトの名無しさん :02/11/03 14:22
>680
そんなこと言われてもそのまんまだが?
サイズ変更されない方のウインドウサイズを変更してやればよい。



682 名前:678 :02/11/03 14:39
>>681
了解です、ありがとうございました。m(__)m

683 名前:デフォルトの名無しさん :02/11/03 14:54
スプリッタ?
Splitterとかで検索掛ければ沢山サンプルが出てくると思われ
たしか、猫でも簡易スプリッタやってた気がする

684 名前:デフォルトの名無しさん :02/11/03 17:38
for(i=0;i<256;i++){
for(j=0;j<256;j++){
pDC->SetPixelV(j,i,RGB(j,j,j));
}
}
完全に表示されるまでえらく遅いんですがなんとかなりませぬか?

685 名前:デフォルトの名無しさん :02/11/03 17:41
>684
縦の線を256本引いたらあかんの?



686 名前:デフォルトの名無しさん :02/11/03 17:56
実際にはもっと長い計算式が入ります

687 名前:デフォルトの名無しさん :02/11/03 18:02
>686
SetPixelがほんとにボトルネックだとしてだが、
メモリ上にbipmap直接描いてからbitblt()でどうか。




688 名前:デフォルトの名無しさん :02/11/03 18:16
メモリ上にBitmapをつくるやり方が良く分からんのです。
CDC DC;CBitmap bmp;
DC.CreateCompatibleDC(pDC);
bmp.CreateCompatibleBitmap(pDC , 256 , 256);
         .
         .
pDC->Bitblt(0,0,256,256,&MemDC・・・)

↑全然的外れですか?初心者でスマン

689 名前:デフォルトの名無しさん :02/11/03 18:30
すいませんちょびっとだけ間違えてました。
できました。
ありがとうございました。>>687

690 名前:デフォルトの名無しさん :02/11/03 22:59
アクティブな構成がデバックだとエラーが出て、
リリースだとエラーが出ないって
何が原因ですか?

691 名前:デフォルトの名無しさん :02/11/03 23:47
エラーって、どんな?
ASSERTの類ではなかろうな?

692 名前:デフォルトの名無しさん :02/11/03 23:50
>690
エラーメッセージを書きたまえ。

693 名前:デフォルトの名無しさん :02/11/04 00:16
visual c++で、C言語学びたいのですが、どうすればいいですか?

#include <stdio.h>
main()
{
printf("This is a test!");
}
って言う簡単なプログラムが、動くので、ウィンドウとか無視したいのですが。
http://www.kumei.ne.jp/c_lang/intro/no_01.htm
で、僕のは、ver6.0なので、出来ないのですが、どうすればよいでしょうか?

694 名前:693 :02/11/04 00:19
適当にやったら出来ました。

695 名前:デフォルトの名無しさん :02/11/04 00:29
ちょっとスレ違いですが・・・
よく、「バッファオーバーフローが原因でセキュリティー上の問題が有ります。」
みたいな警告がありますが、このバッファオーバーフローとはどんな問題なのですか?
また、これを利用してシステムを乗っ取るとは?
質問ばっかで申し訳ないですが、Cとか詳しい人ならわかるかなと思ったので。

696 名前:デフォルトの名無しさん :02/11/04 00:32
>>695
適当にやったらできるよ。多分。

697 名前:デフォルトの名無しさん :02/11/04 01:05
>695
とてもスレ違いだが。

関数呼び出しがリターンアドレスをスタックに積み、
自動変数もスタックに確保される事を知っていれば
あとは想像できるだろ。

詳しく知りたければ、exploitをキーワードに検索してみ。

698 名前:695 :02/11/04 03:37
>>697
わざわざどうも。
検索してみたところ、IBMのサイトに詳しい解説がありました。
スタックに積んであるアドレスを書き換えて、ヤバイ関数に飛ばしちゃうみたいなイメージは
有ったのですが、それとバッファをあふれさせることがどう関係するのかがよくわからないんです。
もう少し読み込んだらわかるかな。

699 名前:デフォルトの名無しさん :02/11/04 04:27
>>697
そこまで判って何でわからんのか?
バッファ溢れた先にリターンアドレスがあるだろ。
スタックを理解してないのかバッファ溢れの意味を理解してないのかのどちらかだな。

700 名前:デフォルトの名無しさん :02/11/04 08:58
スタック
[bf][bf][bf][re][__]
長すぎる入力でーた。
[FF][FF][FF][XX][__]
XXにリターン。

(たとえば、XXが入力データの先頭で、入力データがバイトコードだったなら、)
任意のコードが実行されてしまう。

701 名前:デフォルトの名無しさん :02/11/04 09:48
超初心者です。
C++で、CString型(あるいはchar型配列)の文字列に"(ダブルクウォート)を代入する方法
ってあるんでしょうか?
コンパイラはVC++です。


702 名前:デフォルトの名無しさん :02/11/04 10:39
str = "\"";

703 名前:デフォルトの名無しさん :02/11/04 11:15
>>701
超初心者つうよりド素人だな。( ´,_ゝ`)プッ

704 名前:695 :02/11/04 13:46
>>699
こりゃどうも。
スタックもバッファ溢れもわかるんですが・・・。
スタックなんかは、なにかしら安全性が確保されてるはずみたいな思いこみがあったんです。
つまり・・・
スタックに積んである呼び出し元のアドレスを、バッファ溢れを利用して書き換え、
別に用意した処理へ誘導するということかな。

705 名前:695 :02/11/04 13:49
参考にしたIBMのサイトってこれです。↓
ttp://www-6.ibm.com/jp/developerworks/security/

706 名前:デフォルトの名無しさん :02/11/04 13:56
>>703
そう言うあんたは「自称上級者」だな。( ´,_ゝ`)プッ

707 名前:デフォルトの名無しさん :02/11/04 14:00
test

708 名前:デフォルトの名無しさん :02/11/04 14:59
>>704
> スタックに積んである呼び出し元のアドレスを、バッファ溢れを利用して書き換え、
> 別に用意した処理へ誘導するということかな。

その通り。理解してるじゃん。

709 名前:デフォルトの名無しさん :02/11/04 15:25
>>706
別に俺は上級者とは思ってないぞ!

710 名前:706 :02/11/04 15:58
>>709
いや、あんたが他人の無知を嘲る様な書き込みするからさ・・・・・・。
でも、確かに漏れも口が過ぎた。スマソ。
但、>>701のことを「教えて君」だと思っているのなら、その考えは改めて欲しい。
漏れが初めてVC++なる物と超初心者向の本を買って勉強を始めた時も、
何のことは無い1行が分からんが為に意味不明なMSDNと格闘したり、ネットで
情報を集めたり・・・・・・。気付けばその1行の為に半日が終わってた、何て事も
ざらだった。
あんたも、こんな事あっただろ?それを忘れんでくれ、ってこった。



711 名前:デフォルトの名無しさん :02/11/04 16:29
>>710
でもココはVC++について教える板だろ?Cも分からん様だと…
まぁもうどーでもいーや。

712 名前:デフォルトの名無しさん :02/11/04 16:51
>710
それを忘れていないから、安易に2chに聞きに来た701を
「教えて君」と認定し、罵倒しているのではないだろうか。

ところで706は701を「教えて君」以外の何者と思っているのだろうか。

713 名前:706 :02/11/04 16:54
>>711
確かに、そうだと言えばそうだが・・・・・・。
漏れはCとC++、同時に勉強したぞ。そう言う趣旨の本だったからな。
こういう場合、そう言われても如何しようもないと思うが・・・・・・。
スレ違いスマソ。もうこの話題は終わりにしませう。

714 名前:706 :02/11/04 17:06
と思ったら・・・・・・。
>>713
確かに、それも1つの意見。漏れは、>>701は「考えあぐねた末、どうしても分からん
から着た」んだと解釈したが。
しかし、今改めて見ると、>>701が書き込んだ時間「09:48」・・・・・・。
これは、>>713の意見の方が正論かもしれんな・・・・・・。


715 名前:706 :02/11/04 17:08
訂正。
>>713じゃなくて>>712
逝ってくる。

716 名前:デフォルトの名無しさん :02/11/05 01:02
初心者です。教えてください。

717 名前:デフォルトの名無しさん :02/11/05 02:13
double型のデータをsprintfを使って文字列にして表示しているのですが
値が小さく(大きく)なってきたとき
0.0000000000000001→1E-16のように
簡単に変える方法無いですか?


718 名前:デフォルトの名無しさん :02/11/05 02:16
>>717
if

719 名前:デフォルトの名無しさん :02/11/05 02:42
>>717
%e

720 名前:デフォルトの名無しさん :02/11/05 03:07
ifと%e使えば簡単に出来そうですね・・・
どうもです

721 名前:デフォルトの名無しさん :02/11/05 11:59
自作ソフトで挿入・削除などを行うデータ構造を作ろうと思ってますが、
C++のVectorは1種類の型しか収納できませんよね?
いろんなクラスを収納したいのですが、いい方法はありませんか?

722 名前:デフォルトの名無しさん :02/11/05 12:06
boost::any

723 名前:デフォルトの名無しさん :02/11/05 12:36
>>721
ありがとうございます。


724 名前:デフォルトの名無しさん :02/11/05 12:53
C++やろうと思って人様のホームページとかあさっているんだけど、
いちいちウィンドウ切り替えて入力しているとどうも面倒くさいので
お勧めの参考書をひとつおせーてください。

725 名前:デフォルトの名無しさん :02/11/05 12:56
あ、ごめんなさい。下のほうに参考書スレありましたね。
きづかなかった。本当にごめんなさい…なんかあったら
何れ訊きに来させていただきます。

726 名前:デフォルトの名無しさん :02/11/07 02:23
ウインドウの閉じるボタン押した時の処理を変えたいんですが
どうすれば出来ますか?
destroyではなくShowWindow(SW_HIDE)にしたいんですけど

727 名前:デフォルトの名無しさん :02/11/07 02:55
>>726

http://www.kumei.ne.jp/c_lang/sdk/sdk_08.htm

728 名前:デフォルトの名無しさん :02/11/07 07:54
>>726

case WM_CLOSE:
ShowWindow(hWnd, SW_HIDE);
break;

729 名前:デフォルトの名無しさん :02/11/07 10:48
>>727-728 ありがとうございました

730 名前:デフォルトの名無しさん :02/11/07 11:18
2chブラウザを使うにはVC++6.0とかMFCのランタイムライブラリが必要
とあるのですが、これは何の事なのでしょーか?

731 名前:デフォルトの名無しさん :02/11/07 18:27
実行ファイルを小さくするために共有DLLを必要とするから。
MFC30.DLLとかMFC42.DLLとかがシステムフォルダー
にインストされているなら使える。

732 名前:初心者。。。 :02/11/07 23:05
VC++6.0の質問です。

(CFrameWnd派生の) 追加フレームクラスでツールバーを有効にしたいのですが・・・
メンバ変数に

  CToolBar m_wndToolBar;

を追加して、OnCreateメンバ関数で

if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.LoadToolBar(IDR_追加フレームのメニュー))
{
  TRACE0("Failed to create toolbar\n");
  return -1; // 作成に失敗
}

としました。すると表示はされるのですが、有効になりません。
よろしくお願いします。

733 名前:>>732の初心者。。。 :02/11/07 23:09
SAGEてしまいました。すいません。

734 名前:デフォルトの名無しさん :02/11/07 23:10
有効ってなんだろ。ハンドラを追加してないとか。

735 名前:732の初心者 :02/11/07 23:17
>>734
ハンドラ追加したらできました!
ありがとうございました!

736 名前:デフォルトの名無しさん :02/11/07 23:40
OLEのDragDropを実装しようと思い、
static IDropTargetVtbl dtv = {
OLE_IDropTarget_QueryInterface,
OLE_IDropTarget_AddRef,
OLE_IDropTarget_Release,
OLE_IDropTarget_DragEnter,
OLE_IDropTarget_DragOver,
OLE_IDropTarget_DragLeave,
OLE_IDropTarget_Drop
};
と初期化しようとすると、「構文エラー : ';' が、識別子 'dtv' の前に必要です。」
とエラーが出てしまいます。'oleidl.h'をインクルードし、この他にシンタックスエラーも
無いと思うのですが、どなたか原因のわかる方いますか?
ちなみにC++でビルドすると、上記のようなエラーが出ます。Cだと出ません。
VC++6.0,Windows2000,SDKで組んでます。よろしくお願いします。

737 名前:初心者。 :02/11/08 00:13
>>736
初期化だけなら
OleInitialize(NULL);
でいいと思ふ。

738 名前:737 :02/11/08 00:27
↑はMFCですた。SDKは知りません。

739 名前:超初心者 :02/11/08 00:41
俺もSDKでは組んだことがないが、(正直SDKでGUI付WINアプリを作るのは
向いてないと思うぞ。MFC使っとけー。)少し前に参考にしたサイトがある。

ttp://hp.vector.co.jp/authors/VA016117/oledragdrop1.html

740 名前:デフォルトの名無しさん :02/11/08 01:00
736 はもっと C/C++ の文法的な問題だと思ふ
宣言より前を見ないと分からないけど

741 名前:デフォルトの名無しさん :02/11/08 01:42
>>736
oleidl.h の中身

#if defined(__cplusplus) && !defined(CINTERFACE)
 ...
 ...

#else /* C style interface */

  typedef struct IDropTargetVtbl
  {
   ...

742 名前:デフォルトの名無しさん :02/11/08 02:07
CでOLEするのはマゾ的行為。

743 名前:デフォルトの名無しさん :02/11/08 02:43
リッチエディットボックスに改行を含んだ大量の文字列があり
それを別のリッチエディットボックスに移し変える場合、
GetWindowText、SetDlgItemTextを使う意外で
安全かつ、確実に行う方法って何かないでしょうか?

744 名前:743 :02/11/08 04:20
malloc使ってGetWindowText、SetDlgItemTextでやりました。^^;
お騒がせしました。。

745 名前:736 :02/11/08 07:15
みなさんレスありがとうございます!
今作っているアプリはOLEとはあまり関係がないもので、ちょっとDragDropの機能を
つけてみようと簡単に考えていたのが甘かったようです。
>>739さんが紹介してくれたサイトなどを参考に勉強しなおしてきます。
>>741 すっかり見落としてました(汗)... それが原因だったようです。本当に感謝です。

746 名前:デフォルトの名無しさん :02/11/08 08:10
>>739
俺はMFCで組んだこと無いんだが、MFCはなんかクラスの数が多すぎて、何からやっていいのか分からん。
そのうちやろうかと思っているんだけどな。

747 名前:デフォルトの名無しさん :02/11/08 11:38
最近になって[ビルド]-[デバッグの開始]-[実行]を選択すると、
かならず
--------------------------
1つ以上のファイルが更新されていないかまたは存在していません。

これらのファイルはビルドする必要があります:
.\Debug\hoge.dll
.\Debug\Choge1.obj
.\Debug\Choge2.obj
.\Debug\Choge3.obj


ビルドを行いますか?

 [はい] [いいえ] [キャンセル]
--------------------------
とメッセージボックスが出るようになりますた。

実行前にビルドはしていて、中間ファイルその他は全て存在しているのに
かならず聞かれます。

ウザいので聞かれなくする方法はありますか?


748 名前:デフォルトの名無しさん :02/11/08 12:30
>>746
CDialogからはじめるのがお薦め。
それからSDI-->MDIと。
どれもCWndを使いこむ事になると思う。

それでも駄目ならCString,CArrayでもやっとけ。
STLが使えればそれに越した事ないが、

749 名前:デフォルトの名無しさん :02/11/08 13:17
だれかBOOLとboolの違いを教えてくれませんか?

750 名前:デフォルトの名無しさん :02/11/08 13:22
bool→0か1
BOOL→0かそれ以外(中身はint)


■過去ログ置き場に戻る■ 1- 前250 次250 最新50
DAT2HTML 0.33f Converted.