[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 12/26 23:49 / Filesize : 222 KB / Number-of Response : 898
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:Part28の1000 mailto:sage [2008/02/15(金) 01:45:56 ]
Visual C++入門者・初心者からの質問を、
お兄ちゃんお姉ちゃん達が優しく、時には厳しく回答してくれるスレッドです。

■質問するにあたって
・エラーや警告のときはエラーメッセージを書きましょう。
・開発環境も書きましょう。
・できるだけ具体的に。

質問の仕方については次のページが大変参考になります。
www.hyuki.com/writing/techask.html
myu.daa.jp/osiete/

■回答するにあたって
・回答する場合はその答えに至るための「コツ」も書いてあげると良いでしょう。
 (MSDNのどの項目だとか、何のキーワードでGoogleするとか)
・ネタや煽りは軽く流しましょう。

過去スレ、関連スレなどは>>2-5辺り。

641 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 18:31:58 ]
あまり別物でないように使う事も出来るけど、
フルに機能を利用すれば全くの別物になる。

入門書は
・ 独習 C++
・ C++ プライマー 第4版
・ ロベールの C++ 入門教室
の3つを実際に店頭で読んでみて決めてみたら。

642 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 18:36:17 ]
>>639
デバッグ中の出力ウィンドウのこと?
OutputDebugStringとかOutputDebugStringFormatとか使う
MFCだとTRACEマクロもある

643 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 18:41:14 ]
>>641
なるほど、基本的な部分が似てるのなら少し安心です

前に独習Perlがすごい役にたったから今回も独習シリーズでいいや、とか思ってた
たしかに読んでみて自分に合ったの探したほうがよさそうですね。
どうもありがとうございます

644 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 19:53:10 ]
>>636
依存関係ではダメと思う。

自分は634のようにしている。

645 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 21:00:54 ]
>>643

自分は「やさしいC++」がオススメ

646 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 23:31:13 ]
>>642
アリガトン

647 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 02:55:42 ]
>>634 >>635
ありがとうございます。うまくいきました。

[プロジェクト]→[設定]→[ビルド後の処理]タブで、
出来たての.dllをコピーするコマンドを指定しました。

  copy $(TargetPath) コピー先フォルダ

これでビルド後に.dllが(対応する).exeのフォルダにコピーされ、
.exeの実行時に適切な.dllが使われるようになりました。

>あと、デバッグとリリースを分けるなら別名にしたほうがいろいろ便利だよ
考えてみます。今のところ不都合はないように思います。

>>636
>同じソリューションに入れて依存関係作っとけばよかった気がする

>>644さんのおっしゃる通り、この方法はダメでした。
1つのワークスペース(VisualC++6.0なので)に2つのプロジェクトを挿入して、
それらのプロジェクトの間に依存関係を指定してみたのですが、
うまくいきませんでした。この方法でできれば簡単で良いのですが。。。

648 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 07:19:02 ]
WNDCLASSEX wc = { sizeof(WNDCLASSEX), CS_OWNDC, MsgProc, 0L, 0L,
GetModuleHandle(NULL), NULL, LoadCursor(NULL,IDC_CURSOR1), NULL, NULL,
L"Cursor Test", NULL };

カーソルを自作カーソルIDC_CURSOR1にするにはどうすればいいんですか?
こうやるとエラーになってしまいます。

649 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 08:12:29 ]
■質問するにあたって
・エラーや警告のときはエラーメッセージを書きましょう。
・開発環境も書きましょう。
・できるだけ具体的に。



650 名前:デフォルトの名無しさん [2008/04/03(木) 08:20:17 ]
>>648
-LoadCursor(NULL,IDC_CURSOR1),
+MAKEINTERSORSE(IDC_CURSOR1)
綴りまちがってるから自分で確認して

651 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 09:06:33 ]
開発環境は2008です。

