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


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

★初心者にVisual C++を教えるスレ★ Part21
501 名前:デフォルトの名無しさん :2005/09/26(月) 22:45:17
>>497
お前フリーソフト使ったことないだろ。

502 名前:デフォルトの名無しさん :2005/09/26(月) 22:51:24
プログラミングに関係ない話になると初心者が得意になって出てくる

503 名前:デフォルトの名無しさん :2005/09/26(月) 22:51:30
>>498
詳しい解説ありがとうございます。
今度からなるべく自分で調べるようにします。

>>501
なんどかつかったことはあります。


504 名前:デフォルトの名無しさん :2005/09/27(火) 20:24:38 0
>503
初歩的なこともわからないコピペプログラマのソフトなんて誰も使おうとしないよ

505 名前:デフォルトの名無しさん :2005/09/27(火) 20:50:53 0
シェアウエア。4000円です。
void main(){}

506 名前:デフォルトの名無しさん :2005/09/27(火) 20:54:08 0
え?4000円くれるの?

507 名前:デフォルトの名無しさん :2005/09/27(火) 20:55:26 0
>>505
それなんてCPU最適化ツール?

508 名前:デフォルトの名無しさん :2005/09/27(火) 21:46:10 ID:0
コードを最適化するんじゃなくて、CPUを最適化するんだww

509 名前:デフォルトの名無しさん :2005/09/28(水) 02:27:10
今思えばVBランタイムが起動するだけでいくらかメモリがフラッシュされるんだから
本人の意図はともかく効果はあったんだよな

510 名前:デフォルトの名無しさん :2005/09/28(水) 21:10:04
>>508
うわー、意図が汲めてない人ハケーン…

511 名前:デフォルトの名無しさん :2005/09/30(金) 13:07:41
プログラム起動中に熱さフリーズして
立ち上げてみたら
バイナリに勝手に変わっちゃったんですが
これってもう、どうにもならんもんなのでしょうか。

前バイナリに変わった時は思い出しながら
また作って1日つぶれてしもた・・・。

512 名前:デフォルトの名無しさん :2005/09/30(金) 13:08:37
>>511
スレ違い

513 名前:デフォルトの名無しさん :2005/09/30(金) 13:10:08
>>512
VC++だったものでここに質問しました。
どこのスレに行けばいいでしょうか

514 名前:デフォルトの名無しさん :2005/09/30(金) 13:20:03
エスパー召集

515 名前:デフォルトの名無しさん :2005/09/30(金) 13:24:31
プログラム起動中に熱暴走でフリーズ
その後再起動してみたら

ここまで翻訳できた。
あとはタノム。

516 名前:511 :2005/09/30(金) 13:32:52
あ、すいません
日本語が壊れてたみたいですね

float position;

