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

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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2006/09/15(金) 14:04:24
1 : ◆Manna2uCLg :2005/04/15(金) 13:33:14
Visual C++入門者・初心者からの質問を、
お兄ちゃん達が優しく、時には厳しく回答してくれるスレッドです。

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

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

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

過去スレ、関連スレなどは>>2-5。
01531492006/10/26(木) 16:38:40
>>152 どうもです。おかげで googleの検索絞れました。

#pragma comment(lib, "user32.lib")
を追加したところ ビルドできました。�d☆

-[空のプロジェクト]
だとライブラリのリンクが不要で
-[windows フォームアプリケーション]
だとライブラリのリンクが必要になるのは、ちょっと不思議。
逆なら直感的に納得できるのに・・・
0154デフォルトの名無しさん2006/10/26(木) 17:01:23
フォームアプリは.netだからapi使わないのがデフォ
0155竹田箴言2006/10/26(木) 17:04:41
C++で乱数の初期化の方法が分かりません。
どなたか教えてください。
また、Cで使うrandomizeはC++では
どうなるのでしょうか。
0156デフォルトの名無しさん2006/10/26(木) 17:22:00
randomizeというのはどこの馬の骨か知らんが、
まずはCと同じようにやってみたらどうだ?
0157デフォルトの名無しさん2006/10/26(木) 17:23:04
>>155
Winと関係ないからCまたはC++のスレへ
0158デフォルトの名無しさん2006/10/26(木) 17:49:03
二次元配列のクラスを動的に確保するために3重ポインタを使って
for(int x = 0;x < X;x++)
p[x] = new Class*[Y];
for(int x = 0;x < X;x++)
for(int y = 0;y < Y;y++)
p[x][y] = new SubClass();
としました
これを解放するために
for(int n = 0;n < X;n++)
for(int m = 0;m < Y;m++)
delete p[n][m];
for(int n = 0;n < X;n++)
delete [] p[n];
delete [] p;
としたらエラーが出ました

何が問題なのでしょうか?教えてください
0159デフォルトの名無しさん2006/10/26(木) 17:50:33
すいません。ここVCの板でした・・・すいません
0160デフォルトの名無しさん2006/10/26(木) 19:43:03
>>157
この板で聞いてるんだから、CryptAPIの事なんだよ。
初期化の必要は無い。
安心して使ってくれ。
0161デフォルトの名無しさん2006/10/26(木) 23:07:42
VC2005Express Editionだとnew.hインクルードしても
bad_alloc例外使えないみたいですが
どうすれば使えますか?
0162デフォルトの名無しさん2006/10/26(木) 23:46:44
MFCを使ってプログラムを作成しております。
XMLファイルを読み込みそのファイル内容にある行を挿入し
別ファイル名で保存するようにしたいと考えてます。

CStdioFile ofp;
CString buf;
int i;

ofp.Open("c:\\test.xml", CFile::modeCreate | CFile::modeWrite);
ifp.Open("c:\\read.xml", CFile::modeRead);
i=0;
while(TRUE){
if(ifp.ReadString(buf)==NULL){
break;
}
if(i==9){
ofp.WriteString("てすと\n");
}
ofp.WriteString(buf + "\n");
i++;
}
ifp.Close;
ofp.Close;

このような感じでこの場合は10行目に行を挿入するように組んだのですが
XMLファイルはUTF-8のコードのせいか挿入する行に全角があると文字化けがおこり
うまく書き込みができませんでした。
UTF-8と指定して書き込みする方法はないかと探しましたが
ネット上ではうまく情報がみつかりませんでした。
何かしら方法はありますでしょうか?
0163デフォルトの名無しさん2006/10/27(金) 00:24:29
>>161
標準C++だと、bad_allocがあるのは<new>。
0164デフォルトの名無しさん2006/10/27(金) 01:25:39
>>162
WideCharToMultiByteでUTF-8に変換してから書き込む
0165デフォルトの名無しさん2006/10/27(金) 14:40:36
VC初めて2週間の初心者です。
WinXP SP2 VS2005を使用しています。