WNDCLASSEX wc = { sizeof(WNDCLASSEX), CS_OWNDC, MsgProc, 0L, 0L,
GetModuleHandle(NULL), NULL, LoadCursor(NULL, MAKEINTRESOURCE(IDC_CURSOR1)), NULL, NULL,
L"Cursor Test", NULL };

- + の意味がわからないのですが
これで実行した時のエラーは

error C2065: 'IDC_CURSOR1' : 定義されていない識別子です。
warning C4003: マクロ 'CreateWindowW' に指定された実引数の数が少なすぎます。
error C2059: 構文エラー : ')'

です。

652 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 09:38:12 ]
IDC_CURSOR1っていう名前のカーソルのリソースがないんじゃないのかい?

653 名前:デフォルトの名無しさん [2008/04/03(木) 10:09:47 ]
Windowsフォームアプリケーションだとコントロールを個別にフォントとかをプロパティで簡単に設定できるんですね。
なんでMFCだとできないんですかね。。。実はできたりするんですか?

654 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 10:14:51 ]
ポトペタRAD環境をC++で使いたいならC++Builderへどうぞ
VC++ではできません

655 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 11:50:43 ]
>>651
LoadCursor(NULL,IDC_CURSOR1) だと IDC_CURSOR1 でエラーにならないのに
LoadCursor(NULL, MAKEINTRESOURCE(IDC_CURSOR1)) だとエラーになるのはおかしいだろ。

そして、LoadCursorの第一引数がNULLなのはシステム定義アイコンを使うときだ。
hInst を入れてみ。

656 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 12:30:44 ]
だめでした。
IDC_CURSOR1 を定義する方法は、

リソースビュー>追加>リソース>cursor>新規作成
出来た resource.h をcppにインクルード

だけでいいですか?
LoadCursorのヘルプに afxwin.h が必須インクルードと書いてあるのですが、インクルードすると

#ifdef _DLL
#ifndef _AFXDLL
#error Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]

の#errorに飛んでしまいます。

657 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 15:09:25 ]
MFCのLoadCursor使うならafxwin.hが必要でMFCとしてビルドしないといけない

658 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 16:21:45 ]
もしかして>>648のエラーも
>error C2065: 'IDC_CURSOR1' : 定義されていない識別子です。
なのか?
そうでないなら出たエラー書いてみて

659 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 16:29:47 ]
あと、>>648 のその行以外は問題ないとすると
WNDCLASSEX wc = { sizeof(WNDCLASSEX), CS_OWNDC, MsgProc, 0L, 0L,
GetModuleHandle(NULL), NULL, LoadCursor(GetModuleHandle(NULL),MAKEINTRESOURCE(IDC_CURSOR1)), NULL, NULL,
L"Cursor Test", NULL };

こうだな。GetModuleHandle(NULL)がかぶってるから、
事前に呼んでとっておくといい、けどこれWinMainの第一引数なんだけどな。



660 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 18:12:45 ]
エラーが出なくなりましたが、今度はウインドウが出てこなくなりました。
正常だった記述に戻してもウインドウが出てこなくなりました。
中間ファイルもソリューションのクリーンで消しましたがだめです。WINごと再起動してもだめです。

DirectX9SDKのサンプルCreateDeviceのVS2005プロジェクトをVS2008で自動変換して取り込み自作カーソルリソースを新規作成で追加して
#include "resource.h"追加と

WNDCLASSEX wc = { sizeof(WNDCLASSEX), CS_CLASSDC, MsgProc, 0L, 0L,
GetModuleHandle(NULL), NULL, NULL, NULL, NULL,
L"D3D Tutorial", NULL };

の部分を

WNDCLASSEX wc = { sizeof(WNDCLASSEX), CS_OWNDC, MsgProc, 0L, 0L,
GetModuleHandle(NULL), NULL, LoadCursor(GetModuleHandle(NULL),MAKEINTRESOURCE(IDC_CURSOR1)), NULL, NULL,
L"Cursor Test", NULL };