ノ: ) ( ] = ) mLメ; ) ] ) (

こんな風になってしまいました。
もう、どうにもならんのですね。

517 名前:デフォルトの名無しさん :2005/09/30(金) 14:37:55
いい加減主語を書けってことに気づいてくれないかなぁ。
開発環境も書いてないし。

具体的に言おうか?
・「何が」壊れたのか
・OSは
・開発環境は

518 名前:デフォルトの名無しさん :2005/09/30(金) 14:38:50
>>516
バックアップ取ってなかった自分を恨め

519 名前:デフォルトの名無しさん :2005/09/30(金) 14:40:52
そもそもプログラム起動中て何だ
ビルドしてできあがった実行ファイルのことを指してるなら、ソースが壊れることはないよな
デバッグ中か?

520 名前:デフォルトの名無しさん :2005/09/30(金) 14:42:17
単にHDDか何かが逝っただけだろ

521 名前:デフォルトの名無しさん :2005/09/30(金) 15:13:17
開発中のソースがフリーズにて壊れてしまい
テキストとして読めなくなったんだろう。
俺ならすっぱりあきらめる。
ファイルシステムをFAT32とかにしてたんじゃないの?

522 名前:デフォルトの名無しさん :2005/09/30(金) 16:03:13
NTFSなら、普通はフリーズ程度でデータ化けは起きないわな
なんだかんだいってもあれのジャーナル処理は強力だから

今時FAT32なんて前世紀の遺物上で開発してた奴が悪い

523 名前:デフォルトの名無しさん :2005/09/30(金) 16:35:39
つーかスレ違いじゃなくて板違い。

524 名前:デフォルトの名無しさん :2005/09/30(金) 16:36:41
ファイルのリンク情報が壊れたっぽいから下手すれば被害甚大だね。

525 名前:デフォルトの名無しさん :2005/10/01(土) 10:12:05
別に叩けば直るんちゃうん?、んなもん

526 名前:デフォルトの名無しさん :2005/10/01(土) 11:17:03
じゃあまずは525を叩いて直すか

527 名前:デフォルトの名無しさん :2005/10/01(土) 14:38:08
TCHARと_TCHARは何が違うのですか?

528 名前:デフォルトの名無しさん :2005/10/01(土) 15:16:29
>>527 は「TCHAR _TCHAR 違い」でググる、ということさえ思いつかないバカなんです。

529 名前:デフォルトの名無しさん :2005/10/01(土) 16:11:44
元宣言見て見ればいいだろうが

530 名前:デフォルトの名無しさん :2005/10/01(土) 19:59:35
リソースでコンボボックスコントロールをつけると、実行してプルダウンした時に2ドットぐらいしかメニューが出ないんです。
CreateWindowの方で作ると、何故かフォントサイズが24ぐらいになってしまってわけが分かりません。

プルダウンした時のサイズを変える方法は、どうしたらいいんでしょうか?

531 名前:デフォルトの名無しさん :2005/10/01(土) 20:06:29
超FAQな質問が来たぞ

532 名前:デフォルトの名無しさん :2005/10/01(土) 20:29:49
コンボボックスを貼り付けるときの縦幅がプルダウン時の大きさ
貼り付けたあとのサイズ変更のやり方は忘れた

533 名前:デフォルトの名無しさん :2005/10/01(土) 21:12:32
>>532
ありがとうございます。

最初に設定する方法を検索したら、そのやり方が出てきました。
http://www.athomejp.com/goldfish/vcused/combo.asp

最初はこれを見ても分からなかったんですが、▼がスクロールバーってことに気付いて上手く行きました。
サンクスです

534 名前:デフォルトの名無しさん :2005/10/02(日) 00:08:23
SendMessageという命令は、ハンドルが不正だった等おかしな値があった場合、ポインタでおかしなとこを参照したような意味不明な動きをするんでしょうか?
何故かSendMessageから関数の頭にワープして無限ループに入るバグに悩まされています。

535 名前:デフォルトの名無しさん :2005/10/02(日) 00:22:36
ループしているんじゃなくて、再帰しているんじゃないか?
つまり、メッセージ処理ルーチンで自分が受け取ったメッセージを自分宛てに送り直しているとか。

536 名前:デフォルトの名無しさん :2005/10/02(日) 00:47:08
デバッガでコールスタックを見れば一目瞭然

537 名前:デフォルトの名無しさん :2005/10/02(日) 09:35:03
>>534
ところでSendMessageは命令ではなく関数だ。

538 名前:デフォルトの名無しさん :2005/10/02(日) 12:00:35
関数でなくAPIと言いたまえ

539 名前:デフォルトの名無しさん :2005/10/03(月) 22:27:42
質問です。
拡張子.c のファイルを
『右クリック→プログラムから開く→Visual Studio.net2003』 で開いてもビルドできません。
プロジェクトを作らずに、

540 名前:デフォルトの名無しさん :2005/10/03(月) 22:31:29
コマンドラインからclつかえ。

541 名前:デフォルトの名無しさん :2005/10/03(月) 22:35:32
ビルドしたいのですが。

どなたか、知恵を貸して下さい。

542 名前:デフォルトの名無しさん :2005/10/03(月) 22:37:35
プロジェクト作れ

543 名前:539 :2005/10/03(月) 22:58:12
539です。
何度もすみません。
cl.exe をPATHに設定して、コマンドラインからclを打ったらエラーダイアログが出てしまいます。

cl.exe - コンポーネントが見つかりません
× mspd71.dllが見つからなかったため、このアプリケーションを開始できませんでした。アプリケーションをインストールし直すとこの問題は解決される場合があります。


544 名前:デフォルトの名無しさん :2005/10/03(月) 22:59:40
スタートメニューの「Visual Studio .NET 2003 コマンド プロンプト」から開始すべし。

545 名前:デフォルトの名無しさん :2005/10/03(月) 23:01:17
>>543
VS .Net 2003だろ。
スタート→プログラム→Visual Studio .Net 2003→Visual Studio .Net ツール→Visual Studio .Net 2003 コマンドプロンプト
これでclが使える状態のコマンドプロンプトが出るはず。

546 名前:539 :2005/10/03(月) 23:02:05
Visual Studio.net2003を再インスコ OTL
したくないんスけど

547 名前:539 :2005/10/03(月) 23:04:59
>>544
>>545
その方法でいけました。有難うございます。
助かりました

548 名前:デフォルトの名無しさん :2005/10/03(月) 23:24:41
ダイアログボックスの中にウィンドウを作ろうとしています。
ダイアログボックスの中にウィンドウを作ることには成功しまし
たが、ウィンドウのサイズあわせがうまくいかず困っております。

リソースエディタの画面右下を見ながらダイアログボックスのサイズを調整しているのですが、
CreateWindow()で作ったウィンドウとサイズが合わず困っています。
リソースエディタの画面右下で変わっている数字はピクセル単位ではないのでしょうか。

CreateWindow()で横幅を640に設定する。
ダイアログボックスの横幅の数字を560位にする。
コンパイルしてダイアログを呼び出すと、ダイアログボックスのほうが大きいです。
どうやったら解決できるのでしょうか・・・

549 名前:デフォルトの名無しさん :2005/10/03(月) 23:26:53
>>548
コードの中でGetClientRectとAdjustWindowRectを使えばいいんじゃないか?

550 名前:デフォルトの名無しさん :2005/10/03(月) 23:47:18
ありゃ、DLUだから。ダイアログのフォントを
MSゴシック(PとかUIではない。固定フォントの方)の
12ptを使うようにすれば、1DLU=2pxになる。

551 名前:デフォルトの名無しさん :2005/10/03(月) 23:48:30
スクリーンの解像度が96dpiの時限定だけどね。

552 名前:デフォルトの名無しさん :2005/10/03(月) 23:50:44
>>548
ドラッグエリアのありなしでもサイズは変わってくるんじゃない?
ダイアログって、クライアント領域のサイズで作るんじゃない?


553 名前:548 :2005/10/04(火) 01:00:51
なんか、縦横比も一対一ではないようで八対九くらいっちゅう中途半端な感じでした。
ダイアログは作らずにウィンドウ上にボタンとか配置していくことにしました。

失礼しました。

554 名前:デフォルトの名無しさん :2005/10/04(火) 08:13:22
何がしたかったんかようわからんの

555 名前:デフォルトの名無しさん :2005/10/04(火) 10:40:16
質問させてください。

Visual C++ .NET を使っています。
CTreeCtrlの描画を変更したくて、新しいクラスをCNewTreeCtrl作ることにしました。
「クラスの追加」でCTreeCtrlから派生クラスを作成するところまでは分かりました。
ここで、protected なOnPaintをオーバライドしてWM_PAINTをハンドルしたいのですが、
メッセージマップだとかその辺が良くわからなくて、どう書けばいいかわからないのです。

Class Wizardとかその辺の便利なツールから簡単にできるのでしょうか。
識者の方々、どうか方法をご教授ください。

よろしくお願いいたします。

556 名前:デフォルトの名無しさん :2005/10/04(火) 10:46:23
その辺の便利なツールから簡単にできます
頑張ってやってみましょう

557 名前:デフォルトの名無しさん :2005/10/04(火) 10:47:52
プロパティがソリューションエクスプローラの下とかに表示されてるだろ?
それの右から2番目のタブのようなものの所にメッセージってのがあるから、
WM_PAINTを選んで右側の空欄からドロップダウンリスト出して、
"<追加> OnPaint()"をクリック。
削除もそこからできるがコメントアウトされるだけなので注意。

558 名前:デフォルトの名無しさん :2005/10/04(火) 10:55:23
>>556-557

ほんとに簡単にできました。
ありがとうございました。


559 名前:デフォルトの名無しさん :2005/10/04(火) 10:57:06
蝶初心者ですがよろしくおねがいします
<環境>
 Win2000
 VC++.NET2003
なんですが、
Windowsフォームアプリケーションで
Form1,Form2を作成。
Form1にボタンを作って作成したForm2をただ開きたいだけなのですが

error C2061:構文エラー:識別子 'Form2'

などとでて、なかなかうまくいきません。
インテリセンスでForm1も2もでてくるのに…
何か足りないことがあるのでしょうか?


ご教授お願い致します


560 名前:デフォルトの名無しさん :2005/10/04(火) 10:58:32
どうせincludeしていないとかそういうことだろ?
IntelliSenseは結構その部分ゆるい所がある。

561 名前:デフォルトの名無しさん :2005/10/04(火) 11:01:10
どうせインスタンス作ってないとかそういうことも、だろ?

562 名前:デフォルトの名無しさん :2005/10/04(火) 13:27:46
C++ で新規プロジェクトを作る時に言語「日本語」を選択したんですが、
後から「英語」に変更する事はできないんでしょうか?
メニューの表示等を全部英語にしたいんですが。

563 名前:デフォルトの名無しさん :2005/10/04(火) 14:25:49
プロジェクトの設定が英語だろうと、
表示する文字は全部自分で英語にして入力しないといけないのだから、
わざわざプロジェクトの設定を英語にする必要はない

564 名前:デフォルトの名無しさん :2005/10/04(火) 14:26:56
英語でプロジェクト作ってそこへソースを追加が無難
日本語でプロジェクト作って英語のリソースを追加でもいいけど

565 名前:デフォルトの名無しさん :2005/10/04(火) 15:07:33
>>564
> 英語でプロジェクト作ってそこへソースを追加が無難

これでできました。
563様、564様ありがとう。


566 名前:デフォルトの名無しさん :2005/10/04(火) 15:21:23
つーかおめぇ、英語OSで動かすのか?
日本語OSで動かすのに英語で作るのか?

567 名前:559 :2005/10/04(火) 16:40:14
>>560
その通り。
インクルードって入れたらできたよ
ありがとう。

で、開くのは出来たんだけど
Form2を閉じだときに
HideしていたForm1をCloseイベントかなんかで
Showしたいんだけど…

568 名前:デフォルトの名無しさん :2005/10/04(火) 16:58:09
parent.show()

569 名前:デフォルトの名無しさん :2005/10/04(火) 16:59:46
>>566
どの言語で動かしても見た目が同じになるようににしろ、て言われました。
ユーザー比率は米国が7割なんで英語が採用されたという訳です。

570 名前:559 :2005/10/04(火) 17:46:29
>>568
マジでありがとうorz

あと、年月日を表示したいんだが
和暦(平成とかね)ってだせるのかな?

571 名前:デフォルトの名無しさん :2005/10/04(火) 18:21:35
System.Globalization.JapaneseCalender.GetYear(DateTime) で年号での年数

System.Globalization.JapaneseCalender.GetEra(DateTime)
で、明治を1とする数値で、指定したDateTimeの年号を取得できるぞ

572 名前:デフォルトの名無しさん :2005/10/04(火) 21:43:06
使用環境はWinXP ProfessionalでVisualC++.NETを使用しています。
アプリケーションを作ったのですが、そのexeを今使っているXP以外のWin98やMeなどの
OSでも使用できるかどうかは実際に試してみる他ないのでしょうか?
それともコンパイルやビルド時にどこかで設定できるのでしょうか?
教えてください。

573 名前:デフォルトの名無しさん :2005/10/04(火) 22:00:57
>>572
.NETなら.NETさえ入ってりゃ動く

Win32API使ってるならMSDNのドキュメントに対応してるOSのバージョンとか書いてある

574 名前:デフォルトの名無しさん :2005/10/04(火) 22:08:06
>>572
<Windows.h>をインクルードする行より前にこれを書けばWin95/NT4以降で動くAPIだけしか使えないようになる。
#define WINVER 0x0400
#define _WIN32_WINNT 0
#define _WIN32_WINDOWS 0
#define _WIN32_IE 0

http://msdn.microsoft.com/library/en-us/winprog/winprog/using_the_windows_headers.asp

575 名前:572 :2005/10/05(水) 02:26:03
>>573,572
遅くなりましたが、どうもありがとうございました。

576 名前:デフォルトの名無しさん :2005/10/05(水) 17:28:00
プログラミングとかはじめて何ですけど、
VisualC++を勉強する前にC言語とかを勉強してからのほうがいいですか?


577 名前:デフォルトの名無しさん :2005/10/05(水) 17:31:47
>>576
VisualC++とC言語を同列に持ってくること自体おかしい

578 名前:デフォルトの名無しさん :2005/10/05(水) 17:34:29
VCって言語だと思ってる人(営業とか)多いからOK。

579 名前:デフォルトの名無しさん :2005/10/05(水) 17:43:27
>>576
おかしいか?
小学校卒業してから中学に入学する
とかと同じだろ

580 名前:デフォルトの名無しさん :2005/10/05(水) 17:48:35
VCの入門書にこんなこと書いてある

読者はCを知らなければならない。
Cを知らないプログラマにとって、
Windowsプログラミングはスタート地点としてふさわしくないだろう。

581 名前:デフォルトの名無しさん :2005/10/05(水) 18:48:02
>>576
日本語ワープロを勉強する前に日本語とかを勉強してからのほうがいいですか?

と言ってるのと同じだな。
VC++はC/C++言語での開発をサポートする統合開発環境の製品名で
それを勉強することはC言語を勉強することと直接の関係は無い。


582 名前:デフォルトの名無しさん :2005/10/05(水) 19:35:25
C
C++
VeryC++。略してVC++

583 名前:デフォルトの名無しさん :2005/10/05(水) 20:01:34
>>579
おかしいな
とりあえずキミの頭が

584 名前:デフォルトの名無しさん :2005/10/05(水) 21:31:02
>>581
VisualC++の入門書なのにCやC++も教えている本がかなりあるけど
本当に関係ないと思ってる?

585 名前:デフォルトの名無しさん :2005/10/05(水) 22:08:51
ここってプログラミングとは直接関係ないから板違いだろ
統合開発環境ソフトの操作方法を教えるスレだよな
    ↓    ↓    ↓
★初心者にVisual C++を教えるスレ★ Part21


586 名前:デフォルトの名無しさん :2005/10/05(水) 22:09:42
教えないと先に進めないからな


587 名前:デフォルトの名無しさん :2005/10/06(木) 16:09:39
Win32 Console Application でプロジェクトを作成しています。
処理の最後で AfxMessageBox を使用してメッセージを出すと、
どうしてもコマンドプロンプトの下にメッセージが出てしまいます。
コマンドプロンプトの上にメッセージを出す方法はありますでしょうか。

588 名前:デフォルトの名無しさん :2005/10/06(木) 16:15:13
1 コマンドプロンプトを出す
2 そのコマンドプロンプトからプログラムを実行

589 名前:デフォルトの名無しさん :2005/10/06(木) 20:05:43
>>587
合ってるかどうか知らんけど、メッセージボックスのハンドルがおかしい時に、下に行ったよ。
なんかの本のサンプルをコピって来たんだろうけど、わしの場合はNULLが指定してあってバグってた。

590 名前:デフォルトの名無しさん :2005/10/06(木) 20:59:38
__declspec( restrict )
__declspec( noalias )
__restrict
/Oa /Ow

マルチスレッドのWin32アプリケーション開発時に、上記キーワードを使ってソースを書いた場合、
クリティカルセクション、ミューテックス、セマフォ、イベント、メータードセクション、
その他諸々の同期機構を使っても、それらを無効化してしまう様なコードをclが吐き出す事は有り得るのでしょうか?

591 名前:590 :2005/10/06(木) 21:04:01
Windowsでは暗黙的にebp,edi,esiのレジスタの内容を
呼び出し元に復帰(ret)する前に復元するという話を聞き、
そういった事が絡んで、同期機構が無効化云々するのかどうかも気になります。

592 名前:デフォルトの名無しさん :2005/10/06(木) 21:11:02
どなたか、IMEの制御についてご教授ください。

ImmSetConversionStatus()にてIMEモードを切り替えているのですが、
 入力モード; 直接
 変換モード; 一般等(無変換ではない)
という状態はどのようにすればいいのでしょうか?

fdwConversionの引数をIME_CMODE_ROMANにセットすれば半角英数にはなるのですが、
直接入力モードの設定方法がわかりません。

これってImmSetConversionStatus() では設定不可能なんでしょうか?
Getしても値が変わっておらず・・・。

593 名前:デフォルトの名無しさん :2005/10/06(木) 22:53:26
>>592
ImmSetOpenStatusはどうだろう?

594 名前:デフォルトの名無しさん :2005/10/07(金) 09:30:52
VC++.NETのMFC ActiveXコントロールのテンプレートで作成したダイアログを
表示するocxをIEに埋め込んでIEの中でダイアログを埋め込み表示したいです。
(ウイルスバスターオンラインみたいなことを実現したい。)
「もしかして、IEのhWndを取得してocxに渡すのでは?」と思ったのですが、
他に良い方法があるのではないかと思って探しています。
方法をご存知の方、教えていただけないでしょうか?

595 名前:559 :2005/10/07(金) 09:38:02
>>571
ありがとう。
しかし、使い方がいまいち判らん…
参照設定とか関係ある??

596 名前:559 :2005/10/07(金) 16:06:53
ゴメソやっぱわかった

GetEraで4、
GetYearで17
 が返ってくるようになった。
平成 って出したい場合if文とか書かなきゃやっぱり無理か。

そして、今度はフォームを(最大化ボタン使わず)
画面全体表示して、
それにあわせてオブジェクトらも真ん中に持っていきたいのだけれど…

どうしたらいいかな????

597 名前:デフォルトの名無しさん :2005/10/07(金) 16:21:11
>>596
.Netはよう知らんが、GetEraメソッドの隣にGetEraNameメソッドがあるわけだが。

598 名前:デフォルトの名無しさん :2005/10/07(金) 16:29:40
>>596
仮にメソッドで直接年号取得できないとしても
わざわざifなんて書かなくても配列を使えば済む話なわけだが

599 名前:デフォルトの名無しさん :2005/10/07(金) 16:31:16
>>594
htmlのオブジェクトタグに書けばよいよ。

600 名前:デフォルトの名無しさん :2005/10/07(金) 16:35:50
>>596
最大化使わずに画面全体のサイズにするなら、デスクトップの領域サイズを取ってくればいいだろう

601 名前:559 :2005/10/07(金) 18:55:24
>>597
.NET'03でみてみたがないみたいだ、残念
>>598
case文とか?(わかっていない)
まぁ、結局は書かなきゃいけないのね
>>600
デスクトップの領域サイズね。
VBのSCREENみたいなものだろぅ?
それがわかんね…orz


602 名前:デフォルトの名無しさん :2005/10/07(金) 19:49:55
エクスプローラー → ツール → ファイルタイプ
で表示されるフォルダオプションダイアログの
ファイルタイプタグに
拡張子.tng
open"D:\Program Files\tonjiru.exe" /prefetch:7 /Open "%L"
close"D:\Program Files\tonjiru.exe" /prefetch:7 /Close "%L"
という情報を登録したいのですが、登録の仕方がわかりません。

.regファイルを使えば登録できそうなのですが
.regファイルは手書きするのが大変です。
何か簡単な方法を知っている方、ご教授お願いいたします。

603 名前:デフォルトの名無しさん :2005/10/07(金) 19:50:49
>>601
>DateTimeFormatInfo.GetEraName メソッド
>指定した時代 (年号) の名前を格納している文字列を返します。

>Screen クラス
>1 つのシステム上の 1 つ以上のディスプレイ デバイスを表します。
>この型のすべてのメンバの一覧については、Screen メンバ を参照してください。
>System.Object
> System.Windows.Forms.Screen

探すってことができないのかな?

604 名前:デフォルトの名無しさん :2005/10/07(金) 19:51:45
>>602
.regファイルを出力するプログラムを作る。

605 名前:デフォルトの名無しさん :2005/10/07(金) 20:59:36
>>601
やる気あんのかアンタ・・・
教える気も失せるぞ

>>603
いい奴だなおまえさん

606 名前:デフォルトの名無しさん :2005/10/07(金) 23:26:57
>>601
>.NET'03でみてみたがないみたいだ、残念
そうか、今度は.NET 2003で調べてごらん。きっと見つかるよ。

>case文とか?(わかっていない)
>まぁ、結局は書かなきゃいけないのね
それもひとつの方法だ。
今時改暦なんて風習を引きずっているのは、世界でも日本くらい。
元々改暦なんて考慮して作られていない可能性もあるし、パッチの提供が遅れる可能性もある。
改暦時に速やかに対応できるように自前で実装するのも、ひとつの考え方としてあっても良い。

>VBのSCREENみたいなものだろぅ?
どうしてもAPIが理解できず、Screenを使いたいなら、
VBでScreenの値を返すActiveX DLLを作るなんてどうだ?

607 名前:デフォルトの名無しさん :2005/10/08(土) 00:17:43
ああそうですか日本くらいですか

608 名前:デフォルトの名無しさん :2005/10/08(土) 14:56:41
>602
自分の環境で関連付けを設定しておいて、REGEDITでその部分だけを.regに出力。
ターゲット環境ではその.regを結合する。

609 名前:デフォルトの名無しさん :2005/10/08(土) 23:56:29
VC++ 7.1を使用しています。

ファイルを読み書きするプログラムを作成していて、デバッグ作業を行っているのですが、
デバッグで実行するとどうやらカレントディレクトリがソリューションのあるフォルダになっているようです。

それを実行ファイルのあるパスに変更する方法ってありますか?

この時にちゃんと実行ファイルのあるディレクトリになっていないとデバッグ時だけファイルが読み込めずデバッグになりません・・・。
プロジェクトの設定を一通り見てもそれらしきものはなさそうなのですが、どこかにあるのでしょうか?
初歩的な質問ですが、よろしくお願いします。

610 名前:デフォルトの名無しさん :2005/10/09(日) 00:16:09
>>609
プログラム側で対処した方がいい。
起動時のカレントディレクトリは実行ファイルがあるところとは限らない。

611 名前:デフォルトの名無しさん :2005/10/09(日) 06:50:44
>>609
GetModuleFileNameに自分のインスタンスハンドルを渡してやればフルパスがもらえる(実行ファイル名込み)

612 名前:デフォルトの名無しさん :2005/10/09(日) 12:48:49
Visual C++6.0を使用しています。
私はSDLやOpenGLをよくいじるんですが、APIの関数のようにSHIFT + Ctrl + Spaceで引数を表示できるようにできませんか?
物忘れが激しいんでいちいち見に行かなくてはいけないので効率が落ちて困っています。
どこかに設定ファイルのようなものがあるのでしょうか?それともヘルプいじればいいのでしょうか?
教えていただけるとうれしいです。

613 名前:デフォルトの名無しさん :2005/10/09(日) 12:52:09
>>612
ヘッダの定義には飛べるんじゃないの?


614 名前:デフォルトの名無しさん :2005/10/09(日) 12:57:53
>>613
自作の関数(main.hで宣言)の引数は表示されましたが、gl.hやらglu.hの関数は表示されませんでした。
hの読み込み方が悪いのでしょうか?
ちなみに
-main.h-
#pragma once
#pragma comment(lib, "Opengl32.lib")
#pragma comment(lib, "glu32.lib")
#pragma comment(lib, "SDL.lib")
#pragma comment(lib, "SDLmain.lib")
#include <windows.h>
#include <SDL.h>
#include <GL/gl.h>
#include <GL/glu.h>
#include <stdio.h>
#include <vector>
using namespace std ;

void QuitGame(int code);
以下略

-main.cpp-
#include "main.h"
以下略

という風に使っています。
改善点があれば教えていただきたいと思います。

615 名前:デフォルトの名無しさん :2005/10/09(日) 13:31:40
>>614
VC6 ならツール→オプション→<ディレクトリ>タブ
インクルードファイルの項目でSDL.hやOpenGL関連のインクルードファイルのディレクトリを指定してやる。
多分これで見に行くようになる気がする。

616 名前:デフォルトの名無しさん :2005/10/09(日) 14:03:47
>>615
設定してみましたが、表示されません。
SDLは・・・\IncludeのなかGLは・・・\Include\GLのなかにあります。
GLのほうは設定して一番上に上げましたが、見に行ってくれません。

617 名前:デフォルトの名無しさん :2005/10/09(日) 15:11:02
VC.NET2003を使っています。
ttp://homepage2.nifty.com/natupaji/DxLib/
このライブラリを使ってみたのですが、インテリセンスが表示されないのですがどうしたらいいでしょうか。
ライブラリはDxLib.hをヘッダーファイルに追加して使う事が出来ています。
よろしくお願いします。

618 名前:617 :2005/10/09(日) 15:16:16
あ、すいません。
>>612さんと全く同じ質問でした。
よろしくお願いします。

619 名前:デフォルトの名無しさん :2005/10/09(日) 15:17:28
>>616
本当だ見てくれないなorz
プロジェクトにヘッダーを追加するしかないみたいですね。



620 名前:デフォルトの名無しさん :2005/10/09(日) 16:35:00
>>619
そうですか・・・
いちいち追加するのも面倒なんでHELP見て覚えるだけ覚えます・・
ご迷惑おかけしました

621 名前:デフォルトの名無しさん :2005/10/09(日) 16:35:57
>>617
諦める

622 名前:デフォルトの名無しさん :2005/10/09(日) 16:43:26
Visual C++.NETをつかっています。初歩的な質問で恐縮ですが,
Form1にrichTextBox1があり,Form2でそこのTextの値を使いたいのですが
Form2のヘッダに何をincludeすれば良いのでしょうか?
"Form1.h"をincludeしてもうまくいきません。


623 名前:デフォルトの名無しさん :2005/10/09(日) 16:52:46
Form1とForm2は他人?兄弟?親子?

624 名前:デフォルトの名無しさん :2005/10/09(日) 17:45:14
妹です。

625 名前:デフォルトの名無しさん :2005/10/09(日) 18:26:28
>>623
Form1が親でForm2が子だと思います。
ビルドすると先に出るFormが1で12は1から呼び出す形です。

626 名前:デフォルトの名無しさん :2005/10/09(日) 19:41:46
boolとBOOLはどう違いますか?

627 名前:デフォルトの名無しさん :2005/10/09(日) 19:45:54
BOOL → WinAPI、C99
bool  → C++

628 名前:デフォルトの名無しさん :2005/10/09(日) 19:46:46
>>627
ありがとうございます

629 名前:デフォルトの名無しさん :2005/10/09(日) 20:11:58
>>627
C99は_Boolと<stdbool.h>でtypedefされているboolだ。

630 名前:617 :2005/10/10(月) 04:12:20
>>619
プロジェクトにヘッダーを追加してもだめなんですが・・・。

631 名前:デフォルトの名無しさん :2005/10/10(月) 04:21:32
>>630
設定後、ビルドしました?


632 名前:617 :2005/10/10(月) 06:08:35
>>631
はい、しました。
それでもインテリジェンスが機能してくれません。

自分でソースファイル->クラスの追加 等でクラスを追加したり、関数などを追加した場合はビルドに関わらず機能してくれます。
どうしてでしょうか・・・?

633 名前:デフォルトの名無しさん :2005/10/10(月) 07:58:51
>>632
リビルドじゃね?

あとインテリジェンスってなんでぃすか

634 名前:デフォルトの名無しさん :2005/10/10(月) 08:14:38
>>633
知性ってことじゃないの?で617には反応してくれないという。

635 名前:デフォルトの名無しさん :2005/10/10(月) 09:08:25
そりゃぁ、ないもんは反応しないだろ。

636 名前:デフォルトの名無しさん :2005/10/10(月) 09:14:21
1度ブラウザファイルを作る設定でビルドしたらだめ?

637 名前:デフォルトの名無しさん :2005/10/10(月) 09:25:57
たぶんこの辺の情報がないとダメ
Common\MSDev98\Bin\win32.ncb

638 名前:デフォルトの名無しさん :2005/10/10(月) 15:34:59
質問です。XP、.NET です。

やや大きめの矩形ビットマップ領域(800,600)をある色でクリアしたくて、
CDC::FillRect を用いて塗りつぶそうとしたのですが、
ある入門書で、ExtTextOut を用い、テキストの背景色を利用して矩形を塗りつぶしているものがありました。
(ExtTextOut に渡す表示テキストは NULL です。)

かなり驚かされたのですが、これは常套手段なのでしょうか?
矩形を塗りつぶすには、シンプルな方法としてはこれが最良(手軽、高速)な方法なのでしょうか?

くだらない質問ですがよろしくお願いします。

639 名前:デフォルトの名無しさん :2005/10/10(月) 15:45:45
激しくトリッキーな塗り方だと思うが?

640 名前:638 :2005/10/10(月) 16:15:39
>>639
ありがとうございます。
とくに高速にする必要もない部分なので、素直に FillRect を使うことにします。

641 名前:619です :2005/10/10(月) 16:44:30
>>632
.NETは持ってないので確認できないんで参考になるかどうかワカリマセンが
プロジェクトのフォルダーにソースと同じ名前の .ncb って在りません?
インテリセンスが機能しなくなったら、一度それを削除しちゃってからIDEを立ち上げなおすと
ちゃんと認識してくれたりします。
VisualStudio6ではそれで行けるんですが…


642 名前:デフォルトの名無しさん :2005/10/10(月) 17:59:40
すみません、Visual C++.NETで製作したダイアログをWindows98で実行すると
文字化けしてしまうので、日本語リソースの文字セットをUNICODEからShift_JISに
したいので方法はありますか?

643 名前:デフォルトの名無しさん :2005/10/10(月) 18:01:44
WINVERでなんとかなるんじゃね?

644 名前:デフォルトの名無しさん :2005/10/10(月) 18:23:51
自分のソースその他にUNICODEって書いてる部分調べりゃわかるだろうが

645 名前:デフォルトの名無しさん :2005/10/10(月) 18:25:39
#undef UNICODE
すれば?

646 名前:デフォルトの名無しさん :2005/10/10(月) 19:25:23
>>638-640
CDC::FillSolidRect() のソース見ろ。ExtTextOut()で塗ってるぞ。
単に純色のブラシ作ってCDC::FillRect()するなら、CDC::FillSolidRect()使ったほうが高速。

647 名前:559 :2005/10/11(火) 11:37:50
>>603
>>606
(゜Д゜;)
ありがとう、マジ、ありがとう(涙
今度からは、もっとよく探してみますorz

648 名前:デフォルトの名無しさん :2005/10/11(火) 12:08:01
VC++6.0使ってます

エクセルファイルにリソースIDと変数名を格納してある状態で
VC側からエクセルファイルオープンしてリソースIDと変数名を文字列で取得

この文字列をリソースID、変数名として代替利用できる方法ないでしょうか?

defineできって対応させるしかないですか?

もうぼけぼけでわけわからんちん

649 名前:602 :2005/10/11(火) 13:03:59
>>604,>>608
有難うございます。
エクスプローラー → ツール → ファイルタイプの下位の
「ファイルタイプの編集」にたどり着くことが出来ました。
REGEDITにて2箇所のディレクトリを.regに出力。
2つの.regを結合して1ファイルに編集しても上手くいきました。

650 名前:デフォルトの名無しさん :2005/10/11(火) 17:18:37
よくDvorakとかの配列にするために変換するソフトありますよね。
ちょっと自分のキーボードの配列を変えたいんであれみたいなのを作りたいですが、あれはどのようにして変えているんでしょうか?
GetKeyStateとkeybd_eventを組み合わせてやってもうまく動いてくれないんですが・・・
どなたかスムースにうまく動くやり方ご存じないでしょうか。

651 名前:デフォルトの名無しさん :2005/10/11(火) 17:25:41
>>650
コントロールパネル→キーボード→入力ロケール→追加...→キーボードレイアウト→Dvorak

652 名前:デフォルトの名無しさん :2005/10/11(火) 17:29:20
>>651
すいません。CTRLとかEND,HOMEとかの位置を別のキーに置き換えたいとおもったのですが・・
誤解されてしまいました。
Dvorakを例に出したのがまずかったです。


653 名前:デフォルトの名無しさん :2005/10/11(火) 17:58:32
>>652
ドライバにパッチ。

654 名前:デフォルトの名無しさん :2005/10/11(火) 18:01:28
レジストリ書き換えてみます・・
ありがとうございました

655 名前:デフォルトの名無しさん :2005/10/11(火) 18:30:24
メッセージループの中で仮想キーを文字コードに変換してる所があるだろ

656 名前:デフォルトの名無しさん :2005/10/11(火) 19:03:07
VC++.NET2003のWindowsフォームアプリケーション(.NET)のテンプレートで
可変長文字列型を扱いたいと思っています。
<afx.h>をincludeしてCString型を使おうとしてもうまく行きません。
Windowsフォームアプリケーション(.NET)で可変長文字列型を扱うのは
何型が適しているのでしょうか?
よろしくお願いいたします。

657 名前:デフォルトの名無しさん :2005/10/11(火) 19:11:06
>>656
でも.NetならSystem::String。
ちなみに非MFCでCStringを使うには<atlstr.h>だってMSDNに書いてあるだろ。

658 名前:デフォルトの名無しさん :2005/10/11(火) 20:05:42
>>656
.NET使ってんだから.NETの検索くらいしろよ

659 名前:デフォルトの名無しさん :2005/10/11(火) 22:47:27
VC.NET 2003 でMFCプロジェクト を作っています。
で、初めてActiveXのDLLを使おうとしているのですが、
ぐぐってみても、MSDNで調べてみてもサパーリTT

調べてみて、先ず、
#import "wakaranX.dll"
using namespace

のようにやってみたら

d:\MyProject\MFCProj\Debug\wakaranX.tlh(4966) :
   error C2366: 'wakaranX;::_doshite::GetAmount' :
   再定義; 異なる implementation_key 指定子です。
  
  d:\MyProject\MFCProj\Debug\pscharge.tlh(2286) :
   ''wakaranX::_doshite::GetAmount' の宣言を確認してください。

上記の様なエラーがどっさり出てきてしまいました。
なにか足りない宣言があるのでしょうか?
DLLは市販のもので、商品のマニュアルとサンプルはVBのものしかついていません。
多言語については「なんでもおっけさー!」と書きながら、「それぞれの言語のActiveXの
使い方を見てね」なのです。

<つづく>

660 名前:デフォルトの名無しさん :2005/10/11(火) 22:49:25
<つづき>
プロジェクトの参照設定で、system32下にあるDLLを選んで、
ビルドは通りましたが、その後の使い方が????

DLLには各クラス(上の例だとdoshite)があり、
配下に関数(上の例ではGetAmount)が数多あります。
プロジェクト内のクラスでの呼び出し方すらわかりません。
こうして書いていて、我ながら猿以下だとは思うのですが、
こうやるんだよ!ってのをよろしくお願いします。


661 名前:659 :2005/10/11(火) 23:32:04
追加
660での参照設定は stdafx.hの記述は削除した上でやっています。

662 名前:デフォルトの名無しさん :2005/10/12(水) 00:32:32
どのスレかよくわからなかったのでこちらで失礼します。
xmlの作成で質問です。

検索をかけると、
ttp://www.sutosoft.com/oldroom/devdiary/20040307.html
↑のようなやり方が数多く発見されるわけなんですが、
同じように書いても「引数の数が合わねーぞエラー(C2660)」でどうにもなりません。

同じ環境で上記のようなコードを書いていたりするサンプルがあったりするので、脳がはちきれそうです。
現在は下記のようにやらざるを得ない状態ですが、
↑のような書き方にできる方法があったら是非ともお教え下さい。
---------------------------------------------------------------------------------
#import "msxml4.dll" named_guids raw_interfaces_only
using namespace MSXML2;
   ・
   ・
VARIANT_BOOl vBool;
MSXML2::IXMLDOMDocument2Ptr pDoc;
MSXML2::IXMLDOMElementPtr pRoot, pElement;

pDoc.CreateInstance(MSXML2::CLSID_DOMDocument40);
pDoc->loadXML(L"<?xml version=\"1.0\" encoding=\"EUC-JP\" ?>\n<hoge />", &vBool);
pDoc->get_documentElement(&pRoot);

pDoc->createElement(_bstr_t("hage"), &pElement);
pRoot->appendChild(pElement, NULL);
---------------------------------------------------------------------------------

環境:
win2000sp4
VC++.NET2003
MSXML4.0sp2

663 名前:デフォルトの名無しさん :2005/10/12(水) 00:34:30
現在MFCを利用してプログラムを作成しています。
できるだけ正確に60fpsの処理をさせるために以下のようなコードを作りました。

DWORD Now = timeGetTime();
DWORD Last = Now;
DWORD PastTime= 0;
while(1){
 Now = timeGetTime();
 if(Now == Last) continue;
 PastTime += 60 * (Now - Last);
 Last = Now;
 if(PastTime > 1000){
  PastTime -= 1000;
  //ここにやりたい処理
 }
}

この状態でも動作は問題なく行うのですが、
どうやらwhileの無限ループを行っているせいか、CPU使用率が跳ね上がってしまいます。
精度を維持しつつ、これを回避する方法はないでしょうか?
MFCとはたぶん関係なさそうなので、ここで質問させていただきます。

664 名前:デフォルトの名無しさん :2005/10/12(水) 00:45:24
タイマーかスリープ

665 名前:662 :2005/10/12(水) 00:49:32
>662
申し訳ありません、raw_interfaces_only外したらできてしまいました。
何でさっきあんだけ試してできなかったのよ…orz

666 名前:デフォルトの名無しさん :2005/10/12(水) 02:03:24
>>641
その通りやってみましたが機能してくれませんでした。
ありがとうございました。

667 名前:デフォルトの名無しさん :2005/10/12(水) 09:22:02
>>663
ゲームプログラミングか何か?(・∀・)イイナー
Sleepを使うことをお勧め。1ミリ秒程度の誤差がでるかも。
でも、ファミリーコンピューターみたいな滑らかさを実現するには、
ディスプレイの垂直同期のタイミングで描画しないとむりぽ。
タイマーは時間が不正確なのでやめといた方がいいです。

DWORD Now = timeGetTime();
DWORD Last = Now;
DWORD PastTime= 0;
while(1){
 Now = timeGetTime();
 if(Now == Last) continue;
 PastTime += 60 * (Now - Last);
 Last = Now;
 if(PastTime > 1000){
  PastTime -= 1000;
  //ここにやりたい処理
 }
 else{
  Sleep(1); //ここでスリープぅ
 }
}

668 名前:デフォルトの名無しさん :2005/10/12(水) 09:24:51
>>657
ありがとうございます。

669 名前:668は656 :2005/10/12(水) 09:26:40
↑は>>656です。

670 名前:デフォルトの名無しさん :2005/10/12(水) 15:02:07
ダイアログで設定した情報を得るにはどうしたら?

※ダイアログクラスが在るとして
1.グローバル変数
2.INIファイルやレジストリを介す
3.単純にアクセサを使う
4.Observerパターン
5.Win32APIに良くある様に、データを纏めた構造体のアドレスを渡す


自分が思いつくのはこれ位なのですが、「2.」が一般的なんですかね?

671 名前:デフォルトの名無しさん :2005/10/12(水) 15:12:09
★シュワルツネッガー知事の拒否で、カリフォルニア州の「反日教科書」法成立せず

・いわゆる「南京大虐殺」など、旧日本軍の残虐行為をカリフォルニア州の教科書に
 書き込むことを目的とした法案に、シュワルツェネッガー知事が署名を拒否しました。

 この法案は、州の中学高校で使用される教科書について、第二次大戦中にアジアで
 起きた出来事に、もっと分量を割くことを求めるもので、先月、州議会を賛成多数で
 通過していました。提案者の議員は教えるべき具体例として、いわゆる「南京大虐殺」を
 挙げていました。法案を後押ししたのは、日本の常任理事国入り反対の署名活動を
 展開した在米の中国人団体らで、「南京大虐殺」などの旧日本軍の残虐行為をアメリカ
 で歴史的事実として定着させることが、推進派の最大の目的でした。しかし、拒否権を
 持つシュワルツェネッガー知事は7日、「アジア諸国の役割について学習することは、
 すでに認められている」として署名を拒否し、法案は成立しませんでした。
 http://www.tv-asahi.co.jp/ann/news/web/inte_news8.html?now=20051009245834
 ※ニュースは既に削除されています。



672 名前:デフォルトの名無しさん :2005/10/12(水) 17:53:48
エスパー!仕事、仕事!

673 名前:デフォルトの名無しさん :2005/10/12(水) 19:02:32
質問です。
動的に変化する2次元配列の配列を作りたいのですが、
どうすればよいのでしょうか?
普通にnew演算子を使って作るのはできるのですが
vectorを使った方が都合が良いです。

例えば
std::vector< std::vector<int> > matrix;
matrix.push_back(std::vector<int>(4));
matrix.push_back(std::vector<int>(4));

でmatrix[*][4]は作れますよね。

こんな感じで
matrix[*][9][4]のような物を作りたいのですが、
上手くいかなくて困り果てています…

674 名前:デフォルトの名無しさん :2005/10/12(水) 19:09:51
C++を学ぶ上で、分かりやすい本があったら、教えてもらえますか?

675 名前:デフォルトの名無しさん :2005/10/12(水) 19:44:00
分かりやすいなんて人それぞれだし、スレ違い。

676 名前:デフォルトの名無しさん :2005/10/12(水) 19:45:11
=="MailTest.h"ファイル==

#using <mscorlib.dll>
#using <System.dll>
#using <System.Web.dll>
using namespace System::Web::Mail;

class MailTest : public CObject
{
public:
MailMessage *tMailTest;

-後略-
}

上記の様にすると*tMailTestの定義で下記のエラーが3件もでてしまいます。

「error C3265:アンマネージ'<不明>'で、マネージ'<不明>'を宣言できません。」

cppファイル内で内部定義した時にはエラーはでないのですが、
ヘッダーに定義して全ての関数から使用できるようにしたいので、なんとか
解決をと試行錯誤してるのですが解りません。
要素が足りないのかと思って、以下のように定義しても同様でした。

System::Web::Mail::MailMessage *tMailTest;
はっきりいってハマってしまいました。
有識者の方々、是非ご教授くださいませ。。。

ちなみに
Windows 2000
Visual C++ .NETです。

677 名前:デフォルトの名無しさん :2005/10/12(水) 20:11:32
>>667
Sleepで1ms程度の誤差しか出ないとは運の良い奴だな。

Sleepやタイマーが指定した経過時間で処理を完了することを期待したコードを書いては駄目。
timeGetTimeなりパフォーマンスカウンタなりを使って経過時間を算出し、
経過時間に基づいて算出を行うべし。

678 名前:デフォルトの名無しさん :2005/10/12(水) 20:26:39
>>648
どういう状態を想定してるか分からんが、変数名は無理。
ハッシュのキーなどにすれば文字列で指定可能だけど。

679 名前:673 :2005/10/12(水) 20:41:26
すいません、質問するスレを間違えました、
お詫びします…

680 名前:デフォルトの名無しさん :2005/10/12(水) 20:53:24
>>677
してるじゃん

681 名前:デフォルトの名無しさん :2005/10/12(水) 21:13:20
突然ですみません。
DirectX以外の方法で、ほぼ正確に1/60毎にコールバック関数を呼ぶAPIはありますか?

いろいろ試してみたのですが、マルチメディアタイマーを使用すると、1/60秒から少しずれてしまい(整数msの分解能のため)
1/60秒での処理ができません。
これだとfpsに直すと62fps(16msの場合)になりますよね?
これをほぼ正確に60fpsにしたい場合、何か方法はないでしょうか

http://pc8.2ch.net/test/read.cgi/tech/1128951330/10
これと質問内容は一緒だお。
巧妙なマルチだお。

682 名前:デフォルトの名無しさん :2005/10/12(水) 21:28:22
>>670
2は少数派だと思う。

683 名前:デフォルトの名無しさん :2005/10/12(水) 21:43:16
>※ダイアログクラスが在るとして
>5.Win32APIに良くある様に

もしかしてMFCのやり方を知りたいんだろうか?

684 名前:デフォルトの名無しさん :2005/10/13(木) 00:17:33
>>681
確かに内容は似てるが質問が全く違うぞ。よく見ろw

685 名前:デフォルトの名無しさん :2005/10/13(木) 02:39:55
>>684
違うか?
まんまコピペに見えるが。

686 名前:670 :2005/10/13(木) 06:27:44
>>683
ダイアログ等で設定した情報を、親ウィンドウや他のクラスに送信する、
もしくは、その内容を反映させる方法論みたいなのが知りたいんです。

今までは>>670の「3」と「5」を組み合わせてやってたんですが、設定したい内容
が増えてゴチャゴチャしてきたもので…。

687 名前:デフォルトの名無しさん :2005/10/13(木) 07:44:26
>>686
その状況で、1を採用してもごちゃごちゃは改善されないと思うが。

688 名前:648 :2005/10/13(木) 12:04:04
>>678
返信どもです
変数は_ですか・・・

想定している状態はというと・・・
DBも構造体も他社設計で決まっていない状態で
リソースIDと変数名だけ変更すればその他処理を修正しなくても
いいような感じに持っていきたいと考えてます

で内容は
 1.DB→構造体→画面
 2.構造体→エクセル

 で( ゚Д゚)マンドクセーなので定義ファイルをひとつ作成して
 そこにリソースIDとエクセルのアドレス?(A12とか)と変数名を入れておいて
 定義ファイルを読んでリソースIDのデータを変数とエクセルに設定できるような
 共通関数を作成しようかと想定しています

 なので変数を除けばなんとかできそうな感じですよね・・・
 いい案あったら教えてくだはい


689 名前:667 :2005/10/13(木) 13:40:55
>>681
やっぱりゲームを作りたいのかな?
DirectXでディスプレイ制御を乗っ取らない限り、凄い精度で時間計測できたとしても
グラフィック描画中の状態が見えてしまいます。μ秒単位で時間を取得する方法があるけど、
やっても無駄だと思われ。大きめのゲームセンターに行って「ギガウイング ジェネレーション」
というゲームの画面を観察すると参考になるかも。このゲームは時間計測の方法で描画してます。
一定周期ごとに描画中の状態が見えます。パソコンのDirectXの垂直同期待ち描画は、
処理落ちすると像がブレて画面汚いから、時間計測の方法を使ったと思われる。

690 名前:デフォルトの名無しさん :2005/10/13(木) 14:26:45
(゚д゚;)

691 名前:デフォルトの名無しさん :2005/10/13(木) 15:05:48
winXPにしたらVisualStudio6.0がインストールできなくなった!
2005買うしか無いんすか?ポマイラおしえて〜!!

692 名前:デフォルトの名無しさん :2005/10/13(木) 15:09:52
んなこた〜ない。

693 名前:デフォルトの名無しさん :2005/10/13(木) 15:10:40
>>691
できます

694 名前:デフォルトの名無しさん :2005/10/13(木) 15:19:43
コピペぺったん

日本海新聞でワンクリックアンケート
ttp://www.nnn.co.jp/index.html

>鳥取県人権侵害救済条例
全国で初めて成立した県人権条例についてどう思いますか。


投票&コピペ、ヨロシコ

695 名前:デフォルトの名無しさん :2005/10/13(木) 16:22:05
Visual Studio .NET 2002を使ってるのですが
DirectX9.0日本語ドキュメントをVS.NETの「検索」範囲(?)に入れられますか?
「ヘルプ」→「検索」で検索して9.0JPN Docの中からも探せるようにしたいです
ヘルプらしきものがいっぱい入ってるトコロにインストールしたのですが
無理なようで特別に操作が必要なのでしょうか

696 名前:デフォルトの名無しさん :2005/10/14(金) 13:34:12
VC++.NETのWindowsフォームアプリケーション(.NET)で
WindowsフォームContextMenuコントロールを
FormなどのプロパティのContextMenu欄を
使わずに表示したいです。
ご存知の方いらっしゃれば教えていただけないでしょうか?

697 名前:デフォルトの名無しさん :2005/10/14(金) 13:34:49
>>689
フレーム切り替えって通知されないの?

ていうか、こっちでフレームの切り替え指定できないの?

もちろんタイマーで同期は取らないといけないと思うけど、
タイマー待ちのためにタスクの処理を捨てるのはもったいない。


698 名前:デフォルトの名無しさん :2005/10/16(日) 11:16:00
>>681
タイマーボードを挿せ

699 名前:デフォルトの名無しさん :2005/10/16(日) 18:29:20
VS2003で、ウィンドウの中の色を黒背景ベースにできないんでしょうか?
テキストエディタだけは、オプション→フォントおよび色変更で変えられますが、
他のウィンドウは白いまま・・・。

700 名前:デフォルトの名無しさん :2005/10/16(日) 19:10:27
簡単に変えれるけど、馬鹿には変えれない

701 名前:デフォルトの名無しさん :2005/10/16(日) 20:12:31
>>699
プログラム板で聞くような内容じゃないな。
コントロールパネルから設定できるだろ。

702 名前:デフォルトの名無しさん :2005/10/17(月) 18:51:59
VC++.NETのWindowsフォームアプリケーション(.NET)でMFCのクラスを使いたいと思っています。
StdAfx.hにMFCの定数やヘッダをincludeすれば、MFCを使えることがわかりました。
しかし、ある特定のコンポーネント(WindowsMediaPlayer)と同時に使用すると
コンパイルが通りません。
【Form1.h】
01://
02:// axWindowsMediaPlayer1
03://
04:this->axWindowsMediaPlayer1->Enabled = true;
05:this->axWindowsMediaPlayer1->Location = System::Drawing::Point(8, 56);
06:this->axWindowsMediaPlayer1->Name = S"axWindowsMediaPlayer1";
07:this->axWindowsMediaPlayer1->OcxState = (__try_cast<System::Windows::Forms::AxHost::State * >(resources->GetObject(S"axWindowsMediaPlayer1.OcxState")));
08:this->axWindowsMediaPlayer1->Size = System::Drawing::Size(208, 184);
09:this->axWindowsMediaPlayer1->TabIndex = 4;
10:this->axWindowsMediaPlayer1->MouseUpEvent += new AxInterop::WMPLib::_WMPOCXEvents_MouseUpEventHandler(this, axWindowsMediaPlayer1_MouseUpEvent);

07:で
『d:\tonjiru\WmpCtrlFrm\Form1.h(116) : error C2039: 'GetObjectA' : 'System::Resources::ResourceManager' のメンバではありません。
stdafx.cpp(0) : 'System::Resources::ResourceManager' の宣言を確認してください。』
というエラーが出ます。(エラーが出るのは、この行だけ。)

07:のGetObjectのところを上手く書けば通るような気がするのですが、よくわかりません。
ご存知の方教えていただけないでしょうか?よろしくお願いいたします。

703 名前:デフォルトの名無しさん :2005/10/17(月) 19:48:18
VS2005 TeamSuite Beta2 の C++ について、
埋め込みマニフェストが、毎回「はい」になっていてエラーとなる。
これをデフォールト「いいえ」に設定する方法を、誰か教えて。

メニューバーの「プロジェクト」から、
「XXX(プロジェクト名)のプロパティ」
--> 「構成プロパティ」--> 「マニフェストツール」
--> 「入力と出力」--> 「埋め込みマニフェスト」
です。

704 名前:デフォルトの名無しさん :2005/10/17(月) 19:58:58
703です。
失礼しました。
VS2005の板があったので、そこへ転載します。

705 名前:デフォルトの名無しさん :2005/10/17(月) 21:26:20
>>702
#undef GetObject

706 名前:デフォルトの名無しさん :2005/10/17(月) 23:05:43
CPropertyPageのメソッドでAfxBeginThreadをRuntimeClassの方を引数にして
CWinThreadポインタを得ようとすると「メモリが不足しています」って出るね。
AFX_THREADPROCを引数にした方は、余裕で起動できるのに。

メモリを不正参照しているのは分かるんだけど、よく分からない・・・。
だれか原因知っている方いませんか?

707 名前:702 :2005/10/18(火) 20:19:07
>>705
適切な方法を教えて頂き、ありがとうございました。

708 名前:デフォルトの名無しさん :2005/10/18(火) 23:32:03
何あのVS2003の使えないIntelliSence
ちゃんとクラス作ってファイル追加してんのに、:: も . も反応しやがらねぇ・・・
さすがMSだな

709 名前:デフォルトの名無しさん :2005/10/19(水) 01:32:28
2003に限らないがな。
インテリセンスのバグはいいけがん何とかして欲しい。

710 名前:デフォルトの名無しさん :2005/10/19(水) 07:42:45
それだけ素人が書いた糞コードの解析が難しいって話。

711 名前:デフォルトの名無しさん :2005/10/19(水) 09:10:12
VC++6.0、MFCです

class CHoge {
 CHoge();
 enum EHoge {
  A_BEGIN, A_NUM1, A_END, B_BEGIN, B_NUM1, B_END
 };
 static CString A_Numbers[];
 static BYTE B_Numbers[];
};

CString CHoge::A_Numbers[] = {"0"};
BYTE CHoge::B_Numbers[] = {0};

CHoge::CHoge() {
 ASSERT( sizeof(A_Numbers)/sizeof(CString) == CHoge::EHoge::A_END - CHoge::EHoge::A_BEGIN - 1);
 ASSERT( sizeof(B_Numbers)/sizeof(BYTE) == CHoge::EHoge::B_END - CHoge::EHoge::B_BEGIN - 1);
}

列挙してある中の、各BEGINとENDの間の値の個数と各Numbers配列は同じ個数になるようにします
コンストラクタでその個数の正規性チェックをしてるのですが、
2行目のASSERTのところで、「error C2070: sizeof 式のオペランドが、識別子または型名になっていません。」とエラーが出てしまいます

識別子も型名も間違えず書いてあるのに、何故こんなエラーが出るのでしょうか

712 名前:711 :2005/10/19(水) 09:15:49
すみません
自己解決しましたorz

713 名前:デフォルトの名無しさん :2005/10/19(水) 09:16:02
>>711
それはsizeof(B_Numbers)だけでもエラーが出ると言うことで宜しいか?

714 名前:デフォルトの名無しさん :2005/10/19(水) 13:54:43
>>712
ここは ROM の人も多いから、皆の後学のために
解決したらだめだった理由を書いてくれるとありがたい

715 名前:インテリセンス :2005/10/19(水) 16:15:28
>>709
>いいけがん
こんな事書くヤツのコードなんか解析できっかよ

716 名前:711 :2005/10/19(水) 16:42:18
すみません、出かけてて遅れました

BYTE CHoge::B_Numbers[] = {0};と書くところを、実際にはBYTE B_Numbers[] = {0};と書いてまして
CHoge::を付けてちゃんと書いたらエラーが消えました

717 名前:デフォルトの名無しさん :2005/10/19(水) 21:24:02
VC++.NETでWindowsMediaPlayerActiveXコントロールを使って
動画の再生中にWindowsMediaPlayerを右クリックして
コンテキストメニューを出した後に、
コンテキストメニューから項目を選択すると
WindowsMediaPlayerのClickEventが発生しますが、
コンテキストメニューの何の項目が選択されたのかを
取得する方法がわかりません。
(WindowsMediaPlayerActiveXに該当するイベントが見当たらなかったです。)
何方かご存知の方、教えていただけないでしょうか?

718 名前:デフォルトの名無しさん :2005/10/19(水) 23:18:45
リッチエディットボックスを使ってるんですが、
文字のサイズ変更と色変更はできるようになりました。

fgets()で読み込んだあとに先頭に特定の文字列があれば
その行だけ色を変えたいのですが、リッチエディットボックスでの
実装方法を教えていただけないでしょうか。

if(strncmp(ss, "for", 3)==0){
//ここにいろいろと処理を追加したい。
}

719 名前:デフォルトの名無しさん :2005/10/20(木) 09:24:45
お世話になります。よろしくお願いします。win2000、VC++6.0MFCで
作ってるのですが、メンバ変数のポインタからメンバ関数を使いたいのですが。
メンバ変数に追加するだけでメンバ関数って使えないのですか?
メンバ変数の設定は値、CStirngです。

720 名前:デフォルトの名無しさん :2005/10/20(木) 09:36:19
使える
ドットでやってるとか言うなよ?

721 名前:デフォルトの名無しさん :2005/10/20(木) 09:54:19
ドットでした。どうすればいいのですか? -> ←これですか?

722 名前:デフォルトの名無しさん :2005/10/20(木) 11:23:38
そうだよ

723 名前:デフォルトの名無しさん :2005/10/20(木) 11:40:39
いやいやあの〜〜〜
メンバ変数.メンバ関数()でやるにはどうすればよろしいでしょうか?
値ではなくコントロールにすればいいですか?

724 名前:デフォルトの名無しさん :2005/10/20(木) 11:45:37
>>723
具体的に何をしたいのか書け。

725 名前:デフォルトの名無しさん :2005/10/20(木) 11:58:06
>>723
ポインタじゃ無理だバカ

726 名前:デフォルトの名無しさん :2005/10/20(木) 12:01:40
ポインタ->メソッドの何が気に入らんのやら・・・

727 名前:デフォルトの名無しさん :2005/10/20(木) 12:08:39
どうでもいいが >>720 のエスパーっぷりに感動した

728 名前:デフォルトの名無しさん :2005/10/20(木) 12:30:04
(*メンバ変数).メソッドでやれば

729 名前:デフォルトの名無しさん :2005/10/20(木) 12:44:13
m_ProcCnb.GetCurSel();みたいに使いたいんですけど。。。。

730 名前:デフォルトの名無しさん :2005/10/20(木) 12:56:00
>>729
使えばいいじゃん。
だから、なにをしたいんだってばさ。

731 名前:デフォルトの名無しさん :2005/10/20(木) 12:57:22
->でも使えないんです。

732 名前:デフォルトの名無しさん :2005/10/20(木) 12:58:13
小出しじゃなくてもっと要点をまとめて、
いっぺんにしっかりと説明しる

733 名前:デフォルトの名無しさん :2005/10/20(木) 13:06:34
コンボボックスで選択された項目の格納されてるデータを
エディットボックスに出力したいんですけど、

734 名前:デフォルトの名無しさん :2005/10/20(木) 13:11:53
ひとりごと?

735 名前:デフォルトの名無しさん :2005/10/20(木) 13:17:23
1.何をしたら
2.どうなったか

せめてこれだけでも書いてくれ
いくら使えない使えないって言われても、使えるよとしか答えれるわけないじゃん

736 名前:デフォルトの名無しさん :2005/10/20(木) 13:17:46
どういう手順で行えばいいのかわかりません。
自分で考えた↓
選択されているデータのインデックスを取得
      ↓
選択されているデータ取得
      ↓
取得した文字列をエディット・ボックスへ出力

だと思うんですけど、インデックスを取得する時に
メンバ変数を使ったほうがいいのかと思いました。

737 名前:デフォルトの名無しさん :2005/10/20(木) 13:19:35
御前様は箸の上げ下ろしも教わらないとできませんか。そうですか。

738 名前:デフォルトの名無しさん :2005/10/20(木) 13:26:18
コンボボックスならGetWindowTextでいいんじゃないか?
リストじゃなくてわざわざコンボなわけだし


739 名前:デフォルトの名無しさん :2005/10/20(木) 15:00:58
「メンバ変数」とはDDX変数のことで、たぶんUpdateData()をしていないのだろう。

じっちゃんの名にかけて。

740 名前:デフォルトの名無しさん :2005/10/20(木) 15:13:32
UpdateDataはしたんですけど、だめでした。

741 名前:デフォルトの名無しさん :2005/10/20(木) 17:48:11
初めまして。この度は一つ質問させて頂きたく参りました。

現在、手元に、「main.cpp」「StdAfx.h」「Ed.sln」「Ed.vcproj」があるのですが、Ed.exeファイルにコンパイルする方法が分からなくて困っています。
仕様しているソフトは、「Microsoft Visual C++ 6.0」です。

初歩的な質問になってしまいますが、よろしくお願い致します。m(_ _)m

742 名前:デフォルトの名無しさん :2005/10/20(木) 17:53:10
文字列の最後から、指定した文字列が存在するまでのバイト数を返すような
標準関数ってありませんか?

"文字列取得"とかで調べたんですが、見つかりませんでした。
ご存知でしたら教えてください。

743 名前:デフォルトの名無しさん :2005/10/20(木) 18:06:32
strlen()で全体の長さ調べて、strstr()で先頭からバイト数調べて引いちゃだめなの?

744 名前:デフォルトの名無しさん :2005/10/20(木) 18:06:47
2年近く使っていてまだこのレベルかと自分が情けなく思うのだが
質問したい。

VC++6.0をwin2k環境下で使っているのだが、上司に
「デバッグするのにspy++つかわんのか?」といわれて
「あれ、どうも馴れてなくて」とその場は流したのだが、たしかに基本機能に
近い位置にあるものだし、あと10年はキーボード叩いてメシ食べたいし、
知識がほしいのです。

spy++の基本的な使い方から解説してくれてるような書籍/サイトが
あったら教えてください。
よろしくおねがいします。


745 名前:デフォルトの名無しさん :2005/10/20(木) 18:11:39
>>741
VC++7 to VC++6 project converter
http://www.arstdesign.com/articles/prjconverter.html
を使ってみるとか。
(*.sln, *.vcprojはVS.NETのプロジェクトファイル。)

746 名前:デフォルトの名無しさん :2005/10/20(木) 18:12:10
>>741
どっから持ってきたんだよそのファイル群
そら.NET対応になって以後のVisualStudioのファイルだVC++6じゃない

747 名前:デフォルトの名無しさん :2005/10/20(木) 18:16:28
>>742
最後だから strrchrがいいんでない?

748 名前:デフォルトの名無しさん :2005/10/20(木) 18:43:07
>現在、手元に、「main.cpp」「StdAfx.h」「Ed.sln」「Ed.vcproj」があるのですが

main.cpp ひとつコンパイルするだけじゃないか

749 名前:742 :2005/10/20(木) 19:15:27
>>743さん , 747さん

strrchrで無事解決しました、ありがとうございました。。

750 名前:デフォルトの名無しさん :2005/10/20(木) 21:07:41
DiskMirroringToolっていうミラーリングツールの公開されているソースを参考にし、
ミラーリングツールを自作してみたのですが、なんか、変な現象に悩まされているです。

自作のツールのみを起動させて実行させるとコピー速度が遅いのですが、
DiskMirroringToolと一緒に起動させて、走らせると、DiskMirroringToolが
コピーしている間だけ、自作ツールの方のコピー速度もつられて(?)早くなるのです・・・。
こんなことって、何が原因で起こってるか分かりますか?VC6です。



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