MDIでメニューから子ウィンドウを新規で表示したいのですが、
どのように作成したらよいか分かりません。
ご教授をお願いいたします。
0166デフォルトの名無しさん2006/10/27(金) 14:53:13
>>165
ウィザードでMDIにしたら最初からそうなってると思うけど
0167デフォルトの名無しさん2006/10/27(金) 15:12:38
すみません、言葉が足りませんでした。

メニューに新しい項目を追加して、その項目がクリックされた時に
あらかじめ作成したフォームビューを表示したいのです。
どうしたらいいでしょうか?
0168デフォルトの名無しさん2006/10/27(金) 17:31:54
メニューの追加から教えないとダメなんだろうか?
0169デフォルトの名無しさん2006/10/27(金) 17:37:43
知りたいのはクリックイベント内でのフォームの表示方法です。
分かりにくくてすみませんがよろしくお願いいたします。
0170デフォルトの名無しさん2006/10/27(金) 17:48:42
間違えました・・・orz
フォームではなくビューです。
01711612006/10/27(金) 22:53:27
>>163
さんくす!
0172デフォルトの名無しさん2006/10/28(土) 23:26:31
このページ(ttp://homepage3.nifty.com/ishidate/vcpp6_g10/vcpp6_g10.htm)
の内容をコピペして動かしたのですが、
「"0x5f477f58"の命令が"0x03ed0183"のメモリを参照しました。
メモリが"written"になることはできませんでした。」
と表示されてエラーになります。
ここ(ttp://grugru.mine.nu/file.cgi?v=guru_guru_4626.zip)に
ソースをうpしておきましたので、直すべき点を指摘していただけませんか?
0173初心者2006/10/28(土) 23:36:00
どちら様教えて、VC++プログラミングするときにひとつのボタン押して
他の.exeファイル実行できるようにどうすればいいですか??
0174デフォルトの名無しさん2006/10/28(土) 23:40:20
日本語で
0175デフォルトの名無しさん2006/10/28(土) 23:50:08
>>173
CString ss = "notepad.exe";
ShellExecute(m_hWnd,"open",ss,args,NULL,SW_SHOWNORMAL);
0176デフォルトの名無しさん2006/10/28(土) 23:52:27
>>175の args は引数、なくてもいい
CString args;
そもそも質問の答えになっているのかわからんが
0177デフォルトの名無しさん2006/10/28(土) 23:53:20
>>173
マルチは市ね
0178デフォルトの名無しさん2006/10/29(日) 02:29:28
>>172
突っ込み所がありすぎたので、大幅に書き換えた。
http://grugru.mine.nu/file.cgi?v=guru_guru_4636.zip
このアーカイブのファイルで上書きしてビルドしる。
差分画像の作成はCMyDoc::OnMenuHyoujiで処理している。
元のソースと比較すれば見当はつくはず。
あと、2バイト文字をファイル名に使うの禁止な。
0179デフォルトの名無しさん2006/10/29(日) 09:18:52
VC++2003とVC++2005とVC++6.0では、言語のバージョンが違うと聞きましたが、
どれほど違うのでしょうか?
それぞれの移行なんかは難しいものなのでしょうか?
VC++2005には問題もあり、いまだにVC++6.0を使い続けているという人も
いると聞きますが……いったいどこから入ればいいのやら……。
0180デフォルトの名無しさん2006/10/29(日) 09:31:04
旧製品は入手が難しいから特別な理由がないかぎり2005だけど
初心者の場合はVC++じゃなくてC#がお勧め
VCじゃなくてCやC++がやりたいならVC++2005でもいい。
0181デフォルトの名無しさん2006/10/29(日) 16:30:26
>>178
わざわざありがとうございました。本当に助かりました。
>あと、2バイト文字をファイル名に使うの禁止な。
今後気をつけます。
0182デフォルトの名無しさん2006/10/29(日) 20:47:24
>>180
特にそれほど変わるというわけでもないのですね。
ゲームをつくりたいので、ゲーム制作にC#はあまり向かないと聞いたのですが……。
あと、C#は配布するのが面倒というようにも聞きました。
VC++2005がよいのですね。
0183デフォルトの名無しさん2006/10/29(日) 20:57:42
> VC++2005がよいのですね。
無料だし、とりあえず触ってみると良いと思うよ。うん。
0184デフォルトの名無しさん2006/10/30(月) 00:38:45
ちょっと質問。
VC++ 2005 で、デフォルトで予約語が青色になりますが、
これに予約語を追加する方法はないでしょうか?
自分で typedef した、よく使う型を青色に変えたいのです。
0185デフォルトの名無しさん2006/10/30(月) 02:00:25
ツール→オプション
あとは適当に見てけばある
0186デフォルトの名無しさん2006/10/30(月) 08:30:25
>>185
うー、見つからないです・・・

おそらく、単語一覧?を記述したテキストか何かを読み込ませる必要があるため、
ファイルを選択できる、エディットボックス+"▼" の組を特に探したんですが・・・。
0187デフォルトの名無しさん2006/10/30(月) 11:38:14
VC++2005で開発しています。
特定のアドレスとポートに対して、ポートが開いているかどうかを
判定するプログラムを考えていますが、どのクラスのメソッドを
使えばいいでしょうか。
TcpClient.Connectだと、レスポンスがとても遅いです。
一瞬で判定できるメソッドなどないでしょうか。
0188デフォルトの名無しさん2006/10/30(月) 14:26:05
VC++6.0で開発をしています。
SDIであらかじめ用意されているCWinApp::OnFileOpenを使うときに、
ファイル名を取得するにはどうすればよいのでしょうか?
0189デフォルトの名無しさん2006/10/30(月) 14:40:09
メニュー>ファイル>開く
0190デフォルトの名無しさん2006/10/30(月) 16:41:02
>>184
usertype.datでググれ。
0191デフォルトの名無しさん2006/10/30(月) 17:01:58
質問です。
CMDIFrameWndクラス内のON_COMMANDイベントハンドラ内で
CMDIChildWndクラスのOnCreateClientイベントを呼ぶことって出来ますか?
0192デフォルトの名無しさん2006/10/30(月) 18:33:33
>>191
はぁ?
それは呼ばれるものだ
0193デフォルトの名無しさん2006/10/30(月) 22:37:50
>>190
いけました、ありがとうございました!
0194デフォルトの名無しさん2006/10/31(火) 11:56:26
VC++2005で開発しています。

ダイアログにユーザーIDを入力するエディットと
JSPを起動するボタンがあります。
JSP起動時にユーザーIDを引数として渡すことは
可能でしょうか?
0195デフォルトの名無しさん2006/10/31(火) 14:53:19
std::string のメソッド、length() と size() の違いを教えてください。
0196デフォルトの名無しさん2006/10/31(火) 15:27:52
The length() function returns the number of elements
in the current string, performing the same role
as the size() function.

らしいので、まったく同じということなんですね。
length() も size() も内部では '\0' をスキャンしているのでしょうか?
あと、resize() と reserve() の違いがわかりません。
0197デフォルトの名無しさん2006/10/31(火) 16:34:20
VC++6.0で開発をしています。
二つ以上のMIDI(a.mid,b.mid等)を同時に鳴らしたいのですが、
指定されたMIDIデバイスは既に使用されています。開放されるのを待ち、再実行してください。
とのエラーがでます。

二つ以上のMIDIファイルを同時に再生することは可能なのでしょうか?
0198デフォルトの名無しさん2006/10/31(火) 18:32:15
>>196
std::basic_stringが内部で保持する文字列はヌルで終わっている必要はない。
まあどうせc_str()があるし、ヌル終端させておく実装が多いとは思うけど。

reserveは予めメモリを確保しておくだけ。
resizeを呼ぶと、後のsize()の戻り値は、resizeで指定した値になる。
reserveを呼んでも、後のsize()はreserveを呼ぶ前と変わらない。

現在確保しているメモリの量はcapacityを呼ぶとわかる。
reserveを呼ぶとcapacity()の大きさは、reserveの引数に指定した値以上になることが保障される。
勿論reserveを呼んだとき以外でもcapacityは変化する可能性はある。
標準ライブラリのコンテナは何かにつけて多めにメモリを確保する傾向がある。
0199デフォルトの名無しさん2006/10/31(火) 20:56:57
Windows では Application Data などのディレクトリのフルパスはどのようにして取得しますか?
UNIX におけるドットファイルに相当するユーザ毎の設定ファイルの置き場を探しています。
0200デフォルトの名無しさん2006/10/31(火) 21:09:07
ここでパソコンの使い方質問されてもな
0201デフォルトの名無しさん2006/10/31(火) 21:27:42
1×3の分割ウィンドウで、全てフォームビューです。
それぞれにボタンを配置し、クリックすると各ペインの
サイズを拡縮したいのですが、どのようにしたらよいでしょうか?
0202デフォルトの名無しさん2006/10/31(火) 21:33:42
分割ウィンドウといってもいろいろあるし
0203デフォルトの名無しさん2006/10/31(火) 21:40:16
すみません、情報不足でしたね
CSplitterWndクラスののCreateViewで作成しました。
0204デフォルトの名無しさん2006/10/31(火) 21:45:08
>>197
> 二つ以上のMIDIファイルを同時に再生することは可能なのでしょうか?

サウンドカードによるんじゃないか?
ってプログラミングの話か?
0205デフォルトの名無しさん2006/10/31(火) 21:50:08
>>203
CSplitterWndのメンバ関数でできなかった?
ビューからやる方法がわからないということ?
0206デフォルトの名無しさん2006/10/31(火) 21:53:14
>>204
プログラミングの話です。
新VisualC++6.0のサンプルを見ながら実装してみたのですが、
二つ以上同時再生ができませんでした。
何か方法のでしょうか。
0207デフォルトの名無しさん2006/10/31(火) 21:57:42
はい。ビューからCSplitterWndクラスのメンバ関数を使用する
方法が分かりませんでした。
0208デフォルトの名無しさん2006/10/31(火) 22:39:27
GetParent
0209デフォルトの名無しさん2006/10/31(火) 23:06:55
AfxGetMainWnd
0210デフォルトの名無しさん2006/11/01(水) 08:31:35
app
 メインフレーム
  スプリッタ

こんな風になってると仮定して
appのポインタわかれば
app->メインフレーム->スプリッタ

メインフレームのポインタわかれば
メインフレーム->スプリッタ
02112072006/11/01(水) 11:57:39
>>208-210

GetParentFrameで親フレームのポインタを取得することで
CSplitterWndクラスのメンバ変数にアクセスできました。
ありがとうございます。
02122072006/11/01(水) 14:58:59
また新たな問題が発生したので質問させていただきます。

現在アクティブなペインを取得するため、GetActivePane関数
を使用しようとしたのですが、

error C2248: 'CSplitterWnd::GetActivePane' : protected メンバ
(クラス 'CSplitterWnd' で宣言されている) にアクセスできません。

というエラーが出てしまいました。解決方法を教えてください。
02132072006/11/01(水) 15:11:52
自己解決しました。
02142072006/11/01(水) 23:28:02
たびたびすみません、もうひとつ質問です。

分割バーがドラッグされたかどうかを認識するため、
CSplitterWndの派生クラスを作成し、OnLMouseDown、
OnMouseMoveイベントをマップしたのですが、なぜか
関数がよばれません、なにかほかに必要なことがあれば
教えてください。よろしくお願いいたします。
0215デフォルトの名無しさん2006/11/02(木) 18:48:27
何がやりたいか知らんけど
分割バーまでいじるんだったら
自分で分割ウインドウ作った方が簡単じゃないか?
02162072006/11/02(木) 20:39:47
解決しました。
派生クラスのメンバ変数を作成していないのが原因でした。
お騒がせいたしました。
0217デフォルトの名無しさん2006/11/02(木) 21:26:27
よくそれで動いたな
02182072006/11/02(木) 21:45:22
すみません間違えましたorz
>派生クラスのメンバ変数を作成していないのが原因
ではなく
派生クラスのメンバ変数を使用してスプリッタウィンドウ
を作成していないのが原因
です。
0219デフォルトの名無しさん2006/11/03(金) 08:34:32
VC++ プロジェクトで、Debug で指定していて Release で指定していないプリプロセッサが
あります。指定は、プロジェクトのプロパティのプリプロセッサでしています。
構成を Release にしたときに、このマクロで #ifdef している部分が「アクティブな
プリプロセッサブロック」となってしまいます。Release のときは IntelliSense で灰色に
してほしいのですが、どのようにすればよいでしょうか。
02202192006/11/03(金) 08:38:16
>>219
バージョン書き忘れました。すみません。VC++2005です。
0221デフォルトの名無しさん2006/11/03(金) 10:41:58
【初心者歓迎】C/C++室 Ver.32【環境依存OK】 より:

引数を調べるプログラムで

int _tmain(int argc, _TCHAR* argv[])
{
int i;
printf("argcは %dです。\n",argc);

for(i=0; i < argc; i++)
printf("argv[%d]=%s\n", i, argv[i]);

printf("おしまいっ!\n");
rewind(stdin);
getchar();
return 0;
}

a.exe abc def
と引数を入れても、
Visual C++ 2005では C a d と、最初の1文字しか出ません。

277 名前: デフォルトの名無しさん [sage] 投稿日: 2006/11/03(金) 10:28:05
>>276
Unicode文字列をascii文字列として出力しようとしているから。
詳しくはVSスレなりどこへでも。

とのことですが、
どうすればいいのでしょうか
0222デフォルトの名無しさん2006/11/03(金) 11:01:27
文字コード変換するか、wprintf使うか、%ls。
環境依存になるが、UNICODE/非UNICODEどちらの設定でもコンパイルできるようにしたければ_tprintf。
0223デフォルトの名無しさん2006/11/03(金) 11:18:25
>>222
出来ました
ありがとうございます。
0224デフォルトの名無しさん2006/11/03(金) 13:52:39
【環境依存OK】 だからそっちでいいんだよ
誘導したやつが間抜け
あとwprintfや_tprintfとかいらんこと教えられて今後の人生が思いやられる
0225デフォルトの名無しさん2006/11/03(金) 16:43:53
>>224
アホか
0226デフォルトの名無しさん2006/11/03(金) 19:06:30
質問です。
起動する実行ファイル名を取得したいのですが
可能でしょうか?
VS2005 MFCを使用しています。
0227デフォルトの名無しさん2006/11/03(金) 19:17:58
エディタの配色について質問です。
STDのvectorや、size_tなどVC++内に組み込まれている関数を、
int や double のように水色で表示させる方法を教えてください。
0228デフォルトの名無しさん2006/11/03(金) 19:54:27
>>226
たぶんgetで始まるapiで可能

>>227
水色は知らない
0229デフォルトの名無しさん2006/11/03(金) 20:44:45
>>227
ツール→オプション→フォントおよび色
もしくは
usertype.dat
0230デフォルトの名無しさん2006/11/03(金) 21:18:50
あんまり使わないから忘れてたけど、こんなのもあった。
m_pszExeName
0231デフォルトの名無しさん2006/11/04(土) 01:07:48
C++で、写真の拡大とか縮小って出来ますか??
0232デフォルトの名無しさん2006/11/04(土) 01:36:21
現像なら写真屋さんに持って行きましょう
0233デフォルトの名無しさん2006/11/04(土) 10:10:03
visual C++ 2005 Express で
デバッグ時に標準ライブラリ関数にステップインする方法を教えて下さい。
ソースをインストールして、マイコードのみステップインを無効にしましたがNGでした。
もちろん、デバッグのときにはステップイン操作を行っています。
お手上げです。
0234デフォルトの名無しさん2006/11/04(土) 10:43:00
標準ライブラリのソースをどっかから盗んできてexpressに入れたということ?
0235デフォルトの名無しさん2006/11/04(土) 10:57:43
派生クラスのダウンキャストはダメとかよく書いてあるけど、じゃあこういうケースの場合どうすればいいんですか?

class CBase { ... public: virtual int vfunc() = 0; }
class A : public CBase { ... public: int kazuA; int vfunc() { return kazuA; } }
class B : public CBase { ... public: int kazuB; int vfunc() { return kazuB; } }
...
... std::vector<CBase*> objList;
... objList.push_back( static_cast<CBase*>( new A ) );
... objList.push_back( static_cast<CBase*>( new B ) );
0236デフォルトの名無しさん2006/11/04(土) 11:08:42
>... objList.push_back( static_cast<CBase*>( new A ) );
>... objList.push_back( static_cast<CBase*>( new B ) );
この場合static_castはイラン。

ダウンキャストは別にダメではない。
dynamic_castがあるし、オブジェクトの本当の型がわかっているのならstatic_castでもいい。
0237デフォルトの名無しさん2006/11/04(土) 11:27:42
>>234

>>233です。

>標準ライブラリのソースをどっかから盗んできてexpressに入れたということ?
Platform SDK についていたソースをインストールしました。
たとえば、printf()にステップインしたい場合どうすればよいのでしょうか?

盗人じゃないよ(^^;)
0238デフォルトの名無しさん2006/11/04(土) 11:34:19
ソース以外にデバッグバージョンのライブラリとデバッグ情報が必要
ステップインは普通にやれば勝手に中に入っていく
0239デフォルトの名無しさん2006/11/04(土) 15:03:23
参考書片手に初めてちょっとしたプログラムを作っている学生です。
メインウインドウの中にいくつかエディットコントロールや
ボタンを配置したいと思っているのですが、
ダイアログボックスを作ってそれをメインウインドウにはめ込む
なんていうことはできるのでしょうか?

何個もCreateWindowを書くやり方しか知らず、
他にやり方はないかなと本を読んだりググったのですが
わかりませんでした。
0240デフォルトの名無しさん2006/11/04(土) 15:20:02
ダイアログを作る時に親を指定すればそこに張り付く
02412392006/11/04(土) 15:37:35
>>240
ダイアログを見直して、スタイルをオーバーラップにしたら
はりついてくれました。初歩的すぎてごめんなさい・・・。
ありがとうございました。
0242デフォルトの名無しさん2006/11/04(土) 17:56:23
WS_CHILDを指定しないと、所有関係になっちゃわないか?
02432392006/11/05(日) 16:48:40
貼り付けるダイアログボックスはモードレスにしていたんですが
うっかりDialogBoxマクロで組んでしまっていました・・。
これをCreateDialogに修正したらまた見えなくなって。
今はダイアログボックスのプロパティをいじくってます。

親っていうのはメインウインドウのハンドルのことでしょうか?
242さんのWS_CHILDも含めて理解が足りてないので
もうちょっと勉強してきます。失礼しました。
0244デフォルトの名無しさん2006/11/05(日) 16:51:16
親って言うのは親分の事だ
02452352006/11/07(火) 03:19:29
>>236
ごめん。問題としている問題を間違えました。ダウンキャストじゃなかった。
0246デフォルトの名無しさん2006/11/07(火) 16:10:04
実行結果をノートパッドなどに出力する方法教えてください・・・
0247C++ 一年生2006/11/07(火) 17:24:29
SetWindowsHookExについて質問!

キーストロークフックをグローバルフックで取りたくて
VS2005(アカデミック版)、winXP,併用ソフトはATOK、シマンテックアンチウイルス
DLLこさえて 宣言は
class __declspec(dllexport) Hook{
public: static int makeKhook();..........................}
     
定義を
int Hook::makeKhook()
{
hHOOKKEY = (HOOKPROC)KeyboardProc;
   hhk = SetWindowsHookEx(WH_KEYBOARD,// フックタイプはキーストローク
hHOOKKEY,// フック処理プロシジャへのポインタ
NULL,//フックプロシジャは同一ファイルで記述
0);// 対象スレッドはすべて
if (hhk == NULL)
{ MessageBox(hWnd,TEXT("フックかけられないじょ"),TEXT("Error"),MB_OK); return 0;}
return 1 ;}

とすると 毎回フックが設定できない。(必ずhhk == NULL で戻ってくる)

それで、ヘルプのSetWindowsHookExの記述を見ると、
「解説:hMod パラメータで NULL を指定し、dwThreadId パラメータで 0 またはほかのプロセスが作成したスレッドの識別子を指定すると、エラーが発生することがあります。」と書いてある。

これは、グローバルフックをかけたければフック設定とフック処理のDLLを分けろ
と言うことなんでしょうか。EXE側で、ほとんど同じコードでフックをかけようとする
と100%うまく行くのですが、ローカルフックにしかならない。
それとも、なにか別にオタンコな事やっていてセットできないだけ? ご教示下さい。
0248デフォルトの名無しさん2006/11/07(火) 17:28:20
>>246
実行結果をノートパッドなどに出力するプログラムを作る
0249デフォルトの名無しさん2006/11/07(火) 20:57:16
質問です。

DateTimePickerコントロールのValueを空白で表示することは
可能でしょうか?エディットに置き換える方法もあるのですが
あまりコントロールを増やしたくないので・・・
よろしくお願いします。
0250デフォルトの名無しさん2006/11/07(火) 22:17:41
質問です

resource.hの中のリソースIDの中身を変更したら

resource.h
このファイルはMicrosoft Developer Studio以外で修正されています。○○.rcを再ロードしますか?

とでてきてここで「はい」を選んだらダイアログ画面などが開けなくなってしまいました。

どうしたらよいでしょうか?
0251デフォルトの名無しさん2006/11/07(火) 22:38:29
>>250
コントロールに振られているリソースIDを間違って削除したんじゃない?
0252デフォルトの名無しさん2006/11/08(水) 01:08:23
スタティックライブラリ(*.lib)を作成し、配布したいと考えています。
libができたのでテストアプリにリンクしてビルドしたところ、以下の
warningがでてしまいました。libの利用者が意識することなく、
このwarningを解消したいと思っているのですが、方法をご存知の
方がいましたら教えて頂けませんか。

・warningメッセージ
d:\projects\testlib\src\hoge.h(11) : warning C4142: 型が再定義されていますが、それはコード生成上何の効果もありません。

・上記行数にあるコード
typedef unsigned long U_INT32;

ライブラリをビルドする際に宣言されたtypedefが、アプリを
ビルドするときにも有効のまま残ってしまっているのだと推測
しているのですが、どう解消したらよいのか見つけられていません。

作業環境は以下のとおりです。
Windows XP Home SP2
MS VC++ 2005 Express Edition
MS Platform SDK for Win Svr 2003 SP1

よろしくお願いいたします。
■ このスレッドは過去ログ倉庫に格納されています