に書き換えただけです。たすけてください。もう12時間これやってます^^;

661 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 18:18:42 ]
エラーが出ないって事はコンパイルできたんだろ?
そしたら次はデバッガの使い方をだな・・・

とりあえず、F10連打だ

662 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 18:53:10 ]
ああそうか!カーソルはこれでクリア出来てるってことですよね
LoadCursor(GetModuleHandle(NULL),MAKEINTRESOURCE(IDC_CURSOR1))
の意味と、CreateDeviceが失敗してるのはまた明日調べます。
まじありがとうございました。

663 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 19:00:16 ]
ちょっとサンプルみたけど、hInst でいいんじゃん。
LoadCursor(hInst,MAKEINTRESOURCE(IDC_CURSOR1))
で。前のGet・・・につられたわ

664 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 19:24:36 ]
拾ったサンプルをあてずっぽうで改造?
ほとんど何も知らないでやってる?

665 名前:644 mailto:sage [2008/04/03(木) 20:28:26 ]
>>647

dllのコピーは必要だけど、依存関係を設定するのはオススメ。
libのリンクを自動的にやってくれるし、
exeをビルドする前にdllをビルドしてくれるので、
古いdllを使ってハマルようなことがなくなる。

つまり 依存関係+ビルド後の処理でコピー と。

666 名前:647 mailto:sage [2008/04/04(金) 00:44:33 ]
>>665
なるほどです。そうしてみました。

667 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 08:56:37 ]
>>663
hInstで動きました。ありがとうございました。

668 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 00:09:59 ]
PCSX2というソフトをコンパイルしたいんですがやり方がわかりません。
プログラムについての知識0です。
勉強したいとかではなくこのソフトがほしいだけです。

Microsoft Visual C++ 2008をとりあえずインストールしましたがやり方がまったくわかりません。
サルにも判るように教えてくれる方がいれば幸いです。

ttp://www.pcsx2.net/files/10490

ttp://pcsx2.svn.sourceforge.net/viewvc/pcsx2/pcsx2/GS.cpp?view=markup&pathrev=346

669 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 00:25:00 ]
readme嫁



670 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 02:26:07 ]
勉強する気ないやつに教えるほど俺は性格良くないです

671 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 04:37:38 ]
>>668
エミュレータでタダゲーしたいんだけど、コンパイルしないといけない。
だれか手取り足取り教えろ、ということか。
…たしかに何も教える気がまったく起こらんなw 初心者には寛容なほうなのだが。

672 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 10:00:14 ]
実は頭悪いだろ、ここの人たち

673 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 10:29:33 ]
残念ながらそんな煽りに乗るほどには悪くないんだな。(w

674 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 16:45:39 ]
>>668
ここは勉強する意欲のある初心者に教えるスレであって
勉強するつもりもない素人に教えるスレではありません
お帰り下さい

675 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 20:47:50 ]
今までXPで開発していましたがPCをVistaで新調して開発したところ、
Vista機では問題なく実行できるexeがXPマシンに持っていくとアプリケーション構成エラーが出て実行できません
おそらく>>527さんとほぼ同じ症状で、/MTでコンパイルを通すと実行できるようにはなりますが
ファイルサイズが大きくなるのでできるだけ/MDにしたいです
何か良い手段はないでしょうか
VC2008を使用しています

676 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 21:08:55 ]
それが嫌なら>528の方法
それも嫌ならライブラリ使わない

677 名前:675 mailto:sage [2008/04/06(日) 21:26:15 ]
なるほど…
やはり基本的には/MTにするかランタイム導入を促す方向になるのですね
ありがとうございました

678 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 21:32:39 ]
ランタイムをインストールするのが嫌なら、
EXEと同じフォルダに置くという方法もできる。
マニフェスト関係が面倒だけど。

679 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 00:18:33 ]
intやfloatの値をLPSTRに変換するにはどうすればいいですか?



680 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 00:26:55 ]
キャスト

