■過去ログ置き場に戻る■
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.