int i = ...;
LPSTR s = (LPSTR)i;

681 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 02:39:25 ]
すごいな。 いろいろと。 dobuleでなくて良かったとかそういう話なんだな。。

682 名前:デフォルトの名無しさん [2008/04/07(月) 03:11:47 ]
どぶれ?

683 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 06:17:22 ]
>679
CやC++でintやfloatを文字列に変換するのと同じでもいいし
apiやMFC使う方法もある

684 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 06:19:08 ]
でもfloatは対応してないのもあったかも

685 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 08:34:49 ]
>>680
オマイ天才

686 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 08:42:03 ]
2008のMFCで、チェックボックスのメンバ変数を追加して、初期化時に

変数名 = TRUE;

とすればチェックされた常態で起動されるとVC++6.0の本に書いてあるのですが
error C2679: 二項演算子 '=' : 型 'int' の右オペランドを扱う演算子が見つかりません (または変換できません)。
のエラーが出てしまいます。
VBのようにプロパティにもそれらしき項目がないです。教えてください。

687 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 09:36:44 ]
何の問題もなくできたよ

688 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 10:06:14 ]
変数を作ったら
DDX_Control(pDX, IDC_CHECK1, as);
この行が追加された。

OnInitDialog()の中に
as = TRUE;
を追加してもだめです。

689 名前:デフォルトの名無しさん [2008/04/07(月) 10:27:05 ]
このスレの住人なら知っていますね、あの糞開発ツールのことを

・自分のプログラムのバグなのかコンパイラのバグなのかわからない
・他の仕事に応用できない糞開発ツールの独自世界を必死に学習している
・テキストエディタで書いたほうが効率的なのに糞UIツールを懸命に使っている
・糞開発ツールを批判すると「性格が悪いから糞ツールを批判するんだ」と言われる

糞だけど、政治的な理由で無理やり使わされているんですよね。
もう、あんな厨の作った糞ツールを我慢して使うのはやめましょう。

・糞開発ツールを部下に押し付ける上司の命令は無視しましょう。
 上司は糞開発ツールが使われる実績を作ることであの会社のごきげんをとっているのです。
・糞開発ツールを使わせる上司の下では働けません、と上司の上司に直訴しましょう。
・あの糞開発ツール提供会社には「おたくの糞開発ツールは話にならない」と突き放しましょう。
 バグレポートなどしてはいけません。改善要求などもってのほかです。
 あの会社はあなたたちのことをテスター/モルモットとしか思っていません。
・あの会議で「糞開発ツールを使ったら生産性がxx%アップしました」
 なんて話が出たら力強く机を叩き、会議室を出ましょう。
 あの人たちは糞開発ツールをマンセーすることで立場を確保しているのです。

糞な開発ツールを糞だと言える、そんな当たり前の環境をみんなの力で取り戻しましょう。



690 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 10:48:51 ]
>>688
単にデフォルトでチェック状態にしたいなら
as.SetCheck(BST_CHECKED)
をすればいいんじゃないの?

691 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 12:21:28 ]
できました。ありががとうございます。
できましたが、わからないことを逆引きできず、きりがありません、本も相当買いましたが、VBと違いまったく応用できません
このまま一個ずつ積み重ねるしかないのでしょうか?

692 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 12:25:51 ]
MSDNで調べる癖をつけましょう
それでもわからなければWebやメーリングリストの過去ログなども使いましょう

CheckBoxの場合はCButtonというクラスの変数なのでそのメンバを調べましょう

693 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 13:01:00 ]
DDX_Controlにするから型があわない
たぶん本に書いてあるのと違うことやってる

694 名前:デフォルトの名無しさん [2008/04/08(火) 17:56:11 ]
Visual C++6.0を起動すると、

 「ワークスペースにあるウィンドウのすべてを開くことはできません。」

という意味不明なメッセージボックスが表示されることがあります。
[OK]ボタンがひとつあるだけの単純なメッセージボックスです。
このメッセージは次のように言っているように聞こえます。

「ワークスペースにはウィンドウがいくつかある。あなたはそれをすべて
開こうとした。でもそれはできない。」

???

別に困っているわけではないのですが起動時に数回に一回の割合で出現するので
気になります。一体、このメッセージボックスは何が言いたいのでしょうか?

695 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 19:13:41 ]
support.microsoft.com/kb/315617/ja
このぺージの ダイアログ ボックスでWebBrowserコントロールを使用
の部分なのですが、webbrowser2.hが存在していないエラーが出ます。2008では使えないんですか?
代りに何を使えば同じように使えるんでしょうか

696 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 19:45:02 ]
msdn2.microsoft.com/en-us/library/aa752044.aspx
ここらへんをみるとwebbrowser2.hは、該当
ActiveXからMFCクラスを生成するとできる、
って書いてあるような気がする

697 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 19:47:36 ]
>694
メニュー > ウインドウ

698 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 10:09:33 ]
そこの英語ページぜんぜんわかりません
CWebBrowser2とIWebBrowser2の違いもわかりません。
ドキュメント自体しないですよね

void CtestDlg::OnBnClickedOk()
{
//CWebBrowser2* hExp1 = (CWebBrowser2*)GetDlgItem(IDC_EXPLORER1) ;
//hExp1->Navigate2((CString*)("www.google.com/intl/ja/"), &noArg, &noArg, &noArg, &noArg);

IWebBrowser2* hExp1 = (IWebBrowser2*)GetDlgItem(IDC_EXPLORER1) ;
hExp1->Navigate2((VARIANT*)("www.google.com/intl/ja/"), NULL, NULL, NULL, NULL);
}

これで起動するとコンパイルはできるのですが、ボタンをクリックすると

test.exe の 0x78a49c05 (mfc90ud.dll) でハンドルされていない例外が発生しました
: 0xC0000005: 場所 0x8b55ffdb を読み込み中にアクセス違反が発生しました。

と出てしまいます。VC++2ヶ月でこれはまだ早いですかね

699 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 11:03:06 ]
IWebBrowser2はインターフェイスでCWebBrowser2はその実装されたクラスだけど多分難しいと思う

単に表示させたいならGetDlgItem使わずにダイアログに直接貼り付けてクラス変数作ってNavigateした方が楽だよ

なんにしてもCOMとかActiveXとかめんどくさい物を勉強した方がいいと思う



700 名前:デフォルトの名無しさん [2008/04/09(水) 15:18:28 ]
VC++6.0の初心者です。
 マウスのイベントについて教えて下さい。
 (漢字はよく読めないので、なるべく平仮名でお願う)
MFC AppWizard(exe)を使って、しゅるい はダイアログベース(D)を使います。

1つめ. ダブルホイールマウスを使ってた。
  マウスにかんけい知るイベントで、自分で調べて解ったのは
  WM_MOUSAWHEEL という奴ですが・・・ホイールが2つある、もっと、マウスで
  アプリケーションに必要な処理をおこうなうには何すれば?
   どう考えればいいでしょうか?

701 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 15:47:15 ]
日本語でOK

702 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 15:59:22 ]
ホイールが二つあるマウスのイベントを拾いたい

703 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 17:39:18 ]
横ホイールか

704 名前:デフォルトの名無しさん [2008/04/09(水) 17:39:57 ]
>>702さん。
Yes.ホイールが2つ以上あるマウスのイベントを拾いたいです。
(日本語あってる?)

705 名前:デフォルトの名無しさん [2008/04/09(水) 18:05:07 ]
VisualC++2005のMFCのダイアログベースでプログラムを作成しています。
まだ初めて1ヶ月もたってないので初歩的なことを聞いてすいません。

OnInitDIalog内の//TODO: 初期化をここに追加します。
というところで

font.CreateFont( 36,
0,
0,
0,
FW_NORMAL,
TRUE,
FALSE,
0,
ANSI_CHARSET,
OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS,
DEFAULT_QUALITY,
DEFAULT_PITCH | FF_SWISS,
"Italic");

GetDlgItem(IDC_STATIC)->SetFont(&font);

として、文字のフォントを変更しようとしました。
最初は問題なく変更できていたのですが、気づいたらいつの間にか変換できていませんでした。

ボタンを使って、ボタン動作で
GetDlgItem(IDC_STATIC)->SetFont(&font);
を行うと変更されますので、一度変更した後になんらかの理由で元に戻ってると推測していますが、その理由と場所がわかりません。

これだけの情報でわかれば教えていただけますか?

706 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 18:25:46 ]
そのfontは保持し続けてるのか?
どこで宣言してる?

707 名前:デフォルトの名無しさん [2008/04/09(水) 21:21:31 ]
long ldata[] = {0x00000000,0x00000001,0x00000002,・・・・・};

このような配列を、文字列、"0x000000000x000000010x00000002・・・・・"
と変換するにはどのようにしたらいいでしょうか。
また、この文字列を逆に配列に戻すことは可能でしょうか。



708 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 21:40:00 ]
VCというよりCかC++を勉強すれば可能

709 名前:デフォルトの名無しさん [2008/04/09(水) 21:54:15 ]
>>708
ありがとうございました。可能ということで、勉強したいと思います。



710 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 22:33:41 ]
>>709
sprintfとかで速効

711 名前:705 [2008/04/10(木) 09:50:43 ]
>706
一応グローバルで宣言してるつもりで関数の外で宣言してます。

ちなみにC言語は初心者レベルで理解してるつもりです。
まだ、簡単なソフトを1つ作っただけですが。。。初心者レベルで。

712 名前:デフォルトの名無しさん [2008/04/10(木) 10:50:01 ]
最近VisualC#2008 Expressをダウンロードして使っているものです。
質問なのですが、
イミディエイトウィンドウを使ってコマンドを入力してデバッグできる
ことを知ったのですが、普通にGUI上からデバッグするだけでは
できないことや効果的な利用方法などがあったら教えて頂きたいです。


713 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 10:53:47 ]
ここC#じゃないよ

714 名前:デフォルトの名無しさん [2008/04/10(木) 12:20:50 ]
static DWORD beforeTime = 0;
DWORD nowTime;static int fps = 0;char buff[80];

nowTime = timeGetTime();fps++;
if ( nowTime - beforeTime >= 1000 ) {wsprintf(buff, "%05d FPS\n", fps);
TextOut(hDC,1,1,buff,lstrlen(buff));fps = 0;
beforeTime = nowTime;
}
counter++;

これは某所にあった
FPSを表示するソースの一部なんだけど
これを使うと(WM_TIMERで呼ぶと)
最初の一回は00001FPSと出て、その後は25000とか二万を越える値が出ます。
どうして?

715 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 12:31:49 ]
1秒に25000回呼ばれてるんだろ

716 名前:デフォルトの名無しさん [2008/04/10(木) 12:56:24 ]
>713
あ、思いっきり間違えました!
すいません。

717 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 05:19:00 ]
リソースファイルは、Express Edition じゃビルドできないんですか?

ちなみにバージョンは2008です。

718 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 06:07:09 ]
リソースコンパイラはRC.EXE

719 名前:705 [2008/04/11(金) 10:28:39 ]
どなたかヒントだけでも教えていただけませんか?



720 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 11:27:20 ]
>>705
文字を替えたいコントロールのIDをIDC_STATICから別の名前に替えてみて


721 名前:デフォルトの名無しさん [2008/04/11(金) 12:07:17 ]
>>720
変更しましたところ、グループボックスの文字が変化しました。
グループボックスのIDもIDC_STATICになっていました。
その原因は GetDlgItem(IDC_STATIC)->SetFont(&font); でIDを変更していなかったので、
ここでGetするIDも変更したのですが、文字は変化しませんでした。

原因はこれですか??

722 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 12:40:58 ]
>>721
IDC_STATICってのは (-1) になってて
ID未設定でいいときに使うんだよ。
プログラム中で指定するなら自分でIDつけろ

723 名前:デフォルトの名無しさん [2008/04/11(金) 13:36:40 ]
>>722
ありがとうございます。
しかし、変更しましたが文字は変化しません。。。

724 名前:デフォルトの名無しさん [2008/04/11(金) 13:43:12 ]
すいません。文字変更できました!
なぜかスタティックテキストの上に全く同じスタティックテキストができていて、
上を必死に変更してたのですが、下のものが表示されてたためにいくらやっても変化しなかったようです。

コピーやペーストをした覚えはないんですが、、、


でも、おかげさまでIDのことを覚えることができました。ありがとうございました。
もっと勉強してきます!!

725 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 21:00:41 ]
しかしこのスレって土日になるととたんに書き込みなくなるよね
仕事でこんなところに書き込んでる奴ばかりなんだろうか

726 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 03:40:49 ]
仕事でか(((( ;゚Д゚))))

727 名前:デフォルトの名無しさん [2008/04/13(日) 09:24:12 ]
VC++2008ExpressでReleaseでビルドしてもtest.exeファイルが作成されません
Releaseフォルダにはtest.exe.intermediate.manifestやtest.objがあるだけです
どうすればいいですか?

728 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 09:52:27 ]
>>727
あるじゃん

729 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 10:16:14 ]
Releaseフォルダは2箇所にある。



730 名前:デフォルトの名無しさん [2008/04/13(日) 10:35:39 ]
>>727
ほんとだ

731 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 12:13:21 ]
>>727
リンクエラー出てませんか?

732 名前:デフォルトの名無しさん [2008/04/15(火) 18:04:24 ]
設定に関する質問です。
以前VisualC#2005をつかっていた時は、
括弧を閉じたりセミコロンを入れると自動でコードが綺麗に整列されて、例えば
x=5 が x = 5 というように、空白が挿入されたりインデントされたりしてたのですが、
こういった機能はVisualC++2008にはありますか?
自分でも調べたのですがよくわかりませんでした。設定方法がありましたらお願いします。
上手く説明できなくてすみません。。orz

733 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 19:18:10 ]
>>732
C++に、そういう機能はなかったはず
C#なら2008にもある

734 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 20:07:24 ]
そうですか。。回答ありがとうございました

735 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 20:50:01 ]
C#はそんなのがあるんだ。
C++は他の言語や環境と比べると不便さを感じるかもね。

736 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 21:11:22 ]
昔からVBがそうだけど、特にVCが不便と感じたことはない
逆にいちいち余計なことされるとむかつく

737 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 22:37:16 ]
VBは改行時にいちいち構文チェックしてうざかったな〜
.netになってからVBとかC#とかのインテリセンスはかなり優秀に
C#になれてたんでVC++にきたときに不便さに困った
今となっては慣れたけど

738 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 03:22:50 ]
C++ はマクロとかあるし、それ抜きにしても文法凶悪だからね。処理系的には。
賢くしづらいのはよく分かる。

739 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 03:29:29 ]
VCで極力小さい実行ファイルを作るにはどうしたら良いのでしょうか。

#include <windows.h>
int WINAPI WinMain (HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdParam, int nCmdShow)
{ return 0; }
だけをコンパイルしても24KBにもなってしまい、ビルドオプションで
サイズ優先とかしても変化せず。

変なランタイム使ったり実行ファイルが圧縮されてるわけでも無いのに、
ファイルサイズ10KB台で色々な処理をしてるまともなGUIツールが
あるんですが、何をどうしたらこう言う実行ファイルが作れるのか
皆目見当が付きません。



740 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 05:43:44 ]
既存のライブラリを使わない

741 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 06:57:12 ]
あとは/opt:nowin98だっけか。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<222KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef