★初心者にVisual C++を教えるスレ★ Part27
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2007/09/10(月) 12:20:27Visual C++入門者・初心者からの質問を、
お兄ちゃん達が優しく、時には厳しく回答してくれるスレッドです。
■質問するにあたって
・エラーや警告のときはエラーメッセージを書きましょう。
・開発環境も書きましょう。
・できるだけ具体的に。
質問の仕方については次のページが大変参考になります。
http://www.hyuki.com/writing/techask.html
http://myu.daa.jp/osiete/
■回答するにあたって
・回答する場合はその答えに至るための「コツ」も書いてあげると良いでしょう。
(MSDNのどの項目だとか、何のキーワードでGoogleするとか)
・ネタや煽りは軽く流しましょう。
過去スレ、関連スレなどは>>2-5。
0002デフォルトの名無しさん
2007/09/10(月) 12:21:02Part25 ttp://pc11.2ch.net/test/read.cgi/tech/1168354839/
Part24 ttp://pc10.2ch.net/test/read.cgi/tech/1158296664/
Part23 ttp://pc8.2ch.net/test/read.cgi/tech/1140711893/
Part22 ttp://pc8.2ch.net/test/read.cgi/tech/1131443284/
Part21 ttp://pc8.2ch.net/test/read.cgi/tech/1124806288/
Part20 ttp://pc8.2ch.net/test/read.cgi/tech/1120222322/
Part19 ttp://pc8.2ch.net/test/read.cgi/tech/1116209988/
Part18 ttp://pc8.2ch.net/test/read.cgi/tech/1113539594/
Part17 ttp://pc8.2ch.net/test/read.cgi/tech/1107926989/
Part16 ttp://pc8.2ch.net/test/read.cgi/tech/1101022051/
Part15 ttp://pc5.2ch.net/test/read.cgi/tech/1097880265/
Part14 ttp://pc5.2ch.net/test/read.cgi/tech/1093672937/
Part13 ttp://pc5.2ch.net/test/read.cgi/tech/1089011118/
Part12 ttp://pc5.2ch.net/test/read.cgi/tech/1083585833/
Part11 ttp://pc5.2ch.net/test/read.cgi/tech/1077965179/
Part10 ttp://pc5.2ch.net/test/read.cgi/tech/1074933908/ ※
Part09 ttp://pc5.2ch.net/test/read.cgi/tech/1068983609/ ※
Part08 ttp://pc5.2ch.net/tech/kako/1063/10630/1063029371.html
Part07 ttp://pc5.2ch.net/tech/kako/1056/10562/1056280510.html
Part06 ttp://pc5.2ch.net/tech/kako/1052/10529/1052931903.html
Part05 ttp://pc5.2ch.net/tech/kako/1048/10486/1048698321.html
Part04 ttp://pc5.2ch.net/tech/kako/1044/10441/1044196393.html
Part03 ttp://pc5.2ch.net/tech/kako/1038/10381/1038160750.html
Part02 ttp://pc3.2ch.net/tech/kako/1030/10309/1030985362.html
Part01 ttp://pc3.2ch.net/tech/kako/1023/10235/1023530449.html
0003デフォルトの名無しさん
2007/09/10(月) 12:21:37■MFC相談室 mfc18d.dll■
http://pc11.2ch.net/test/read.cgi/tech/1185917008/l50
Win32API質問箱 Build57
http://pc11.2ch.net/test/read.cgi/tech/1189255282/l50
【C++】 DirectX初心者質問スレ Part14 【C】
http://pc11.2ch.net/test/read.cgi/tech/1182351826/l50
【ISO/ANSI/JIS】 C言語なら俺に聞け! Part 131
http://pc11.2ch.net/test/read.cgi/tech/1170338926/l50
C++相談室 part56
http://pc11.2ch.net/test/read.cgi/tech/1185377587/l50
C/C++の宿題を片付けます 95代目
http://pc11.2ch.net/test/read.cgi/tech/1187944110/l50
【初心者歓迎】C/C++室 Ver.42【環境依存OK】
http://pc11.2ch.net/test/read.cgi/tech/1188748806/l50
【関連サイト】
猫でもわかるプログラミング
http://www.kumei.ne.jp/c_lang/
MSDN ライブラリ ※変更された
http://msdn.microsoft.com/library/ja/
http://msdn2.microsoft.com/ja-jp/library/ (2005のことはこっち)
Platform SDK Update ※変更された
http://www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en
http://www.google.co.jp/
0004デフォルトの名無しさん
2007/09/10(月) 12:22:16part 1 ttp://piza.2ch.net/tech/kako/970/970607517.html
part 2 ttp://piza.2ch.net/tech/kako/981/981630730.html
part 3 ttp://piza2.2ch.net/tech/kako/993/993186053.html
part 4 ttp://pc.2ch.net/tech/kako/1002/10021/1002165477.html
part 5 ttp://pc.2ch.net/tech/kako/1006/10068/1006834463.html
part 6 ttp://pc.2ch.net/tech/kako/1011/10116/1011615035.html
part 7 ttp://pc.2ch.net/tech/kako/1017/10178/1017843192.html
part 8 ttp://pc.2ch.net/tech/kako/1022/10224/1022499000.html
part 9 ttp://pc5.2ch.net/tech/kako/1036/10368/1036897197.html
テンプレ終わり。
0005デフォルトの名無しさん
2007/09/10(月) 12:40:44ヽ
____ }
_, -‐ 二 -―‐- 、`ヽ、_
ィ=ー-、/ ヽ `ヽ、
, '´ \ \
/ / `ヽ 丶 ヽ
, '⌒ / /: / /! l 丶 ヽ ',
/ /// / / / / l ヽ \ ハ l
〃 / l l | l ∨' ヽ ヽー-、 lヽ l l
. !l l | | j_{ _,ノ \ l\`ー弋ニ T l j | |
. !{ | l l l 乏≠ミ \l >fテ示ヾjl | ./ l i l、
ヽ ヽ .N ヽ l{i |ヘiii::l lヘiii:::} i}| j∧リ. i lヘ
\ヽ j小 と)_;ソ r'_;;(つ/ イノ ヽjハ
`ト ハ ゚:::::::. ' .:::::゚ __/‐<ヘ ヽ ヽ >>1乙でごわす
l: 八 (⌒¨¨⌒ヽ 〃´ ̄`ヽ、ム \ヽ
ノ l> 、 ´ ̄ `´ / `ヘ ヾ',
/ l {>ー <{ ∧ i \
l /l l / l / ∧ l \
| l∧ ` ヽ _ / l // ヽ |ヽ、 ヽ
0006デフォルトの名無しさん
2007/09/10(月) 13:46:18こういうときは、
#pragma warning(push, 0)
#include "....h"
...
#pragma warning(pop)
で、いいでしょうか
0007デフォルトの名無しさん
2007/09/10(月) 22:58:00俺は今後VCを使う日がくるのでしょうか?
(VS2003は持ってる)
本を整理中なんですが、VC、MFC、Win32API、VBあたりの入門的な本を
売っちゃうか悩み中です・・・。
0008デフォルトの名無しさん
2007/09/10(月) 22:58:570009デフォルトの名無しさん
2007/09/11(火) 08:40:05空白でストップしますが、二重引用符で囲んでいる場合は
その間は空白も読み込むようにはできないでしょうか?
ファイル名をストリームで読み込もうとしているのですが、
空白を含むファイル名も扱えるようにしたいのです。
0010デフォルトの名無しさん
2007/09/11(火) 09:14:32自前で解析するしかないと思う。
空白も含めて読み込むことは、
std::getline関数か、std::noskipwsマニピュレータと>>を使うかで可能。
0011デフォルトの名無しさん
2007/09/11(火) 09:28:100012デフォルトの名無しさん
2007/09/11(火) 10:10:10入門書は売っちゃってもいいけど、中級以上
APIの本とかは残しておくのがいいと思う
自分の場合、今でもPC9801の本とか、ターボアセンブラについていた、オペコード一覧とか
重宝してるよ
0013デフォルトの名無しさん
2007/09/11(火) 13:20:16デバッグ無しで実行するとエラーが表示されます。
以下にソースとエラーpngが入っています。
どなたか、どこがおかしいか指摘してくれませんでしょうか。
お願いします。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4915.lzh
0014デフォルトの名無しさん
2007/09/11(火) 13:26:480015デフォルトの名無しさん
2007/09/11(火) 15:01:43マクローリンのスペル違うぞw
でもこっちの方がなんかいいなw
0016デフォルトの名無しさん
2007/09/11(火) 16:06:18どうやってデバックして問題ないと判断したのか、その過程を示せ。
-3から3まで0.1刻みのループでは60回繰り返すけど、それは確認したのか。
0017デフォルトの名無しさん
2007/09/11(火) 17:24:46001813
2007/09/11(火) 18:39:07解いてる最中に、どう表示されるかを見ようと思い
デバッグ→OK デバッグ無しで実行→BAD
で、デバッグポイントつけてステップインして
デバッグしまくっても、問題なく終了。
で、VS2005のどっかがおかしくなったのかと思い
VSを修復。
そんで再度、デバッグ無しで実行したら
数値は出て、エラーは出ませんでした。
ま、そんなところです。
0019デフォルトの名無しさん
2007/09/11(火) 18:42:210020デフォルトの名無しさん
2007/09/11(火) 18:56:38宿題スレの確認ならまあその程度だろうけど、それでは普通デバッグしたことに
ならない。
>>16で答え言ったつもりだったんだけど、60要素分の書き込みに対し、
領域を10要素分しか確保してないからオーバフローして領域破壊しているだけ。
計算の目的知らないけど、単純に考えれば、Ansの第3パラメタが60か、または
Ans関数内のdxの刻みが0.6か、どちらかが違っていると思う。
0021デフォルトの名無しさん
2007/09/11(火) 19:33:01Windowsで外字「㈰」を含むファイル・フォルダ名が、コピー、削除、リスト表示もできません。
CopyFile()、GetCurrentDirectory()などで取り扱えません!!!
でも、dir コマンドはできます。dir>file とリダイレクトすると、fileの中で
この外字は ? に変換されてしまいます!
誰か回避策教えてちょんまゲ。
文字コードは"\x85\x40" です。よろピク。
0022デフォルトの名無しさん
2007/09/11(火) 19:41:260023デフォルトの名無しさん
2007/09/11(火) 19:54:22使えない字は使ってはいけない
0024デフォルトの名無しさん
2007/09/11(火) 20:02:37同じ外字(機種依存文字)でも�@などはおk。
0025デフォルトの名無しさん
2007/09/11(火) 20:03:290026デフォルトの名無しさん
2007/09/11(火) 20:36:08シフトJISに対応する文字が無いから化けるだけじゃねえの?
Unicode系のAPIを呼ぶように修正しろ。
0027デフォルトの名無しさん
2007/09/11(火) 20:36:37�@は外字でもないし、
Unicodeに収録されているので、もはや機種依存文字ですらない。
0028デフォルトの名無しさん
2007/09/11(火) 20:46:09このフォルダーがあることさえも検出できません。
このフォルダを dir>file としてfileを見ても アスキーの'?' に置き換えられているので
㈰ があることが検出できないのが問題です。消そうと思ってもアクセスできません。
0029デフォルトの名無しさん
2007/09/11(火) 20:49:18http://bird.zero.ad.jp/~zar26542/keio/let_table/tableaux/char.html
0030デフォルトの名無しさん
2007/09/11(火) 20:53:59Unicode系のAPIとは何でしょうか。教えていただければ幸いです。
0031デフォルトの名無しさん
2007/09/11(火) 21:09:34末尾がWで終わるWin32API群。
例えばCreateFileに対してCreateFileWといった具合。
文字や文字列引数がみなWCHAR (wchar_tのtypedef)を使ったものになっている。
0032デフォルトの名無しさん
2007/09/11(火) 21:17:14ああ、見たことあります。やってみます。
アリガト
0033デフォルトの名無しさん
2007/09/11(火) 22:06:430034デフォルトの名無しさん
2007/09/12(水) 10:45:390035デフォルトの名無しさん
2007/09/12(水) 11:00:290036デフォルトの名無しさん
2007/09/13(木) 19:01:100037デフォルトの名無しさん
2007/09/13(木) 21:06:580038デフォルトの名無しさん
2007/09/13(木) 21:13:56Visual Studio とは何でしょうか?
初心者ですいません・・・
0039デフォルトの名無しさん
2007/09/13(木) 21:27:10VisualStudioはVC++やC# VBなどでWindowsを開発できる統合開発環境です。
アナルは開発できません。
0040デフォルトの名無しさん
2007/09/13(木) 22:11:33仕事で必要というのでなければ、VC6はお勧めしない。
OS対応については下のページを参照。
http://www.microsoft.com/japan/msdn/vstudio/support/tools.aspx
0041デフォルトの名無しさん
2007/09/13(木) 22:25:142005EE入れたけどVC6の方が良い
0042デフォルトの名無しさん
2007/09/13(木) 22:28:19C++98の準拠度もカス
よってC++を使うならVC6は
0043デフォルトの名無しさん
2007/09/13(木) 22:36:43Windows 2000 に Visual Studio 6.0 いれて
MediaPlayer 9 いれたら
Visual C++ Run-time Error で
エクスプローラがめちゃめちゃ落ちるようになたな。
あまりおすすめはしない
0044デフォルトの名無しさん
2007/09/14(金) 07:28:09Visual Studio入れたら何かとエラー起こすのは昔からお約束。
0045デフォルトの名無しさん
2007/09/14(金) 07:29:31MediaPlayer 9 いれたら何かとエラー起こすのは昔からお約束。
0046デフォルトの名無しさん
2007/09/14(金) 09:34:130047デフォルトの名無しさん
2007/09/14(金) 11:36:260048デフォルトの名無しさん
2007/09/15(土) 01:57:40コンソールもでないし。ソースはよくあるmainにcoutだけのやつです。
0049デフォルトの名無しさん
2007/09/15(土) 02:03:21シュールだ。
0050デフォルトの名無しさん
2007/09/15(土) 02:23:08言われるし.hを取ると今度はcoutが定義されてない識別子。実行はデバッグなしで開始で
いいんですよね?
0051デフォルトの名無しさん
2007/09/15(土) 02:31:08using namespace std;
もっと基礎を勉強しろ
0052デフォルトの名無しさん
2007/09/15(土) 02:48:020053デフォルトの名無しさん
2007/09/16(日) 05:34:49バージョン情報には変化がありません。確認する方法はないのでしょうか。
0054デフォルトの名無しさん
2007/09/16(日) 06:59:35コントロールのIDは合ってます。HWNDはダイアログボックスの引数です。
0055デフォルトの名無しさん
2007/09/16(日) 08:23:200056デフォルトの名無しさん
2007/09/16(日) 08:27:57コントロールのIDは合ってるつもりなだけ。HWNDにダイアログボックスのハンドルを指定していない。
HWNDがスコープの範囲外である。
0057デフォルトの名無しさん
2007/09/16(日) 09:59:33。ありがとうございました。
0058デフォルトの名無しさん
2007/09/16(日) 21:01:42CPen *oldPen;
oldPen = pdc1->SelectStockObject(BLACK_PEN);
これで
error C2440: '=' : 'CGdiObject *' から 'CPen *' に変換できません。
とerrorが出るのですが、本に書いてあるとおりやってるだけなのですがなぜダメなのでしょうか?
005958
2007/09/16(日) 21:10:10CDC* pdc1 = GetDC();
CPen myPen(PS_SOLID, 1, RGB(0, 0, 0));
CPen *oldPen;
oldPen = pdc1->SelectObject(myPen);
です
0060デフォルトの名無しさん
2007/09/16(日) 21:17:37×oldPen = pdc1->SelectObject(myPen);
○oldPen = pdc1->SelectObject(&myPen);
006158
2007/09/16(日) 21:36:14ありがとうございました
0062デフォルトの名無しさん
2007/09/17(月) 00:12:35006358
2007/09/17(月) 00:29:01工学社 Visual C++ .NET ゲーム制作教科書 片山幸雄著 の39ページ40ページです
もちろん他の部分から類推できるものなのでそれができなかったのは私がバカなのですが
0064デフォルトの名無しさん
2007/09/17(月) 00:53:59デジタルなら簡単に出来るんですが。
どなたかご教授お願いしますorz
0065デフォルトの名無しさん
2007/09/17(月) 01:05:55文字盤の上に、時分秒に従い角度を計算して針を書くだけ
注意点としては針を進めるとき、下の針を消してから新しい針を書くのではなく、
ダブルバッファリングという手法を使って画面を更新すること
これだけ注意すれば問題ないはず
0066デフォルトの名無しさん
2007/09/17(月) 01:23:37ダブルバッファリングですか。
難しそうですが、頑張ってみます。
ありがとうございました。
0067デフォルトの名無しさん
2007/09/17(月) 08:20:56サンプル動かして見たけど特にそれで問題ない
0068デフォルトの名無しさん
2007/09/18(火) 01:21:43どうすればいいのか解りません。よろしくお願いします
0069デフォルトの名無しさん
2007/09/18(火) 01:29:420071デフォルトの名無しさん
2007/09/19(水) 13:53:380072デフォルトの名無しさん
2007/09/19(水) 14:00:02眠れなければ医者へかかりましょう。
0073デフォルトの名無しさん
2007/09/19(水) 14:13:070074デフォルトの名無しさん
2007/09/19(水) 14:22:280075デフォルトの名無しさん
2007/09/19(水) 17:15:100076デフォルトの名無しさん
2007/09/19(水) 17:20:22無理して徹夜するよりきっぱり定時に帰って
明日朝からしゃきっとがんばった方が効率が良いと思って
早朝7時くらいに出社して徹夜するはずだった分を補填しようとするけど
結局5分遅刻して(;´Д`)
0077デフォルトの名無しさん
2007/09/19(水) 17:47:550078デフォルトの名無しさん
2007/09/19(水) 19:56:190079デフォルトの名無しさん
2007/09/19(水) 20:25:470080デフォルトの名無しさん
2007/09/20(木) 00:20:56vector< char >のサイズを動的に確保する配列を使いたくて、
vector <char> *vec;
vec = new vector<char>[ size ];
delete[] vec;
としたのですが、コンパイル時にdeleteのところで、「配列のdeleteは合わないから*(ポインタ)と解釈するよ」
という旨のワーニングが出ます(開発環境が手元にないのでうろ覚えです)
実行するとdeleteの行で落ちます。
配列の形式でnewしたら配列の形式でdeleteすると理解していて、上記のように書いたのですが、
どういう形でdeleteするのが正しいのでしょうか。
よろしくお願いします。
0081デフォルトの名無しさん
2007/09/20(木) 00:54:33何か間違ってないか?
VC6起動して試したけどワーニング出ない
実行エラーにもならない(上記3行だけだけど)
0082デフォルトの名無しさん
2007/09/20(木) 01:01:160083デフォルトの名無しさん
2007/09/20(木) 01:40:54死ね
0084デフォルトの名無しさん
2007/09/20(木) 14:50:370085デフォルトの名無しさん
2007/09/20(木) 14:55:45二次元データを扱うために、vector<vector<float> >なんて使い方するのは常套手段だが。
>80の使い方なら確かに気色悪いと思う。
0086デフォルトの名無しさん
2007/09/20(木) 16:44:18いや、当然>80の話よ。vectorの意味を理解してない気がするので。
0087デフォルトの名無しさん
2007/09/20(木) 18:54:25こうしたいだけだよな>>80は
0088デフォルトの名無しさん
2007/09/20(木) 19:30:460089デフォルトの名無しさん
2007/09/20(木) 21:53:53vector<list<vector>::iterator>
でいいじゃん
0090デフォルトの名無しさん
2007/09/21(金) 01:29:230091デフォルトの名無しさん
2007/09/21(金) 01:39:460092デフォルトの名無しさん
2007/09/21(金) 02:02:10死ね って言ってる理由が分からないんだが。
vector<vector<char> > は何か問題あるの?
0093デフォルトの名無しさん
2007/09/21(金) 02:26:14スルー推奨
0094デフォルトの名無しさん
2007/09/21(金) 22:15:06Resource.hにじかに編集?
0095デフォルトの名無しさん
2007/09/21(金) 22:38:380096デフォルトの名無しさん
2007/09/21(金) 22:51:020097デフォルトの名無しさん
2007/09/21(金) 23:10:50resource.h を直接編集してますね
個人的に気をつけてるのは、プロジェクトを閉じてから編集を開始するのと
編集後.apsファイルは削除しておくことくらい
0098デフォルトの名無しさん
2007/09/21(金) 23:57:57設置してあるボタンを押したあとだとキー入力を受け付けてくれません。
原因は何でしょうか?
0099デフォルトの名無しさん
2007/09/22(土) 00:03:53CreateWindowW(
とすると引数の情報が出てくるんですけど
CreateWindow(
では情報がでてきません。
これが普通なんでしょうか?
それとも何かファイルが壊れててでなかったりしてるんでしょうか?
0100デフォルトの名無しさん
2007/09/22(土) 00:04:59もっともっともっともっともっともっともっともっともっともっともっともっともっともっともっと詳しく。
0101デフォルトの名無しさん
2007/09/22(土) 00:11:45お前バカじゃねぇの
環境書けよ
どうせ2005だろ?仕様だよ
0102デフォルトの名無しさん
2007/09/22(土) 00:19:11すみません。
ボタンを押した後、フォーカスがそこにあっていて
キー入力を認識しないみたいなんです。
ボタンが押されたときは
case WM_COMMAND:
switch(LOWORD(wp)) {
・
・
・
case ID_CF:
if(field_flag==FIELD1) field_flag=FIELD2;
else field_flag=FIELD1;
InvalidateRect(hWnd, NULL, TRUE);
break;
}
のようなかんじで、
キー入力の受け付けは
case WM_KEYDOWN:
GetKeyboardState(state);
if(state[VK_UP] & 0x80){
if(mode_flag==HAITI){
・
・
・
}
でやっています。
0103デフォルトの名無しさん
2007/09/22(土) 00:24:070104デフォルトの名無しさん
2007/09/22(土) 00:33:34基本的に劣っていると考えたい・・・
0105デフォルトの名無しさん
2007/09/22(土) 00:34:160106デフォルトの名無しさん
2007/09/22(土) 00:38:050107デフォルトの名無しさん
2007/09/22(土) 00:39:10どう調べたらいいのか分からなかったので・・・
ありがとうございました。
0108デフォルトの名無しさん
2007/09/22(土) 00:49:500109デフォルトの名無しさん
2007/09/22(土) 00:57:06まんこ臭くなるから気を付けろよ
0110デフォルトの名無しさん
2007/09/22(土) 01:10:27http://www.mozilla-japan.org/
シンプル プログミング ツール
http://proforceone.web.fc2.com/
素因数分解サンプルプログラム
Calculation processing にコピーして[RUN]
A=2*3*5*11*13*17*19;
x=A;br();write(" "+x+" ⇒");
for(i=2;x>=i;i++){if(0==x%i){k=0;
for(j=2;(i>=j)&&(1>=k);j++){
if(0==i%j){k++;}
} if(1==k){write(" "+i);}
}}
0111デフォルトの名無しさん
2007/09/22(土) 01:51:490112デフォルトの名無しさん
2007/09/22(土) 03:22:01strtokのソースの中で検索ヒットした文字に\0で置き換えするところでアクセス違反起きてる
ちゃんと文字列の中アクセスしてるはずなのになんで?どうして?
0113デフォルトの名無しさん
2007/09/22(土) 03:23:170114デフォルトの名無しさん
2007/09/22(土) 03:32:470115デフォルトの名無しさん
2007/09/22(土) 03:35:130116デフォルトの名無しさん
2007/09/22(土) 06:13:46頭いいかもしんない。ここのみんなじゃ無理だったかも・・・
0117デフォルトの名無しさん
2007/09/22(土) 06:15:15頭わるすぎw全米がわろた
0118デフォルトの名無しさん
2007/09/22(土) 10:26:33無理だったね。
112に書いてあることだけで答えを導き出すには、
おそらく一級のエスパーが必要だったろうから。
0119デフォルトの名無しさん
2007/09/22(土) 10:34:37正解だったね。
113に書いてあるとおりで答えを導き出せないのは、
おまえが超級のパーである証明だったろうから。
0120デフォルトの名無しさん
2007/09/22(土) 10:38:46WindowsXPが出始めた頃にVC++5.0をインストールして普通に使えていたのですが、
XPのSP2を入れたらInfoViewerが表示できなくなってしまいました。
(HTTP 404 - ファイル未検出)とか言うエラーが表示されます
ググッったら、以下のような情報を見つけました。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_DISABLE_MK_PROTOCOL に新規キーで「MSDEV.EXE=dword:00000000」を作成
が、そのときにはVC++5アンインストールと再インストールをしてしまっていました。
(上の情報を早くみつけていれば、レジストリの修正だけですんだのに。。)
インストールしなおしたVC++5.0では、上記のレジストリキーを設定しても
やはりinfoViewの内容を表示させるとエラーになります。
なにか解決方法をご存知の方がいらっしゃったらだったらご教授ください。
よろしくお願いします。
0121デフォルトの名無しさん
2007/09/22(土) 10:40:180122デフォルトの名無しさん
2007/09/22(土) 11:11:35pdc->Ellipse(x1, y1, x2, y2);
とかのEllipseの引数を自分で作ったクラス(myclass)にしたい場合
CDCクラスにEllipse(&myclass)みたいなのを作る
myclassにEllipse(&CDC)みたいなのを作る
CDCクラスとmyclassを継承したクラス(myCDC)にEllipse()を作る(1行目もmyCDC *pdc = GetDC();)
どれが普通なんでしょう
0123デフォルトの名無しさん
2007/09/22(土) 11:33:27サンキュー
やっぱそんなかんじか。マイクロソフトはホントダメだな。
0124デフォルトの名無しさん
2007/09/22(土) 11:40:550125デフォルトの名無しさん
2007/09/22(土) 12:11:020126デフォルトの名無しさん
2007/09/22(土) 12:16:040127デフォルトの名無しさん
2007/09/22(土) 12:35:50フレームワークの中身を書き換えるなんて原則もってのほか。だから1はない。
3番目の案は悪くないが、GetDCがCDCへのポインタ返すのに
myCDCへのポインタとして扱うことは、
(これくらい動くだろうが)規格上、未定義なので気持ち悪い。
仮にGetDCがmyCDCへのポインタを返すように書き換えるとしても
それは1と同じ理由で却下。
残るのは2番。
0128デフォルトの名無しさん
2007/09/22(土) 12:37:460129デフォルトの名無しさん
2007/09/22(土) 16:42:49手で追加するとなぜCreateを呼ばないといけないの?
リソースとして追加した場合なんでCButtonのインスタンスが無いの?
0130デフォルトの名無しさん
2007/09/22(土) 16:52:16C++のクラスではない
CButtonはそれをMFCで扱うためのクラス
0131デフォルトの名無しさん
2007/09/22(土) 16:56:43ダイアログ作成時にWindowsが作る(そのためのダイアログだ)。
あとは、作成されたコントロールとソース上のCButtonとを
関連付けるだけなので、Createする必要がない。
0132デフォルトの名無しさん
2007/09/22(土) 17:13:43なるほど。。つまり以下の様に理解したけどOKですか?
(1)リソースとしてボタンを追加した場合、MFCのダイアログクラスが初期化のときに自分でそのボタンをCreateしている。
(しかもダイアログクラスはボタンが必要だという情報をリソースファイルから得ている?(だってソース上は見当たらないからなぁ。))
(2)リソースとして追加したうえ、変数を割り当てるとそのCButtonクラスと、内部で生成したボタンコントロールのウインドハンドルをどこかで関連付けている。
(3)リソースエディタを使用しない場合、ダイアログはそのコントロールを作成しない。だから自分でCreateを呼ぶ必要がある。
0133デフォルトの名無しさん
2007/09/22(土) 17:20:07>(2)
つ[OnInitDialog()]
0134デフォルトの名無しさん
2007/09/22(土) 17:27:32ありがとうございます。ステップ実行してOnInitDialogでなんかごにょごにょして、その過程でCButtonのメンバが有効な値をもつようになったの確認できました
0135デフォルトの名無しさん
2007/09/22(土) 18:40:370136デフォルトの名無しさん
2007/09/22(土) 18:59:370137デフォルトの名無しさん
2007/09/22(土) 19:01:010138デフォルトの名無しさん
2007/09/22(土) 19:16:310139デフォルトの名無しさん
2007/09/22(土) 19:40:58(1)、「MFCのダイアログクラス」ではなく、「Windows」。
0140デフォルトの名無しさん
2007/09/23(日) 00:15:440141デフォルトの名無しさん
2007/09/23(日) 03:31:07C→C++→Cでwin32apiをかじる→MFCでわけわかんなくなる。
→それでもがんばる→疲れる→Cが恋しくなる→でもC++でがんがる
→どうでもよくなる。
0142デフォルトの名無しさん
2007/09/23(日) 07:37:51→win32apiも分かった気になる→Cが恋しくなる→久しぶりにCに戻ってみる→
MFCが恋しくなる→でもがんばる→むかついてどうでもよくなる。
0143デフォルトの名無しさん
2007/09/23(日) 09:02:440144デフォルトの名無しさん
2007/09/23(日) 09:13:070145デフォルトの名無しさん
2007/09/23(日) 09:42:040146デフォルトの名無しさん
2007/09/23(日) 10:36:420147デフォルトの名無しさん
2007/09/23(日) 11:59:540148デフォルトの名無しさん
2007/09/23(日) 16:42:12キーボードから何を押してもそこへ飛んでくれないんですが
これって何か初期設定みたいなのが必要なんでしょうか?
0149デフォルトの名無しさん
2007/09/23(日) 17:07:53たとえば、ダイアログ上のエディットボックスでキーを押した場合、
WM_KEYDOWN が飛んでくるのはダイアログじゃなくてエディットボックス
0150デフォルトの名無しさん
2007/09/23(日) 17:19:31ダイアログをクリックしてから押してるんだけどうんともすんとも
ちなみにダイアログだけのプログラムでダイアログにはボタンが6個あるだけです
0151デフォルトの名無しさん
2007/09/23(日) 18:28:26リソースの使い方がわからない…
0152デフォルトの名無しさん
2007/09/23(日) 18:31:200153デフォルトの名無しさん
2007/09/23(日) 18:35:060154デフォルトの名無しさん
2007/09/23(日) 18:53:38すっげーなお前
Visual Studio2005使って、Windoxsフォームアプリケーションなんかやってるんだ
0155デフォルトの名無しさん
2007/09/23(日) 18:54:42普通は何やるんですか?
0156デフォルトの名無しさん
2007/09/23(日) 19:24:53次期SPや修正パッチなどの出荷用テスト
0157デフォルトの名無しさん
2007/09/23(日) 19:41:560158デフォルトの名無しさん
2007/09/23(日) 19:47:070159デフォルトの名無しさん
2007/09/23(日) 20:12:47それ見てやればいいんじゃね?
0160デフォルトの名無しさん
2007/09/23(日) 21:31:01自分はダイアログベースアプリが80%
10%はDLLやStaticLib
時々SDIアプリ
たまーにActiveX
GUI系で最近の流行ってなんですか?
0161デフォルトの名無しさん
2007/09/25(火) 07:02:02なにか特別な処理をする必要があるのですか?ソフトはアナログ時計です。
なおPC不調でサスペンドから復帰できなくなってるのでサスペンドの場合はどうなるのか
不明です。
0162デフォルトの名無しさん
2007/09/25(火) 07:12:330163デフォルトの名無しさん
2007/09/25(火) 22:01:230164デフォルトの名無しさん
2007/09/25(火) 22:19:240165デフォルトの名無しさん
2007/09/25(火) 22:31:110166デフォルトの名無しさん
2007/09/25(火) 23:51:53でも Windows プログラムの動く仕組み理解しておいた方がいいんじゃないかな
0167デフォルトの名無しさん
2007/09/26(水) 00:09:050168デフォルトの名無しさん
2007/09/26(水) 00:39:392)ファイルに書き込む
といいよ
0169デフォルトの名無しさん
2007/09/26(水) 00:55:04キーロガー作ってパス盗む気か
0170デフォルトの名無しさん
2007/09/26(水) 01:11:120171デフォルトの名無しさん
2007/09/26(水) 02:41:42釣りは死んでください。
0172デフォルトの名無しさん
2007/09/26(水) 02:45:010173デフォルトの名無しさん
2007/09/26(水) 07:28:10stlのvectorとかでエラーが出たときに
なんかウィンドウが出るだけでデバッガの方に出力されないので
どこでエラーが出てるのか分かりにくいです。
どうにか場所を特定する方法ってありますか?
0174デフォルトの名無しさん
2007/09/26(水) 08:12:350175デフォルトの名無しさん
2007/09/26(水) 08:18:520176デフォルトの名無しさん
2007/09/26(水) 08:25:37つブレークポイント
まず適当にブレークポイントを設定して自分のコードのどの場所でエラーが出るか特定する
次にその部分で使ってる関数の各ステップにブレークポイントを設定してどの場所でエラーが出るか特定する
それを再帰的に繰り返していくとランタイムアサートのマクロ構文に辿り着く筈
0177デフォルトの名無しさん
2007/09/26(水) 08:39:44学習してきます。
0178デフォルトの名無しさん
2007/09/26(水) 20:53:45struct Base
{
void *p;
virtual ~Base(){}
};
struct Hoge : public Base
{
Hoge(){p = new HogeData;}
};
と、このように IData *pを派生先で共有したいと思っています。
派生先ごとにpに何を生成するかは決まっており、
Hoge なら new HogeData
Main なら new MainData
John なら new JohnData
といった具合です。(xxxData たちは全て、IDataを継承しています)
この状態で
Hoge *pHoge = new Hoge;
と、VisualSturio6.0のデバッガ「変数ウインドウ」で見た場合、pはあくまでvoid*型なのでそれ以上データを見ることはできません。
しかし、プログラマである私が決めたルールとして Hogeの時のpは*HogeDataとして扱うというルールがあります。
これをデバッガに認識させる方法はありませんでしょうか?
・Base *pHoge = new Hoge; とした場合、pHoge->pをHogeDataだと認識する必要は無い(高望みすぎるので)
・void *p; のかわりに IData *p; にしてみたが、IDataとしてしか認識してくれなかった(HogeDataの持つ変数は見られなかった)
・デバッガに認識させるために、何か特別な記述を加える労力は惜しまない
・クイックウォッチを使ってきちんと手動で型認識させてやれば見られたが、毎回手動はきつい(自動にできる方法があるならそれでもいいかも)
よろしくお願いします。
0179デフォルトの名無しさん
2007/09/26(水) 20:55:30>と、このように IData *pを派生先で共有したいと思っています。
↓
と、このように void *pを派生先で共有したいと思っています。
曖昧な表現でした
>pはあくまでvoid*型なのでそれ以上データを見ることはできません。
↓
つまり、変数ウインドウ上のpの頭のところに[+]記号が出てこないということです
0180デフォルトの名無しさん
2007/09/26(水) 21:08:24仮にBaseはpを持っている必要がないとすれば、
BaseにIData* GetData() = 0;のようなメンバ関数を用意して、
個々の派生クラスで、メンバ変数pとpを返すGetDataを定義するという方法が思い付く。
派生クラス毎にpを持てば、HogeDataなど特化した型にできるだろう。
0181デフォルトの名無しさん
2007/09/26(水) 21:17:040182デフォルトの名無しさん
2007/09/26(水) 21:22:40お返事ありがとうございます。
派生クラス毎に持つという案は確かに考えたのですが、
Base <- Hoge <- HogeEx
とやったときに複数ポインタが存在することになってしまいます。
(Baseには無しとしても、Hoge分とHogeEx分)
IData* GetData() =0; の手法ですが、そのGetDataを呼び出す記述がソースに無い限り
いきなりブレイクして変数ウインドウを見ても表示されないのではないでしょうか。
一応今も非virtual なGetDataをそれぞれ持つようにさせ、クイックウォッチの時の記述が統一的になるようにはしています。
(ただ、それでもクイックウォッチ呼び出すのかなり面倒なのですよね…)
0183デフォルトの名無しさん
2007/09/26(水) 21:46:50Holder() : p(new T) { IHolder::p = p; }
T* p;
};
を作って
typedef Holder<HogeData> Hoge;
typedef Holder<MainData> Main;
みたいに使えばどうか?
見るだけならrelease時はT* p
を持たないバージョン作っといてそれを使うようにすればいいし
0184デフォルトの名無しさん
2007/09/26(水) 21:49:48それだけのためにごちゃごちゃソースいじるのも頭わるすぎる
0185デフォルトの名無しさん
2007/09/26(水) 21:54:44実験してみようと思います。
しかし逆に考えると、テンプレート使うくらいしか方法が無いってことなんでしょうかね
私の妄想上の記述ですが
struct Base
{
void *p;
virtual ~Base(){}
};
struct Hoge : public Base
{
union
{
void *Base::p;
HogeData* pHogeData;
}
Hoge(){p = new HogeData;}
};
こんなことできないもんでしょうかね?
0186デフォルトの名無しさん
2007/09/26(水) 21:55:58確かに正論だと思います。
なので「簡単に変数ウインドウで確認するための方法」があるなら知りたいわけです。
とてつもなくソースが難読になってしまうのなら、やらないだろうと思います。
0187デフォルトの名無しさん
2007/09/26(水) 22:15:32でもこうすればIHolderがいらない子になってしまう
template <typename T> struct Holder
{
Holder() : derived(new T) {}
union {
IData* base;
T* derived;
};
};
HogeやMainもポインタや参照経由で多態性を持たせるなら
もっと面倒臭くなるし下手すりゃVC6ではコンパイルできなくなるかも
0188デフォルトの名無しさん
2007/09/26(水) 22:27:21自動で派生クラスの内容も表示できたりするけど、
今回はそれは無しだろうしなあ。
0189デフォルトの名無しさん
2007/09/26(水) 23:38:070190デフォルトの名無しさん
2007/09/26(水) 23:51:54定義済みの変数を、unionで「こいつとも共用体ってことで」って後付けできないもんでしょうか
>>188
MFCはなしですね…。携帯電話用なもので
>>189
ぐぐってみましたがこれは面白そうですね。ちょっと調べてみます
0191デフォルトの名無しさん
2007/09/27(木) 00:38:43と思うのですが、ポインタの型変換の書き方がわかりませんね…
Hoge=b=<((HogeData*)p)->b>
では認識してくれないようです。
どなたかautoexp.datについて分かるかたいらっしゃいませんでしょうか
もしくは詳しいページor書籍などを紹介していただけると嬉しいです
0192デフォルトの名無しさん
2007/09/28(金) 15:45:55今2003版を持っているので、アップグレード版を買えばいいとは思うのですが、
2003のユーザー登録がしていなといけないとか、
同じパソコンにインストールしないといけないとか、
アップグレード版にはそういった制約があるのでしょうか?
教えて下さいませ
0193デフォルトの名無しさん
2007/09/28(金) 16:59:040195デフォルトの名無しさん
2007/09/28(金) 22:34:580196デフォルトの名無しさん
2007/09/28(金) 23:36:410197デフォルトの名無しさん
2007/09/29(土) 00:46:19void GameFrame::doMainLoop(){
ChangeWindowMode(TRUE);
if(DxLib_Init()==-1) return;
SetDrawScreen(DX_SCREEN_BACK);
while(ProcessMessage()==0&& CheckHitKey(KEY_INPUT_ESCAPE)==0){
ClsDrawScreen();
ScreenFlip();
}
DxLib_End();
とソースコードをコンパイルしようとしたら・・・
こんなエラーが出てきましたどうしたらいいでしょう??
↓↓
エラー E2090 型限定子 'GameFrame' がクラス名または名前空間名ではない
エラー E2040 宣言が正しく終了していない
0198デフォルトの名無しさん
2007/09/29(土) 01:32:11msdn で調べてみるか
google 先生に聞いてみると良いよ。
0199デフォルトの名無しさん
2007/09/29(土) 05:28:42C++勉強したことある?
0200デフォルトの名無しさん
2007/09/29(土) 07:24:53最近Visual C++に興味があります
何から始めたらいいでしょうか?
0201200
2007/09/29(土) 07:27:18VS2005です
0202デフォルトの名無しさん
2007/09/29(土) 08:58:170203デフォルトの名無しさん
2007/09/29(土) 09:00:160204200
2007/09/29(土) 09:06:42どうも
0205デフォルトの名無しさん
2007/09/29(土) 17:57:300206デフォルトの名無しさん
2007/09/29(土) 18:02:270207デフォルトの名無しさん
2007/09/29(土) 18:43:270208デフォルトの名無しさん
2007/09/29(土) 19:37:55無知乙wwwwwwww
0209デフォルトの名無しさん
2007/09/29(土) 20:33:050210デフォルトの名無しさん
2007/09/29(土) 22:47:530211デフォルトの名無しさん
2007/09/29(土) 23:07:020212デフォルトの名無しさん
2007/09/29(土) 23:07:440213デフォルトの名無しさん
2007/09/30(日) 06:32:200214デフォルトの名無しさん
2007/09/30(日) 08:06:320215デフォルトの名無しさん
2007/09/30(日) 08:31:56そのプロジェクトではnasmというコマンドを使ってアセンブラファイルをアセンブルしようとしていました。
そしてVC6ではnasmは見つからないらしく、コマンドが見つかりません、ってエラーになります。
nasmはVC6ではなくなってしまったのでしょうか?代替のアセンブラはありますか?
0216デフォルトの名無しさん
2007/09/30(日) 08:38:30自分で作ったプログラムかそれ?
0217デフォルトの名無しさん
2007/09/30(日) 08:45:180218デフォルトの名無しさん
2007/09/30(日) 08:51:230219デフォルトの名無しさん
2007/09/30(日) 09:00:040220デフォルトの名無しさん
2007/09/30(日) 09:04:16ありがとうございましたm(_ _)m
0221デフォルトの名無しさん
2007/09/30(日) 13:12:49gasは独自表記に拘っているから嫌い。
0222デフォルトの名無しさん
2007/09/30(日) 22:17:09VALUE "ProductVersion", "0, 0, 0, 1"
をプログラム中から取得するにはどうすればよいのでしょうか?
0223デフォルトの名無しさん
2007/09/30(日) 22:58:03GetFileVersionInfo + VerQueryValue
0224デフォルトの名無しさん
2007/10/01(月) 06:18:06もっと静的にコンパイル時に取得できる物だと思っていました。
0225デフォルトの名無しさん
2007/10/01(月) 08:11:550226デフォルトの名無しさん
2007/10/01(月) 08:16:41それはそうなんだけど、コンパイル時に決定できるなら
よかったなぁ、と思って。マクロの中で使いたいから。
0227デフォルトの名無しさん
2007/10/01(月) 09:13:26.rcと使いたいマクロ中でそれ使うようにすればいいだろ!!!
とか、言ってみる。
0228デフォルトの名無しさん
2007/10/01(月) 12:27:52リソースはコンパイル時に確定していない情報なんだから当然、無理。
# リソースが確定するのはリンク時。
0229デフォルトの名無しさん
2007/10/01(月) 12:31:17マクロの中で使う場合でも定数である必要はないんじゃないの?
取得用関数を1つ別に作って、マクロの中でその関数使えばすむ話だと思うけど
0230デフォルトの名無しさん
2007/10/01(月) 16:08:06http://tgws.fromc.jp/prog/versioninfo/
0231デフォルトの名無しさん
2007/10/01(月) 21:48:1132ビットのみ対応DLLを使いたいと思っております。
しかし、MSDNを見ると、上記は不可能であると知りました。
32ビットのみ対応DLLを64ビット対応にする、という方法以外で、
64ビットEXEから32ビットdllを使用できる方法、プロセス構成として
何が考えられますでしょうか?
なるべくパフォーマンスが落ちないような実装として何がありますでしょうか?
加えて、最も簡単な方法もありましたら教えていただきたいです。
0232デフォルトの名無しさん
2007/10/01(月) 21:54:53COMで32ビットアウトプロセスサーバ作ってもいいだろうし。
いずれにせよ32ビットEXEを介すことに変わりはないが。
0233231
2007/10/01(月) 21:58:02ありがとうございます。
プロセス通信というと、Socket通信とかでしょうか?
メモリを共有することはできないんですよね。
もしできたとしてもコーディングが難しいのでしょうかね・・・?
0234デフォルトの名無しさん
2007/10/01(月) 22:09:33用途に合わせて好きなの選べ。
0235231
2007/10/01(月) 22:17:54ありがとうございます。やはりプロセス間通信しかないですか・・・
dllには大きなデータを一度に渡すのですが、その場合に最も効率いいものはあるのでしょうか?ここからは自分で調べないといけないのかもですね。
0236デフォルトの名無しさん
2007/10/01(月) 22:36:27- Development Guides
- 64-bit Windows Programming
- Running 32-bit Applications
- Interprocess Communications
速度的には共有メモリだろうけど、一時ファイルを介するのも一つの手かもな。
0237デフォルトの名無しさん
2007/10/02(火) 12:24:13Microsoft Visual C++ 6.0で人が作ったアプリケーション拡張開こうとしてるのですが
開き方が分かりません。誰か教えてください。宜しくお願いします。
0238それが誰かは知りませんが
2007/10/02(火) 12:26:090239デフォルトの名無しさん
2007/10/02(火) 12:33:56したのですが、誰か教えてもらえませんか?宜しくお願いします。
0240デフォルトの名無しさん
2007/10/02(火) 13:50:34開くって何したいの?
0241デフォルトの名無しさん
2007/10/02(火) 14:03:24開き方わかります?知ってたら教えてください
0242デフォルトの名無しさん
2007/10/02(火) 14:37:17VC++のヘルプをMSDN Express Libraryからmsdn2007年6月版に変更したいのですが
msdnから落として完全インストールでデフォルトのC:\Program Files\MSDNに入れました。
VC++でヘルプを開くとき新しく入れた2007年6月版が開くように設定するにはどうしたらいいですか?
0243デフォルトの名無しさん
2007/10/02(火) 15:45:10釣り?
DLLは「開く」ものじゃないぞ?
0244デフォルトの名無しさん
2007/10/02(火) 16:04:13笑っちゃう
0245デフォルトの名無しさん
2007/10/02(火) 16:40:050246デフォルトの名無しさん
2007/10/02(火) 16:54:43DLLを開きたいならCreateFileを使え
0247デフォルトの名無しさん
2007/10/02(火) 16:59:140248デフォルトの名無しさん
2007/10/02(火) 17:09:180249デフォルトの名無しさん
2007/10/02(火) 17:24:520250デフォルトの名無しさん
2007/10/02(火) 17:29:51なんだ改造できないのか、残念
0251デフォルトの名無しさん
2007/10/02(火) 18:03:06人が作ったのでなければ何だね。
自動コーディングスクリプトかね。
まさか神が造ったなどと言うつもりではあるまい。
0252デフォルトの名無しさん
2007/10/02(火) 18:27:120253デフォルトの名無しさん
2007/10/03(水) 00:14:180254デフォルトの名無しさん
2007/10/03(水) 21:02:00で、プログラムフォルダ以下のファイルを編集するときに、変更を保存できないんですが
どうすればいいのでしょうか?
0255デフォルトの名無しさん
2007/10/03(水) 21:31:17書き込み系のアクセス権限がないはず。
管理者権限持って出直してこい。
0256デフォルトの名無しさん
2007/10/03(水) 22:19:290257デフォルトの名無しさん
2007/10/03(水) 22:23:16信じて
0258デフォルトの名無しさん
2007/10/03(水) 22:56:290259デフォルトの名無しさん
2007/10/04(木) 15:54:21ATLでNTサービスプログラムを作っています。
デバッグ用にメッセージボックスが出せると便利なのになぁと
思うんですけど、MessageBoxを使うと「ボン」と音がするだけで、
見えるところに出てきません。
(処理はそこで止まるので、出てはいるようです)
やむなく LogEvent 関数でログを吐き、
イベントビューアで見てますが、NTサービスでは
メッセージボックスを出せないものなんでしょうか?
0260デフォルトの名無しさん
2007/10/04(木) 16:29:02デスクトップとの対話をサービスに許可
というオプションは試した?
0261デフォルトの名無しさん
2007/10/04(木) 18:18:07対話を許可にしたらできました。
どうもありがとうございました(´・ω・`)
0262グリッドとか、グリッドの間隔とか
2007/10/05(金) 14:33:03ダイアログを編集しているときにグリッドを表示させているのですが、
標準ではグリッドの表示がされていないので、
書式-ガイドの設定-グリッドをチェック
グリッドの間隔はデフォルトで6になっているのを3にしてOKボタンを押すのですが
VC2003が覚えてくれません。これはやっぱり仕様なのでしょうか?
どこかにデフォルトの設定を変えて通常グリッドON、間隔3にできないものでしょうか?
ご教示ください、よろしくお願いします。
0263デフォルトの名無しさん
2007/10/09(火) 22:30:41と、表示されるのですが…どうしたらよいのでしょうか…
文は「試しにこれをコンパイルしてみよう」みたいなのを何度も見直したんで大丈夫なはずなのですが…
0264デフォルトの名無しさん
2007/10/09(火) 22:45:280265デフォルトの名無しさん
2007/10/09(火) 22:53:07そっちでやったらコンパイルできました…
0266デフォルトの名無しさん
2007/10/10(水) 01:50:25ウインドを移動させたくないんです。
0267デフォルトの名無しさん
2007/10/10(水) 01:54:300268デフォルトの名無しさん
2007/10/10(水) 01:59:19こんばんは。早速試してみましがダメでした。:-)
0269デフォルトの名無しさん
2007/10/10(水) 02:22:190270デフォルトの名無しさん
2007/10/10(水) 02:32:24ありがとうございます。しかしそのメッセージを処理させないようにしたら
ウインドの初期化処理でシステムから利用されているらしく、ウインドが表示されなくなってしまいました。
ウインドをドラッグしようとすると枠だけが移動するヤツありますよね?
ドラッグを終えたときだけウインドが一瞬で移動するやつです。
あんな風にドラッグ操作だけは受け付けるけど、放したときに結局元の位置に戻っちゃう、
みたいなのでもいいです。
クレクレですみませんがよろしくお願いしま〜す
0271デフォルトの名無しさん
2007/10/10(水) 02:45:28どっちも現在の位置を入れるんだよ
0272266
2007/10/10(水) 02:56:36いろいろ試してみたのですが、上手くいかないみたいです。
海外のサイトをあさっていて上手く行く方法を見つけました。
HMENU hMenu = GetSystemMenu(mhWnd, FALSE);
::DeleteMenu(hMenu, SC_MOVE,MF_BYCOMMAND);
でメニューから「移動」を取ってしまう方法のようです。
お騒がせしました。(^0^)/
0273デフォルトの名無しさん
2007/10/10(水) 11:22:334
http://news22.2ch.net/test/read.cgi/newsplus/1191932873/
【民営化】造幣局・印刷局など、独立行政法人20以上を民営化へ:政府方針 [07/10/07]
http://news21.2ch.net/test/read.cgi/bizplus/1191727281/
政府は6日、現在進めている独立行政法人(独法)の整理合理化に関連し、
101ある独法のうち、予算に占める国からの財政支出の割合(財政依存度)が低い
20法人以上の民営化を目指す方針を固めた。
2007年末に整理合理化計画を策定し、閣議決定する予定だ。
民営化の対象には、造幣局や国立印刷局、日本万国博覧会記念機構などがあがっている。
今後、独法の民営化推進を目指す渡辺行政改革相らの方針に対し、
事業の公共性の高さなどを主張する関係省庁の巻き返しが本格化しそうだ。
貨幣や紙幣を造る造幣局や国立印刷局については、機密性の保持なども絡み、
是非をめぐって様々な意見が出そうだ。
http://headlines.yahoo.co.jp/hl?a=20071007-00000002-yom-pol
0274デフォルトの名無しさん
2007/10/10(水) 11:30:28試してみたら本当に動かないな。なんて怪しい仕様なんだ……
0275デフォルトの名無しさん
2007/10/10(水) 16:22:120276デフォルトの名無しさん
2007/10/10(水) 16:59:130277デフォルトの名無しさん
2007/10/10(水) 18:45:09MSDNにもサンプルコードのってたような気がする
0278デフォルトの名無しさん
2007/10/10(水) 20:21:56Bitmapクラスを使って、ビットマップデータを、ファイルではなく、指定したメモリに格納したいと思っています。
ファイル保存しかできないでしょうか?
できるのなら、例を教えていただけるとありがたいです。
0279デフォルトの名無しさん
2007/10/10(水) 21:03:090280デフォルトの名無しさん
2007/10/10(水) 21:07:480281デフォルトの名無しさん
2007/10/10(水) 22:35:15MFCでもSDKでOK
wwwを検索すると、Viewに”hello world”とTextOutしていかにも、C++/VC++/MFC使えますみたいな
のばっか、そんなの誰でもできるっちゅうねんw
0282デフォルトの名無しさん
2007/10/10(水) 22:37:440283デフォルトの名無しさん
2007/10/10(水) 22:38:30馬鹿には見つからないんだな
0284デフォルトの名無しさん
2007/10/10(水) 22:41:17実用的なアプリケーションのソースくらいお前以外誰でも書けるっちゅうねんw
0285デフォルトの名無しさん
2007/10/10(水) 22:43:43そういうサイトしかヒットしないのは当たり前
0286デフォルトの名無しさん
2007/10/10(水) 22:44:380287デフォルトの名無しさん
2007/10/10(水) 22:46:21次元ひくっ
0288デフォルトの名無しさん
2007/10/10(水) 22:49:150289デフォルトの名無しさん
2007/10/10(水) 22:49:39次元ひくっ
0290デフォルトの名無しさん
2007/10/10(水) 22:50:460291デフォルトの名無しさん
2007/10/10(水) 22:51:07実用的なアプリケーションのソースが理解できないから
お前のレベルに見合ったhello worldしか目に付かないのだっちゅうねんw
0292デフォルトの名無しさん
2007/10/10(水) 22:55:080293デフォルトの名無しさん
2007/10/10(水) 22:56:34webでプログラミング情報を公開してる奴って結構多いが
どれも、同じようなことしか書いていない
彼は恐らく日本語のページしかみてないんじゃないかな?
0294デフォルトの名無しさん
2007/10/10(水) 22:59:43どっかで拾って来たソースのビルドの仕方聞くことが結構あるから
まったく見つけられないやつはかなり特殊
0295デフォルトの名無しさん
2007/10/10(水) 23:01:480296デフォルトの名無しさん
2007/10/10(水) 23:10:47現在、ディスプレイの主電源が入っているか確認するプログラムを
作成しているのですが、主電源の状態を取得する事ができておりません。
SC_MONITORPOWERで情報がとれないかなとも試してみたのですが
主電源情報となると取れないようでした。
お手数ではございますが、ご教授のほど、よろしくお願い致します。
0297デフォルトの名無しさん
2007/10/10(水) 23:22:05そのプログラム考えたやつに聞けば?
できる前提じゃないとそういう細かい要求でないと思う
0298296
2007/10/10(水) 23:37:51考えたのは自分なので、聞くことはできないです。
その為、主電源情報を取得する方法ご存知の方が
いらっしゃるのではないかと思い、質問させて頂きました。
0299278
2007/10/10(水) 23:38:55ありがとうございます。bitmapクラスのSaveでファイル保存をしていました。
このメソッドはファイル保存しかできないように見えます。保存先をメモリにしたいです。
UnmanagedMemoryStreamをMSDNで見ましたが、どのようにこの問題の解決のために使うのかわかりません。
サンプルを教えていただけないでしょうか?もしくはBitMapクラスでメモリ保存できるAPIはあるのでしょうか?
0300デフォルトの名無しさん
2007/10/10(水) 23:51:03パソコン立ち上げた時にモニタのスイッチ押さないとモニタ写らない。
パソコン立ち上げた時にモニタが自動で写るようにしてほしいな
0301デフォルトの名無しさん
2007/10/10(水) 23:54:380302デフォルトの名無しさん
2007/10/10(水) 23:59:10Stream に保存できるだろ
0303デフォルトの名無しさん
2007/10/11(木) 00:14:19ぐぐった先頭にあるMSDNのページにサンプルあるんだけどそれではダメなの?
もしかして、サンプルに書いてあるコメントが読めないとか?
0304デフォルトの名無しさん
2007/10/11(木) 09:19:32なんか1冊本を買ってきて最初から読むのがいいですかね
0305デフォルトの名無しさん
2007/10/11(木) 09:28:220306デフォルトの名無しさん
2007/10/11(木) 17:58:45そもそも、そのBitmapはネイティブ、マネージのどっちだ?
ネイティブのgdiplus::Bitmapなら、IStream*を引数に取るSaveを使え。
IStreamは自分で実装してもいいし、CreateStreamOnHGlobalを使ってもいい。
マネージのSystem::Drawing::Bitmapなら、Stream^を引数に取るSaveを使え。
渡すStreamは、System::IOのMemoryStreamでいいだろうが、
場合によってはUnmanagedMemoryStreamが適する場合もあるかもしれない。
0307デフォルトの名無しさん
2007/10/11(木) 19:05:33以下はスレッドを作成するクラスのソースです。
このように、staticをつけないとコンパイルエラーになります。
スレッド関数は、必ずStaticにしなければならないのでしょうか?
Staticを使わずにスレッド生成を実現したいと思っております。
というのも、Static内の関数を全てStaticにしないといけなくなるので
・・・
スレッド生成でStaticを使わない実現方法があったら教えていただきたいです。
実際、みなさんはどのような方法でスレッド生成を実現しているのでしょうか?
class TestThread{
// コンストラクタ、デストラクタは省略
public:void Function()
{
// スレッド作成
Thread^ main= gcnew Thread(gcnew ThreadStart(ThreadProc));
}
private:static void ThreadProc() // staticをつけないとエラー
{// 処理 }
};
0308デフォルトの名無しさん
2007/10/11(木) 19:33:230309デフォルトの名無しさん
2007/10/11(木) 19:41:06レス感謝です。しかしコンパイルエラーになりました。
deligate引数が無効と出ました。
0310デフォルトの名無しさん
2007/10/11(木) 21:18:49ああごめん。>>308の方法は、値クラスか参照クラスにしか使えない。
もし、ネイティブクラスの非静的メンバ関数を別スレッドで実行したければ、
マネージクラスでラップするか、CRTの_beginthreadexを使う必要がある。
0311307
2007/10/11(木) 21:54:57マネージクラスでラップ(クラスにrefをつけた)ら、
コンパイルが通り、正常に動作しました。
beginthreadexについては調べてみます。
ありがとうございました。
0312デフォルトの名無しさん
2007/10/11(木) 23:19:260313デフォルトの名無しさん
2007/10/11(木) 23:21:230314デフォルトの名無しさん
2007/10/11(木) 23:21:37:. .:::::。:::........ . .::::::::::::::::: _ i/ = =ヽi :::::::::::::。::::::::::: . . . ..
:::: :::::::::.....:☆彡:::: //[|| 」 ||] :: ::::::::::::::
:::::::::::::::::: . . . ..: :::: / ヘ | | ____,ヽ | | :::::::::::.... .... .. .::::
::::::...゜ . .::::::::: /ヽ ノ ヽ__/ ....... . .::::::::::::........ ..:
:.... .... .. . く / 三三三∠⌒>:.... .... .. .:....
:.... .... ..:.... .... ..... .... .. .:.... .... .. .... . .... . ..... .... .. ..... ............. ..
:.... . ∧∧ ∧∧ ∧∧ ∧∧ .... .... .. .:.... .... ..... .... .
... ..:( )ゝ ( )ゝ( )ゝ( )ゝ デテキヤガッテ・・・.
.... i⌒ / i⌒ / i⌒ / i⌒ / .. ..... ...................
.. 三 | 三 | 三 | 三 |
... ∪ ∪ ∪ ∪ ∪ ∪ ∪ ∪
0315デフォルトの名無しさん
2007/10/11(木) 23:40:590316デフォルトの名無しさん
2007/10/11(木) 23:53:510317デフォルトの名無しさん
2007/10/12(金) 00:16:450318デフォルトの名無しさん
2007/10/12(金) 09:42:10なんか
GetFirstなんたらの後に、GetNextなんたらをやってもうまくいかなかったのですが…
0319デフォルトの名無しさん
2007/10/12(金) 09:46:090320デフォルトの名無しさん
2007/10/12(金) 09:48:08じゃあお前にはムリだ。
0321デフォルトの名無しさん
2007/10/12(金) 16:24:12CListCtrl::GetFirstSelectedItemPositionのサンプルコードをよく見直せ。
それでも判らないならコードupしる。
0322デフォルトの名無しさん
2007/10/12(金) 18:53:49デストラクタはオブジェクトの終了処理を行う
というのは、どういった場面で使われるのですか?
いまいち理解出来ないです
0323デフォルトの名無しさん
2007/10/12(金) 19:04:54利用方法がわからなかったら無理に使わなくてもかまわない
0324デフォルトの名無しさん
2007/10/12(金) 19:34:34デストラクタは、freeのような使い終わった後に呼ばないといけない解放処理を書く。
例えばstd::auto_ptrが内部に保持しているポインタをdeleteしたり、
ATL::CHandleはCloseHandleしたりなどという具合。
コードがスッキリするし、例外が投げられたときでも確実に資源が解放されるのがいい。
0325デフォルトの名無しさん
2007/10/13(土) 09:06:01オブジェクトを作るときに
メンバ変数の値を動的に初期化するときとかにコンストラクタを使う
たとえばある時はメンバ変数をAで初期化したいけど
別の時にはBで初期化したいようなとき。
っていうのがまだまだ初心者な俺の理解です。
たとえば
class obj {
char test;
public:
obj(char ch) { test = ch; }
};
obj testobj('A');
っていう感じかなぁ
あとは動的にメモリを確保する必要があるときとか。
クラスのこともっと勉強していけばわかってくるよ。
0326デフォルトの名無しさん
2007/10/13(土) 09:28:46デストラクタ=嫁
0327デフォルトの名無しさん
2007/10/14(日) 12:45:49Microsoft Visual C++ 2005 Express Edition(MSからダウンロードしてます)
SDKインストールすみ(MSからダウンロードしてます)
cppファイルとdefファイルをビルトしたいのですが
以下のメッセージがでてビルトできません。
------ ビルド開始: プロジェクト: aaaaaa32, 構成: Debug Win32 ------
コンパイルしています...
aaaaaa.cpp
c:\documents and settings\administrator\my documents\visual studio 2005\projects\123ler\aaaaaa.cpp(1) : fatal error C1083: include ファイルを開けません。'windows.h': No such file or directory
ビルドログは "file:\\c:\Documents and Settings\Administrator\My Documents\Visual Studio 2005\Projects\123ler\Debug\BuildLog.htm" に保存されました。
aaaaaa32 - エラー 1、警告 0
========== ビルド: 0 正常終了、1 失敗、0 更新、0 スキップ ==========
というメッセージがでて ビルドできません
どうも設定の段階でつまずいているようなのですが
また、ここに参考になりそうなコメントをみつけたのですが
どこの設定がまちがえているのかが よくわかりませんでした。
ttp://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=472335&SiteID=7
どなたかエラーを解決する方法をおしえていただけないでしょうか?
よろしくお願いします。
0328デフォルトの名無しさん
2007/10/14(日) 12:59:49想像だが、標準ファイル名をダブルクォーテーションで囲んでいるのではないか?
×#include "windows.h"
○#include <windows.h>
0329デフォルトの名無しさん
2007/10/14(日) 13:18:330330デフォルトの名無しさん
2007/10/14(日) 13:21:03とりあえず、手順3は済んだの?
0331デフォルトの名無しさん
2007/10/14(日) 22:27:56328さん、329さん、330さん ご返事ありがとうございます。
手順3というのが よくわからなくて、
(いきなり オプションとかかれても 初心者にはどこにあるかすぐには
わかりませんでした)(メニューから オプションとかいてくれるといいかも)
いろいろと 試行錯誤して やっと意味がわかりました
Executable ファイル
Include ファイル
Library ファイル
のボタンが 右側上に あるのが やっとわかりました。
あと当方のバージョンでは そこも日本語に翻訳されており(カタカナもあり)
それで 上からそれぞれのパスを設定したら うまくいきました。
フォルダをクリックしパスの本文をダイレクトに入力するんですね(^ ^;)
(アイコンの意味も、私には わかりにくかったです)
この理解のために、Visual C# 2005の本(秀O)も買ったのですが
少しバージョンが違うようですね。(2006年8月第1版)
ここでのつまずきに かなりの時間をついやしました。
ほんとにありがとうございました。(^ ^)
このあと、日付を変更して、別なテスト(実験)をやっていたら
Microsoft Visual C++ 2005 Express Editionがうごかなくなってしまいました
(今朝インストールしなおしたばかりなのに)
(これも承認しないといけないんですね)
0332デフォルトの名無しさん
2007/10/14(日) 22:38:37C++とC#は別物
オプションなんてたいていツール→オプション(設定)でどのソフトも同じ
Windowsは初めて?
その程度の知識でプログラムを作る側のアプリを触るのはやめて下さい。
0333デフォルトの名無しさん
2007/10/14(日) 22:40:330334デフォルトの名無しさん
2007/10/14(日) 23:07:08まるで泣いている赤ん坊に「日本語しゃべれねぇヤツは日本人じゃねぇよ!」
ってマジ切れしてる大人のようであります。
0335デフォルトの名無しさん
2007/10/14(日) 23:09:33どこに本気になっている人がいるんでしょうか?
赤ん坊に自分の見合った事をやりなさいと諭してるだけでしょ。
0336デフォルトの名無しさん
2007/10/14(日) 23:46:23いないなら問題ないです^^
0337デフォルトの名無しさん
2007/10/14(日) 23:49:35VC#と間違ってVC落としたのなら別だけど...
0338デフォルトの名無しさん
2007/10/15(月) 03:44:06それとも本当にばかなんだろうか。
0339デフォルトの名無しさん
2007/10/15(月) 06:14:13おまえらが、パソコンに初めて触ったときのことをよく
思いだして見ろよ、ハゲ。
0340デフォルトの名無しさん
2007/10/15(月) 06:51:300341デフォルトの名無しさん
2007/10/15(月) 08:10:330342デフォルトの名無しさん
2007/10/16(火) 17:28:520343デフォルトの名無しさん
2007/10/16(火) 17:30:51エディタはemacsとかvim使おうぜ
その辺の初心者の10倍の速度で上達するよ☆(ある意味で)
0344デフォルトの名無しさん
2007/10/16(火) 17:38:200345デフォルトの名無しさん
2007/10/16(火) 18:26:42始めにQuickFixコマンドの説明を含めている所は見たことが無いな。
名前付きバッファなんざ覚える暇があったら、:cwだけでも覚えるべきだ。
0346デフォルトの名無しさん
2007/10/16(火) 22:10:04MFC使うためにオブジェクト指向プログラミングを勉強してるが、
静的メンバ変数とか、メンバイニシャライザだとか、訳がわからなくなってきた、
0347デフォルトの名無しさん
2007/10/16(火) 22:13:530348デフォルトの名無しさん
2007/10/16(火) 22:18:53今は何を使うんですか?
0349デフォルトの名無しさん
2007/10/16(火) 22:19:300350デフォルトの名無しさん
2007/10/16(火) 22:24:59だけど俺はあえてATL/WTLを選ぶぜ!!
0351デフォルトの名無しさん
2007/10/16(火) 23:02:35MFCには魔物が潜んでいる。
ヤツは必ずキミを破滅に導いてくれる。
もはやマイクロ・ソフトさえ見捨てたMFCを、なぜ今更?
0352デフォルトの名無しさん
2007/10/16(火) 23:18:53vc mfc の検索結果 約 1,950,000 件中 1 - 10 件目 (0.06 秒)
vc wtl の検索結果 約 225,000 件中 1 - 10 件目 (0.05 秒)
vc c++/cli の検索結果 約 1,510,000 件中 1 - 10 件目 (0.13 秒)
C++/CLIが意外と多いのに驚いた。
0353デフォルトの名無しさん
2007/10/16(火) 23:23:290354デフォルトの名無しさん
2007/10/16(火) 23:26:01ぐぐれwww
0355デフォルトの名無しさん
2007/10/16(火) 23:29:52ただそれだけ。それだけなの。
深みにハマれば人生を棒に振るだけだから、絶対に近づかないほうがいい。
廃人になって捨てられる悲しい人生が待っている。
「MFCやめますか?それとも人間やめますか?」
そもそも 「DLL HELL」 とい言葉はMFCから生まれたもの。
意味はDLL地獄。DLLという単語とHELL=地獄をかけてある。
ようこそMFC地獄へ!
0356デフォルトの名無しさん
2007/10/16(火) 23:35:030357デフォルトの名無しさん
2007/10/16(火) 23:37:48でも、コレに騙されてはイカン!
0358デフォルトの名無しさん
2007/10/16(火) 23:50:17MFCはCStringだけが取り柄w
あとちょっとしたアプリはDialogベースアプリで書けるのがメリットかな。
だから俺はいつもMFCのDialogベース。
皆はなに使ってるの?Win32?
0359デフォルトの名無しさん
2007/10/16(火) 23:58:440360デフォルトの名無しさん
2007/10/17(水) 00:07:340361デフォルトの名無しさん
2007/10/17(水) 00:51:28初心者にはそこが分からない。
間違った方向へ進もうとしている初心者を正しく導くのが、
このスレの住人に課せられた使命。
0362デフォルトの名無しさん
2007/10/17(水) 01:22:060363デフォルトの名無しさん
2007/10/17(水) 01:44:230364デフォルトの名無しさん
2007/10/17(水) 14:18:04そっから先は無理だけど。
作るもの全てがダイアログベースのアプリになってしまう。
俺がいい例。
0365デフォルトの名無しさん
2007/10/17(水) 14:50:390366デフォルトの名無しさん
2007/10/17(水) 16:23:14青春時代を思い出して泣いた。
0367デフォルトの名無しさん
2007/10/17(水) 17:49:02作ったサービスはXPでは動作するのですが、
2003 Server ではサービスとしての起動ができません。
(正確にはWindows Server 2003 R2 Standard Edition です)
サービスマネージャで「サービスの開始」をクリックすると、
プログレスバーが出てしばらく後
「ローカルコンピュータのxxxx(サービス名)サービスを開始できません。
エラー1053:そのサービスは指定時間内に開始要求または
制御要求に応答しませんでした。」となります。
根本的に、2003 Server 向けのサービスをVC6で作ることはできないのでしょうか。
ご存知の方おしえてください
0368デフォルトの名無しさん
2007/10/17(水) 18:04:46つーかMFCはそれがメインだと思うんだが、使いこなせない人多いんかな。
0369デフォルトの名無しさん
2007/10/17(水) 18:21:47たとえばHTMLならPOWERPOINTで画像やボタンの配置などが簡単にできますがC++でも同じようなことができる
プログラムってありますでしょうか。
0370デフォルトの名無しさん
2007/10/17(水) 18:25:260371デフォルトの名無しさん
2007/10/17(水) 18:28:24ところで、PowerPointはただの釣針だよね?
0372デフォルトの名無しさん
2007/10/17(水) 18:41:59powerpointじゃなかったpublisherだった。
ありです。
0373デフォルトの名無しさん
2007/10/17(水) 18:49:46GUIツールキットとかGUIビルダーとかかな・・・
スレッドあるからそこで雰囲気見てみるといいよ。
0374デフォルトの名無しさん
2007/10/17(水) 18:53:16もしVBのようにGUIが作れるのであれば本格的に勉強しようと思ってるんですが・・・
0375デフォルトの名無しさん
2007/10/17(水) 19:05:410376デフォルトの名無しさん
2007/10/17(水) 19:37:37MS OfficeならFrontPageだろ。
まあこれも別製品に後継を譲る立場だが。
0377デフォルトの名無しさん
2007/10/17(水) 21:29:08Standard以上のVCにはいくつかのライブラリが付いてくるんだけど
.Netを使うならVB.NetのようにGUIを作れる。ただ言語は純粋なC++じゃなく
C++/CLIになる。ライブラリ使わないなら375の言うようなことになる。
C++のライブラリもあるんだけど、必ず変なのが来て暴れるので説明省略。
0378デフォルトの名無しさん
2007/10/18(木) 03:05:31どなたか解決方法教えてください
0379デフォルトの名無しさん
2007/10/18(木) 03:36:31大量にエラーが増えてしまいます・・・
どうすればいいのでしょうか
0380デフォルトの名無しさん
2007/10/18(木) 03:58:37コンパイラが教えてくれるだろ。
■質問するにあたって
・エラーや警告のときはエラーメッセージを書きましょう。
・開発環境も書きましょう。
・できるだけ具体的に。
0381デフォルトの名無しさん
2007/10/18(木) 12:38:16クラスライブラリのヘッダにて、abstract sealedの
クラス内にtypedefとtemplateを使った定義をしました。
しかし、そのヘッダ内では使えるものの、そのほかのクラスでは使用
できません。コンパイルエラーになります(定義されていないとのこと)
(staticのメンバ関数などはOK)。
どうしたら、他クラスで使用できるのでしょうか?また、templateや
typedefをクラスライブラリで定義する場合はこの方法しかないのでしょうか?
// typedefを使用したクラス(例)
public ref class TYPES abstract sealed{
public:
typedef short test16;
typedef unsigned short utest16;};
// templateを使用したクラス(例)
public ref class METHODS abstract sealed{
public:
template <typename T1>
static T1 TEMPTEST (const T1& t1)
{return t1;}
// このメンバ関数は他クラスでも使用可能
static void TEST(int num){int i = 3;}
};
0382デフォルトの名無しさん
2007/10/18(木) 13:45:36クラスライブラリで template、typedef 使うなよ
0383デフォルトの名無しさん
2007/10/18(木) 18:56:16いつものC++みたいに、ヘッダファイルも一緒に配ればOK。
0384デフォルトの名無しさん
2007/10/18(木) 23:02:470385デフォルトの名無しさん
2007/10/18(木) 23:09:180386デフォルトの名無しさん
2007/10/18(木) 23:15:55もうどうでもいいよ
0387デフォルトの名無しさん
2007/10/18(木) 23:28:16確かMSDNにMFCに関するQ&Aがあって「MFCはなくなりませんか?」みたいなQに対して、「永久になくなりません。」ってAがあった。
ホントかよっ!と思いつつ読んでいたが、無くなるのか。。
0388デフォルトの名無しさん
2007/10/18(木) 23:28:40参考書籍等が書店に見当たらないのですが、ほとんどがMFCを説明している本でして、
0389デフォルトの名無しさん
2007/10/18(木) 23:30:38ダイアログベースなら他のツール使えば?
ダイアログベースのアプリなんて使ったこと無い
0390デフォルトの名無しさん
2007/10/18(木) 23:34:55MFCとSTLは全く別物
どちらもやってもよい
0391デフォルトの名無しさん
2007/10/18(木) 23:58:28http://blogs.msdn.com/vcblog/archive/2007/03/21/mfc-updates-for-vista-common-controls.aspx
どうみてもやる気満々なのだが。
0392デフォルトの名無しさん
2007/10/18(木) 23:59:39一応、C,C++は基本的なことは理解しているつもりです。
検索したらMFCや.NET Framework、Win32APIがあったのですが。
違いもいまいちわからないのですが、どれを使ったらいいのでしょうか?
宜しくお願いします。
0393デフォルトの名無しさん
2007/10/19(金) 00:00:01むしろ拡張されてる
0394デフォルトの名無しさん
2007/10/19(金) 00:03:260395デフォルトの名無しさん
2007/10/19(金) 01:14:270396デフォルトの名無しさん
2007/10/19(金) 01:23:320397デフォルトの名無しさん
2007/10/19(金) 01:27:45いまのアプリケーション開発(Win)ってトレンドってなんだろう?
Win32だとGUIを作るのが大変そうだし。
視覚的にGUIが作れるのってダイアログベースアプリくらいしか思いつかない。
あとはVBかC#。
C#も作ったコントロールやウインドがやたら画面の端に引っ付いたりして気に食うものがなかなか出来ない(と個人的に思う)
0398デフォルトの名無しさん
2007/10/19(金) 03:24:51copyfile の identifier が見つかりませんでした、とビルドエラーがでます。助けてください
0399デフォルトの名無しさん
2007/10/19(金) 07:27:530400デフォルトの名無しさん
2007/10/19(金) 07:39:39必要なヘッダ(windows.h)をincludeしてない
CopyFileなのにCopyfileやcopyfileにしてる
0401デフォルトの名無しさん
2007/10/19(金) 09:43:51スレ違いだったら言ってください。
0402デフォルトの名無しさん
2007/10/19(金) 09:53:57向き不向きがあるだろ
0403デフォルトの名無しさん
2007/10/19(金) 10:59:48とC#を使いながら言ってみる。
0404デフォルトの名無しさん
2007/10/19(金) 15:19:15>ダイアログベースなら他のツール使えば?
ツール???何の?
ツールの話なんて誰がしてたの?
0405デフォルトの名無しさん
2007/10/20(土) 00:51:50替わりに俺がやってやるぜ!なんて素敵な方、いませんか?
g++とsqliteのライブラリ・ヘッダがあれば良いらしいのですが。
欲しいバイナリはwin32用です。
0406デフォルトの名無しさん
2007/10/20(土) 00:52:430407デフォルトの名無しさん
2007/10/20(土) 00:55:140408デフォルトの名無しさん
2007/10/20(土) 03:28:280409デフォルトの名無しさん
2007/10/20(土) 11:01:54コマンドラインからclでコンパイルのみを行ってからlinkを使った場合、
CRTやkernel32.libは指定しなくても自動的にリンクされるようですが、
デフォルトでリンクされるライブラリファイルはどこで定義されているのでしょうか?
0410デフォルトの名無しさん
2007/10/20(土) 12:54:14"read" になることはできませんでしたのエラーがでても動いているので
そのまま稼動させて大丈夫でしょうか?
readってことは参照しかしてないってことですよね?
0411デフォルトの名無しさん
2007/10/20(土) 12:55:590412デフォルトの名無しさん
2007/10/20(土) 13:00:380413デフォルトの名無しさん
2007/10/20(土) 13:12:59lib
0414デフォルトの名無しさん
2007/10/20(土) 13:16:14コード晒してくだちゃい><
0415デフォルトの名無しさん
2007/10/20(土) 13:19:190416デフォルトの名無しさん
2007/10/20(土) 13:26:47一人で使うなら問題ない
それが君の力量だから
0417デフォルトの名無しさん
2007/10/20(土) 13:38:210418409
2007/10/20(土) 13:40:40それはライブラリファイルがある場所を示してくださっていると解釈してよろしいですか?
ライブラリがある場所ではなく、デフォルトでリンクされるライブラリファイルが
どこでどのように設定されているのかを知りたいのです。
例えばkernel32.libやCRTはデフォルトでリンクするが、
user32.libは指定しないとリンクされない…とか。
corewin_express.vspropsで設定されているライブラリファイルは
コマンドラインでのリンクには影響を与えないことを確認しました。
0419デフォルトの名無しさん
2007/10/20(土) 14:17:07if (hBitmap == NULL)
{
MessageBox(hWnd,"BitMap Load Error", "エラー",MB_OK);
return 0;
}
これでリソースからビットマップを読んでるつもりなんですが
何故、メッセージが出るんでしょうか?
#include "resource.h" も付けています。
MAKEINTRESOURCE("IDB_CHAR") の部分に
ビットマップのパスを入れても同じです。
0420デフォルトの名無しさん
2007/10/20(土) 14:26:500421デフォルトの名無しさん
2007/10/20(土) 14:43:49MAKEINTRESOURCE(゚�听)イラネ
このマクロは、LPCTSTRにWORD型のIDを突っ込むために使う。
0422デフォルトの名無しさん
2007/10/20(土) 20:42:10ポインタの使い方間違ってるんじゃないの?
0423デフォルトの名無しさん
2007/10/20(土) 23:41:40さっそく画像表示プログラムつくってみたんですけど、パスに漢字がはいると
表示できません。これはなぜでしょうか?
0424デフォルトの名無しさん
2007/10/20(土) 23:57:46まずは、bluetoothの制御方法から教えてくれ。
サンプル世路
0425デフォルトの名無しさん
2007/10/21(日) 00:08:140426デフォルトの名無しさん
2007/10/21(日) 00:26:140427デフォルトの名無しさん
2007/10/21(日) 00:34:12初心者には知る権利がある。質問する権利がある。違うか?
オレの言ってる事が間違っているなら、筋道立てて理路整然と反論してみろや!
0428デフォルトの名無しさん
2007/10/21(日) 01:12:580429398
2007/10/21(日) 02:09:50#pragma once
using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;
namespace testfile {
public ref class form : public System::Windows::Forms::Form
{
public:
form(void)
{
InitializeComponent();
}
protected:
~form()
{
if (components)
{
delete components;
}
}
private: System::Windows::Forms::Button^ button1;
protected:
private:
System::ComponentModel::Container ^components;
続く
0430デフォルトの名無しさん
2007/10/21(日) 02:11:36void InitializeComponent(void)
{
this->button1 = (gcnew System::Windows::Forms::Button());
this->SuspendLayout();
this->button1->Location = System::Drawing::Point(58, 130);
this->button1->Name = L"button1";
this->button1->Size = System::Drawing::Size(163, 74);
this->button1->TabIndex = 0;
this->button1->Text = L"button1";
this->button1->UseVisualStyleBackColor = true;
this->button1->Click += gcnew System::EventHandler(this, &form::button1_Click);
this->AutoScaleDimensions = System::Drawing::SizeF(6, 12);
this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
this->ClientSize = System::Drawing::Size(292, 266);
this->Controls->Add(this->button1);
this->Name = L"form";
this->Text = L"form";
this->ResumeLayout(false);
}
#pragma endregion
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)
{CopyFile("\\files\\readme.txt","C:\\program files\\testprogram\\readme.txt",FALSE);
}
};
}
長いですけどフォームつかったら自動的にいろいろ追加されてこんなふうになってしまいました。ボタンを押すとファイルを書き換えるだけなんですけど・・・
とりあえずボタン押して
0431398
2007/10/21(日) 02:17:021>------ ビルド開始: プロジェクト: testfile, 構成: Debug Win32 ------
1>コンパイルしています...
1>form.cpp
1>c:\documents and settings\○\my documents\visual studio 2008\projects\project1\testfile\testfile\form.h(1) : error C2001: newline in constant
1>c:\documents and settings\○\my documents\visual studio 2008\projects\project1\testfile\testfile\form.h(1) : error C2059: syntax error : 'string'
1>c:\documents and settings\○\my documents\visual studio 2008\projects\project1\testfile\testfile\form.h(88) : error C2065: 'FALSE' : undeclared identifier
1>c:\documents and settings\○\my documents\visual studio 2008\projects\project1\testfile\testfile\form.h(88) : error C3861: 'CopyFile': identifier not found
1>ビルドログは "file://c:\Documents and Settings\○\My Documents\Visual Studio 2008\Projects\Project1\testfile\testfile\Debug\BuildLog.htm" に保存されました。
1>testfile - エラー 4、警告 0
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
0432デフォルトの名無しさん
2007/10/21(日) 02:39:430433デフォルトの名無しさん
2007/10/21(日) 09:06:43ボタン配置してハンドラを同じように書いてみたけど、
文字列がUnicodeでないと文句言われただけで、後は問題無かった。
form.h(1)の謎のエラーが後に影響しているのかもしれんね。
そのエラーだと、ヘッダをインクルードしているソース側に問題がある可能性もあるから、
#include "form.h" より前の部分もチェックした方が良いな。
0434デフォルトの名無しさん
2007/10/21(日) 10:03:42Visual C++ 6.0 → .netの2005
Windows2000 → WindowsXP SP2
へようやく以降したのですが,分からぬエラーが.
6.0 + 2000 = 問題ない
6.0 + XP = 問題ない
2005+ 2000 = 問題ない
2005+ XP = 問題あり
何が問題か,ですが
テキストファイルを読み込むと終了時にアクセス違反
というエラーがでます.
テキストファイルを読み込まなければエラーは起きません.
何かXPと2005の組み合わせで気をつけなければ
ならないことあるのでしょうか?
0436デフォルトの名無しさん
2007/10/21(日) 12:43:51hBitmap=LoadImage(hInstance,"C:\\test.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
なら、その後Bitbltで描けるようですが、
hBitmap=LoadImage(hInstance,MAKEINTRESOURCE("IDB_NULL"),IMAGE_BITMAP,0,0,LR_DEFAULTCOLOR);
これだと駄目です。MAKEINTRESOURCEを取っても駄目です。
パスで指定 → OK
リソースから → 駄目
もう、どうしたらいいか・・・
0437デフォルトの名無しさん
2007/10/21(日) 12:48:21GetLastError()で見たのかよ低脳
""取ってみ
MAKEINTRESOURCE("IDB_NULL")→MAKEINTRESOURCE(IDB_NULL)
0438デフォルトの名無しさん
2007/10/21(日) 12:51:43自分の2005+XP SP2では問題は発生しない。
2000->XP SP2 はもちろんクリーンインストールだよな。
>>435
コンパイラの既定CRTライブラリは/MTなので、
出力されたオブジェクトファイルにlibcmt.libのリンク指示が含められている。
で、リンク時にCRTライブラリによってエントリポイントが解決された結果、
それが依存するライブラリもリンクされている。
CRT内部で何をしているか調べるのは正直骨だし、
とりあえず宣言しとけばいいんじゃね?被っても問題無いし。
ちなみに、エントリポイントを自分のコードで解決してCRTを一切リンクしなかった時は
kernel32.libすらリンクされなかったので、あくまで依存関係に従っていると考えて良さそう。
>>436
リソースの識別には、16ビットIDと文字列を対応付ける二つの方法がある。
"IDB_NULL"という文字列を対応付けているなら "IDB_NULL" で良いが、
resource.hのIDB_NULLのID定義を介しているなら、MAKEINTRESOURCE(IDB_NULL)だ。
0439デフォルトの名無しさん
2007/10/21(日) 12:58:40メニューの指定でもいろいろ悩んだなぁ・・・。
とりあえずわかったことは
引数として文字列(のポインタ)が要求されるのに
resource.h でリソース名に定数振られてて
そのせいでうまくいかないっぽいってことはわかった。
画像とかの ID とかを "" で囲んで
resource.h から #define の定義を消すとうまくいってた。
正当なやり方はよくわかってない。
0440デフォルトの名無しさん
2007/10/21(日) 13:05:00あほが余計悩むだろ
0441デフォルトの名無しさん
2007/10/21(日) 13:10:39" を外しても同じです。
エラーなどは出ません。
一応、使ってるのがVC5なんですよ。これって関係あるんかな?
GetLastErrorも調べてみます。
0442デフォルトの名無しさん
2007/10/21(日) 13:17:43.rcファイルとresource.hを目視で確認してみ。
0443デフォルトの名無しさん
2007/10/21(日) 13:21:34新しいのに移行する時に余分に時間が掛かるだけだし情報も少ないよ
0444デフォルトの名無しさん
2007/10/21(日) 13:27:34"" とって IDB_NULL にしてみたら?
0445デフォルトの名無しさん
2007/10/21(日) 13:33:21画像名はリソースビューで見ても IDB_NULL で
"" は付いていません。
本当に謎だ・・・
0446デフォルトの名無しさん
2007/10/21(日) 13:37:03今手元に環境あるの?
0447409
2007/10/21(日) 13:57:16オブジェクトファイルにコンパイラからのリンク指示が含まれているということなので、
dumpbinを使ってオブジェクトファイルの内容を調べてみたところ、libcmt.libのリンクを
指示するリンカオプションが含まれていました。
また同様に、libcmt.libをdumpbinで調べてみたところ、kernel32.libへのリンクが
指示されていました。
おかげで疑問が解決しました。ありがとうございました。
0448デフォルトの名無しさん
2007/10/21(日) 14:59:09解決策はあるのでしょうか?
ttp://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=1361138&SiteID=7
0449デフォルトの名無しさん
2007/10/21(日) 15:04:10いろいろやってみろよ
お前には無理だけど
0450434
2007/10/21(日) 15:22:29クリーンインストールです.
サブPCが2000のままだったのでVC++6.0を入れて
メインPC(XP)の.netの2005とモニタ並べて
まったく同じ処理をやってもメインPCの方だけアクセス違反が….
2005では文字コードをUnicode→マルチバイトへの変更が差分です.
0451デフォルトの名無しさん
2007/10/21(日) 15:29:120452デフォルトの名無しさん
2007/10/21(日) 16:36:59あります。
一応、LoadImage後に
if (hBitmap == NULL)
{
MessageBox(hWnd,"BitMap Load Error", "エラー",MB_OK);
return 0;
}
で調べてみると メッセージが出ます。
0453デフォルトの名無しさん
2007/10/21(日) 16:41:480454デフォルトの名無しさん
2007/10/21(日) 17:56:53まずは、FindResourceでリソースを見つけられているかどうか確認した方が良いな。
生成された実行ファイルをIDEで開けばリソースを覗けるはずだから、
IDが正しく対応しているかの確認も。
0455デフォルトの名無しさん
2007/10/21(日) 18:00:580456434 450
2007/10/21(日) 18:06:57�@windowsXP (.NETの2005)で文字コードをマルチバイト,
�Awindows2000(.NETの2005)で文字コードをマルチバイト,
同じ条件で�@では終了時エラー,�Aでは正常終了です.
まったく同じ条件です.
XPのSP2で何か気をつけるべきことがあるのかと考えていますが,
まだ原因が特定できません.
0457デフォルトの名無しさん
2007/10/21(日) 18:12:330458434 450 456
2007/10/21(日) 18:22:27うーん,その可能性も否定できないんですが
実際に複数台のPCで1日中ずっと処理を走らせて,
3年間,エラーが起きることはなありませんでした.
エラーが起きる部分(ファイル読込)は少なく見積もって
数万回は走っているはずです.
終了時にエラー(アクセス違反)は一度も出ていません.
現在調べている時は余計な部分を削除していき,
ファイル読込部分しか書いていないです.
0459デフォルトの名無しさん
2007/10/21(日) 18:33:12ここで質問されても答えようがないから
マイクロソフトに直接聞け
0460デフォルトの名無しさん
2007/10/21(日) 18:34:410461デフォルトの名無しさん
2007/10/21(日) 18:36:080462デフォルトの名無しさん
2007/10/21(日) 18:42:480463デフォルトの名無しさん
2007/10/21(日) 19:14:490464自作ブラウザ
2007/10/22(月) 17:48:37マウスによるクリック処理をプログラマがコードを追加して実装しなくても、
左ボタン処理等が実装されていますが、これをカスタマイズしたい時には
どうすればよいのでしょうか?
0465デフォルトの名無しさん
2007/10/22(月) 17:52:14つ[JavaScript]
0466デフォルトの名無しさん
2007/10/23(火) 16:00:19messagebox.showをmessagebox::showと書いたり
messagebox以外にもいろんな機能を使いたいんですがなんと入力すればいいのかわかりません。
ファイルを特定フォルダに作成したり、特定なファイルを上書きしたり、別ウィンドウを開いたりしたいんですが
誰か教えてください
0467デフォルトの名無しさん
2007/10/23(火) 17:20:250468デフォルトの名無しさん
2007/10/23(火) 21:30:31というわけで .NET Framework のリファレンスを見れ。
もっとも、.NET 触るんであれば、俺は C# をお勧めする。
0470デフォルトの名無しさん
2007/10/24(水) 05:31:13が、VS2003.NETでは警告、エラーともにでなかったソースでもVS2005だと警告が出ます。
調べたところ、文字コードがUNICODEではないため警告が出ているようです。
そこで、文字コードを一括(プロジェクト内のソースすべて)をUNICODEに変更するにはどうすればよいのでしょうか?
0471デフォルトの名無しさん
2007/10/24(水) 05:37:28それよりプロジェクトのプロパティで以前の文字コードに設定したらどや
0472デフォルトの名無しさん
2007/10/24(水) 05:46:34ありがとうございます。
プロジェクトのプロパティはVS2005の設定項目のどこを変更すればよいのでしょうか?
質問ばかりですいません・・・・
0473デフォルトの名無しさん
2007/10/24(水) 05:57:41全般のページが開いてると思うから真ん中当たりに文字セットがある
2005からデフォルトでUNICODEになった
0474デフォルトの名無しさん
2007/10/24(水) 06:15:14すでに「マルチバイト文字セットを利用する」となっていました。
warning C4819: ファイルは、現在のコード ページ (932) で表示できない文字を含んでいます。
データの損失を防ぐために、ファイルを Unicode 形式で保存してください。
出てくる警告は上記のものです。これは気にしなくてもよいのでしょうか・・・
0475デフォルトの名無しさん
2007/10/24(水) 06:17:54ファイル→保存オプションの詳細設定でUnicodeで保存し直したら消えるんちゃう?
0476デフォルトの名無しさん
2007/10/24(水) 06:40:16ただ、ファイルが十数ファイルあるので一括変換できればうれしかったのですが・・・残念です。
早朝からありがとうございました。
0477デフォルトの名無しさん
2007/10/24(水) 11:49:14せっかくVC++使ってるんだから
一括変換のプログラム書けばいいだろう
0478デフォルトの名無しさん
2007/10/24(水) 12:54:31ありです。やってみます
0479デフォルトの名無しさん
2007/10/25(木) 21:59:36VC++ 2005で、
ttp://tserve01.aid.design.kyushu-u.ac.jp/~fujiki/vc_lecture/c_6.htm
を参考にペイントツールを作成していたのですが、
ツールバーのボタンが押されたときに呼び出される関数を設定する所で詰まってしまいました。
ClassWizardのない2005では、この部分をどう作ったら良いのでしょうか?
0480デフォルトの名無しさん
2007/10/25(木) 22:17:380481デフォルトの名無しさん
2007/10/25(木) 22:20:29それをツールバーにも設定
0483デフォルトの名無しさん
2007/10/26(金) 06:53:45カプセル化、抽象化、階層化で合ってますか?
0484デフォルトの名無しさん
2007/10/26(金) 10:16:05例えばですが、
ウィンドウにマイコンピュータの画像を貼り付け、そこをクリックしたらマイコンのフォルダが開く。と
と、したいのですが、色々調べていてやり方がさっぱり分かりません。
分かるかた是非教えて下さい。また、参考サイト等ありましたら合わせて教えて下さい。お願いします。
0485デフォルトの名無しさん
2007/10/26(金) 10:34:180486デフォルトの名無しさん
2007/10/26(金) 10:41:15レスありがとうございます。
書いて頂いたのは、プロンプトが一回開いてしまうんですが、そのまま直にフォルダを開く事はできませんか?
私が今まで書いていたものは、
ShellExecute(hWnd, "oepn", "パス", NULL, NULL, SW_SHOWNORMAL);
なんですが、この方法ではうまくいきませんでした。無理なのであればsystem()でやろうかと思います。
また、マイコンピュータを開く場合、ファイルパスがうまく指定できないのですが、何故でしょうか・・
C:\Documents and Settings\ユーザ名\Favorites\My Computerではフォルダがないと言われるんですが、違うのでしょうか。
度々ですが、宜しくお願いします。
0487デフォルトの名無しさん
2007/10/26(金) 10:44:120488デフォルトの名無しさん
2007/10/26(金) 11:01:220489デフォルトの名無しさん
2007/10/26(金) 11:14:04でいいのかな。
参考サイト:http://www.google.co.jp
つかいかた:テキストボックスに [ShellExecute explorer.exe] と入れて [google検索]ボタンを押す
0490デフォルトの名無しさん
2007/10/26(金) 11:20:180491デフォルトの名無しさん
2007/10/26(金) 11:26:08http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpshell/html/_win32_shellexecute.asp
main()
{
ShellExecute(NULL, "open", "C:\\Documents and Settings\\NEC-PCuser\\Favorites"
, NULL, NULL, SW_SHOWNORMAL);
}
0492デフォルトの名無しさん
2007/10/26(金) 11:30:25ShellExecute(hWnd, "explore", "パス", NULL, NULL, SW_SHOWNORMAL);
だね
0493デフォルトの名無しさん
2007/10/26(金) 12:17:050494デフォルトの名無しさん
2007/10/26(金) 12:19:47人にモノを尋ねるときは、「教えてください」 だろ
0495デフォルトの名無しさん
2007/10/26(金) 12:40:10全部自分でなんとかなりました。
0496デフォルトの名無しさん
2007/10/26(金) 14:30:270497デフォルトの名無しさん
2007/10/26(金) 14:39:24USERPROFILEでいいんですか?
0498デフォルトの名無しさん
2007/10/26(金) 15:59:07レジストリのIDみたいなの
0499デフォルトの名無しさん
2007/10/26(金) 17:52:11ShellExecute(NULL, "explore", "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}", NULL
, NULL, SW_SHOWNORMAL);
0500デフォルトの名無しさん
2007/10/26(金) 18:40:240501デフォルトの名無しさん
2007/10/26(金) 18:43:59「ググりました。これで合っていますか?」 だろ
0502デフォルトの名無しさん
2007/10/26(金) 18:54:41特殊フォルダ id でぐぐったら出てくることだけ知ってれば十分
0503デフォルトの名無しさん
2007/10/26(金) 19:03:580504デフォルトの名無しさん
2007/10/26(金) 19:06:350505デフォルトの名無しさん
2007/10/26(金) 19:09:290506デフォルトの名無しさん
2007/10/26(金) 19:10:580507デフォルトの名無しさん
2007/10/26(金) 19:11:530508デフォルトの名無しさん
2007/10/26(金) 19:13:14子供かよ
0509デフォルトの名無しさん
2007/10/26(金) 19:13:460510デフォルトの名無しさん
2007/10/26(金) 19:20:59おまいら、何も泣く事は無いだろ。
ここは初心者スレなんだから、知らなくても恥にはならないぞ。
0511デフォルトの名無しさん
2007/10/26(金) 19:24:000512デフォルトの名無しさん
2007/10/26(金) 19:25:48ここは初心者スレだけど初心者のお前が威張れる場所じゃない。
0513デフォルトの名無しさん
2007/10/26(金) 19:27:53どういたしまして^^
0515デフォルトの名無しさん
2007/10/26(金) 20:14:440516デフォルトの名無しさん
2007/10/26(金) 23:25:560517デフォルトの名無しさん
2007/10/26(金) 23:28:580518デフォルトの名無しさん
2007/10/26(金) 23:32:140519デフォルトの名無しさん
2007/10/26(金) 23:34:190520デフォルトの名無しさん
2007/10/26(金) 23:38:560521デフォルトの名無しさん
2007/10/26(金) 23:42:580522デフォルトの名無しさん
2007/10/26(金) 23:45:47下手に指摘しても知恵を付けさすだけ
0523デフォルトの名無しさん
2007/10/28(日) 23:35:34プロジェクトにクラスの追加を行う方法について困ったことがあります。
あるヘッダファイルに書かれているクラスをProjectに追加するにはどうすればいいでしょうか?普通はどのように追加するものでしょうか?
以下のようにするとコンパイルエラーになります。
1. ソリューションの作成
2. ソリューションにProject Aをクラスライブラリとして追加
3. Project Aにあるheader ”Common.hとします” を#includeで追加
4. ソリューションにProject Bをクラスライブラリとして追加し、同じようにCommon.hを#include
5. Main ProjectにProject AとProject Bを「プロジェクト」
-「参照の追加」で追加 ビルド
→Common.hで定義された型が再定義されました。というエラー。
0524デフォルトの名無しさん
2007/10/29(月) 02:33:01「ヘッダー ファイル」 フォルダ を右クリックして「追加」->「既存の項目」でヘッダーを入れて
「ソース ファイル」 フォルダ を右クリックして「追加」->「既存の項目」でソースを入れて
クラスが必要なソースからヘッダーを include すればいい
0525デフォルトの名無しさん
2007/10/29(月) 02:36:030526523
2007/10/30(火) 00:39:16ような気がしました。
Main, ClassLibA, ClassLibBでヘッダファイルに書かれたClassZを
includeしたいと思います。ClassLibA, ClassLibB, ClassZはPublic ref
のクラスです。
ClassLibA, ClassLibBはクラスライブラリとして追加したものです。
Main Class・・・ClassLibA, ClassLibB
ClassLibA・・・ClassZ(includeで追加)
ClassLibB・・・ClassZ(includeで追加)
Main Class, ClassLibA, ClassLibBそれぞれでClassZで定義された
メンバを使いたいと思ってます。
ただし、上記でコンパイルすると、再定義警告となってしまいます。
ClassZをprivateにして、Main, ClassLibA, ClassLibBのClassで
includeするしかないでしょうか?
ClassZはClassLibA, ClassLibBを参照した場合にしか使わないので、
なるべくincludeという形で別includeにしたくないと思っております。
上記のように2つのdllから共通のクラスを使い、その2つのdllを使う
クラスがある場合はどのようなクラス構成、設定にするべきでしょうか?
長々と書いてしまってすいません。
0527デフォルトの名無しさん
2007/10/30(火) 01:00:030528デフォルトの名無しさん
2007/10/30(火) 01:58:49C++/CLIはスレ違いだよね
ClassZもdllにしたら?
とりあえず.netについて分かってない気が
0529デフォルトの名無しさん
2007/10/30(火) 19:38:00ファイルを開けないと出るのですが、fstream.h以外に何かありますでしょうか?
0530デフォルトの名無しさん
2007/10/30(火) 19:44:110531デフォルトの名無しさん
2007/10/30(火) 19:58:49#include <fstream>
void main(){
char buf[512];
// ifstreamのインスタンスを作る
// C言語のfopenと同じ
ifstream ifs("input.txt") ;
// ofstreamのインスタンスを作る
// C言語のfopenと同じ
ofstream ofs("output.txt") ;
// ifstreamのインスタンス(ifs)から1行読み込みbufに入れる。
while( ifs.getline( buf, sizeof(buf) ))
// ofstreamのインスタンス(ofs)を利用して読み込んだ内容を書き込む
ofs << buf << endl;
}
コンパイルエラーになるんですが、なぜですか?
0532デフォルトの名無しさん
2007/10/30(火) 20:20:16using namespace std;
0533デフォルトの名無しさん
2007/10/30(火) 20:24:42#include <fstream>
using namespace std;
void main(){
char buf[512];
// ifstreamのインスタンスを作る
// C言語のfopenと同じ
fstream ifs("input.txt" ,ios::in) ;
// ofstreamのインスタンスを作る
// C言語のfopenと同じ
fstream ofs("output.txt",ios::out) ;
// ifstreamのインスタンス(ifs)から1行読み込みbufに入れる。
while( ifs.getline( buf, sizeof(buf) ))
// ofstreamのインスタンス(ofs)を利用して読み込んだ内容を書き込む
ofs << buf << endl;
}
0534デフォルトの名無しさん
2007/10/30(火) 20:35:100535デフォルトの名無しさん
2007/10/30(火) 20:50:330536デフォルトの名無しさん
2007/10/30(火) 20:54:45答えもしてない分際で答えた者をバカにするな
0537デフォルトの名無しさん
2007/10/30(火) 20:58:57たかが2chで簡単な答えを書いただけの癖に随分と偉そうですなあ
0538デフォルトの名無しさん
2007/10/30(火) 21:05:22たかが2chで簡単な質問を書いただけの癖に随分と偉そうですなあ
0539デフォルトの名無しさん
2007/10/30(火) 21:54:39先に答えが出たので答えなかっただけ。
たまたま自分が答えを知っていたというだけで質問者を愚弄する者こそ愚者と知るべし。
0540デフォルトの名無しさん
2007/10/30(火) 22:06:49お前どんだけレベル低いんだ
0541デフォルトの名無しさん
2007/10/30(火) 22:08:39>答えもしてない分際で答えた者をバカにするな
日本語読める?
0542デフォルトの名無しさん
2007/10/30(火) 22:40:20答えた者が勝ち。
答えられなかった者は負け。
答えられなかったのに捨てゼリフ吐くのはみっともない。
亀田3兄弟よりみっともない。
0543デフォルトの名無しさん
2007/10/30(火) 22:52:300544デフォルトの名無しさん
2007/10/30(火) 23:00:49亀田3兄弟よりみっともない男
0545デフォルトの名無しさん
2007/10/30(火) 23:20:500546535
2007/10/31(水) 00:10:22>質問者を愚弄する者こそ愚者と知るべし
~~~~~~
勝ち負けの問題じゃない。君こそ日本語を読め。
しかも、俺じゃない奴(>>543)すら攻撃するし。
自分以外は全員敵かよw
0547デフォルトの名無しさん
2007/10/31(水) 00:17:30同一人物だと思ってるし
自分以外は全員敵かよw
0548デフォルトの名無しさん
2007/10/31(水) 00:27:48なら口ださなきゃいいのに>>547
0549デフォルトの名無しさん
2007/10/31(水) 02:53:50picutureBox1 Clickの処理をpicutureBox2 Clickにも同じくさせたいんですが、
どうのようにすればいいでしょうか?
0550デフォルトの名無しさん
2007/10/31(水) 08:01:23スレ違いだ馬鹿野郎
0551デフォルトの名無しさん
2007/10/31(水) 08:39:39>>549
PictureBoxの派生クラスを書けばいい。
追加 - クラス - C++クラス で作成、
ビルドした時点でツールボックスに追加されるので、
後は普通のPictureBoxと同じように配置すればいい。
0552デフォルトの名無しさん
2007/10/31(水) 08:43:140553デフォルトの名無しさん
2007/10/31(水) 09:28:520554デフォルトの名無しさん
2007/10/31(水) 09:39:260555デフォルトの名無しさん
2007/10/31(水) 11:58:430556デフォルトの名無しさん
2007/10/31(水) 12:28:140557デフォルトの名無しさん
2007/10/31(水) 16:25:21Visual C++ 6.0
フォームの中のボタンを押すとWindowsキーを押したようにしたいと思っています。
フックして仮想キーコードを取得するところまででき,Windowsキーのコードは確認できたのですが,
そこからWindowsキーを押したように見せる方法がわかりません。
どうすれば,Windowsキーを発行することができるんのでしょうか。
0558デフォルトの名無しさん
2007/10/31(水) 16:36:420559デフォルトの名無しさん
2007/10/31(水) 17:00:16お返事ありがとうございます。
>WM_LBUTTONDOWNでも送りつけてみたら?
実際にはどのような関数を使えばいいのでしょうか。
0560558じゃない人
2007/10/31(水) 17:14:36思いつかない。
0561デフォルトの名無しさん
2007/10/31(水) 17:20:40>実際にはどのような関数を使えばいいのでしょうか。
PostMessage()
0562557
2007/10/31(水) 17:29:05ありがとうございます。
WM_KEYDOWN(WM_SYSKEYDOWN?)とPostMessage()
の使い方がわからないので探してみます。
名前さえもわからない状態だったので,とてもうれしいです。
うまくできたら,ご報告させて頂きます。
0563デフォルトの名無しさん
2007/11/01(木) 08:43:17同じ文字コードに統一したいのですが、
どのように処理したらいいのでしょうか?
ちなみに、VC2005です。
0564デフォルトの名無しさん
2007/11/01(木) 08:50:420566デフォルトの名無しさん
2007/11/01(木) 08:57:40だけどnkf使った方が楽。
0567563
2007/11/01(木) 09:05:270568デフォルトの名無しさん
2007/11/01(木) 10:39:240569デフォルトの名無しさん
2007/11/01(木) 11:13:48死ね
0570デフォルトの名無しさん
2007/11/01(木) 13:32:02死ね
0571デフォルトの名無しさん
2007/11/01(木) 14:09:14死ね
0572デフォルトの名無しさん
2007/11/01(木) 14:38:35生きろ
0573デフォルトの名無しさん
2007/11/01(木) 18:31:21C++なんだから、そこだけネイティブで>>566とすればいいじゃない。
0574デフォルトの名無しさん
2007/11/02(金) 09:24:11WM_PAINTじゃなく、CREATEの中でLineToとか一度だけの表示をしてしまいたいんですが・・
0575デフォルトの名無しさん
2007/11/02(金) 10:27:48自分でやってみればわかるから
0576デフォルトの名無しさん
2007/11/02(金) 16:09:17CreateWindow内で座標を指定するのではなく、どのPCで開いてもちゃんと画面左上などの位置にぴったり表示させたいんです。
分かる方お願いします。
0577デフォルトの名無しさん
2007/11/02(金) 16:13:460578デフォルトの名無しさん
2007/11/02(金) 16:20:150579デフォルトの名無しさん
2007/11/02(金) 16:53:56C#は1年くらいやったんですが、VC++は初めてで・・・
0580デフォルトの名無しさん
2007/11/02(金) 19:25:330581デフォルトの名無しさん
2007/11/02(金) 21:40:14これくらいは、実験するよりも仕様を確認するほうがいいと思う。
http://msdn2.microsoft.com/en-us/library/ms534894.aspx
0582デフォルトの名無しさん
2007/11/02(金) 21:45:32GetMonitorInfoとかそこら辺を使う
0583デフォルトの名無しさん
2007/11/02(金) 22:47:140584デフォルトの名無しさん
2007/11/02(金) 23:18:390585デフォルトの名無しさん
2007/11/03(土) 07:52:54GetMonitorInfoでそのモニタの作業領域を取得するだけ。
簡単だろ。
0586デフォルトの名無しさん
2007/11/03(土) 09:20:020587デフォルトの名無しさん
2007/11/03(土) 12:32:560588デフォルトの名無しさん
2007/11/03(土) 13:54:10GetWindowRect(GetDesktopWindow(), &rect);
0589デフォルトの名無しさん
2007/11/04(日) 02:31:20オプションを指定してコンパイルすると、鬼のように長くてたくさんの
警告が出ます。警告の内容は、"デバッグ情報で識別子が255 文字に切り
捨てられました(warning C4786)"というものです。
この問題を回避するには次の選択肢の中から選ぶしかないのでしょうか?
(1) 警告を表示しないようにする → 他の便利な警告を受け取ることができない。
(2) デバッグ情報を生成しない。→ デバッガが使えない。
(3) 死ぬほどたくさんの警告メッセージを我慢。→ 非常につらい。
(4) STLを使わない。→ それは無理。
0590デフォルトの名無しさん
2007/11/04(日) 02:36:06が常套手段
0592デフォルトの名無しさん
2007/11/05(月) 16:44:09のお絵かきソフトを作るページを参考にしてるんですが
「ToolBar」の「IDR_MAINFRAME」のボタンとIDを書き換えても
ページに書かれているようなIDに対応するような関数が作られず
ボタンも描いたように表示されず灰色の使用不可のような状態
になってしまいます。
VS2005stdです。
どなたか、わかるかた、VS2005ではどうしたらよいか教えていただけないでしょうか。
お願いします。
0593デフォルトの名無しさん
2007/11/05(月) 16:50:01マルチ死ね
0594592
2007/11/05(月) 16:56:38ただ「くだすれVisualC++(超初心者用)」のほうが1000レスいったので
こちらでも質問ささしてもらいました。
すいませんが教えてください。
0595デフォルトの名無しさん
2007/11/05(月) 17:34:30ウイザードから追加する方法は知らん
0596デフォルトの名無しさん
2007/11/05(月) 19:09:58Visual C++のエディタでも同じことができるでしょうか?
できるなら方法を教えてください。
0597デフォルトの名無しさん
2007/11/05(月) 19:32:570598デフォルトの名無しさん
2007/11/05(月) 19:59:390599デフォルトの名無しさん
2007/11/05(月) 20:40:23char→CStringをどうやって渡すのかわからないです。
ヒントでいいから教えていただければ、、つД`)
0600デフォルトの名無しさん
2007/11/05(月) 20:46:280601デフォルトの名無しさん
2007/11/05(月) 21:21:27プログラムでシンボル _UNICODE が定義されたときは、
TCHAR 型は 16 ビット文字型の wchar_t 型として定義されます。
それ以外は、通常の 8 ビット文字型 char で定義されます。
Unicode 環境下では、CString オブジェクトは 16 ビットの文字で構成されます。
Unicode 環境以外では、CString オブジェクトは 8 ビットの文字で構成されます
0602599
2007/11/05(月) 22:46:31>601
ありがとう。
ちょいとそれを頭に入れてググル先生に聞いてみます。
0603デフォルトの名無しさん
2007/11/05(月) 23:04:430604デフォルトの名無しさん
2007/11/06(火) 00:14:49というのは何を根拠として良いと判断するんですか?>>603
0605デフォルトの名無しさん
2007/11/06(火) 00:17:45サクサク作れるんだから作った方が勉強になるという意味で、
いいと思いますが。
0606デフォルトの名無しさん
2007/11/06(火) 00:26:120607デフォルトの名無しさん
2007/11/06(火) 00:32:03MFCウイザードがなくたってサクサク作れる。
0608デフォルトの名無しさん
2007/11/06(火) 07:54:500609デフォルトの名無しさん
2007/11/06(火) 18:13:37MFCで人生を棒に振った悲しいプログラマが、いったい何人いることやら。
MFC犠牲者慰霊の塔の下に眠っている幾千幾万のプログラマたちが
成仏できずに毎晩、悲痛なうめき声をあげて助けを求めているというのに。
マイクロソフト社さえ見放した禁断の果実MFCを、なぜ今更?
もうこれ以上、犠牲者が増えるのを善良な市民として見ていられない。
忘れなさい。MFCの事は忘れなさい。記憶の底から消し去るのです。
MFCなんて見なかった。聞かなかった。この世に存在しなかった。
いいですね?わかりましたね?
0610デフォルトの名無しさん
2007/11/06(火) 21:54:51.NET で人生を棒に振った悲しいプログラマが、いったい何人いることやら。
(ry
0611デフォルトの名無しさん
2007/11/06(火) 22:13:120612デフォルトの名無しさん
2007/11/06(火) 23:47:36差はないのでしょうか?
今から始めるならVC.netでいいんでしょうか?
VCに興味を持っている理由は .NET Frameworkとかの
ランタイムのインストールをしなくても動くEXEが作れるらしいから、と
DirectXでゲーム作ろうとしてもC++の参考書しかないから、なのですが
VC.NETで作ったEXEは .NET Frameworkがないと動かないものになるのですか?
0613デフォルトの名無しさん
2007/11/06(火) 23:56:01.NET抜きにして、C++コンパイラとしても開発環境としても機能は上がっている。
.NET Framework使うプロジェクトを作らなければ、
Visual C++ .NET 2002/2003でも.NETなしのネイティブプログラムが作れる。
ちなみに、現在の最新版は2005 (8.0)。ただ、上に書いたような事情は変わらず。
0614デフォルトの名無しさん
2007/11/07(水) 00:11:39ありなとうございまつ
早速VC++2005EEをインスコしますた
しかしネットだと.NET Framework使うプロジェクトか
HalloWorldみたいなウインドウすら出てこないのの解説ばかりでつなorz
猫でもわかるプログラミングでも観ることにするでつよ
0615デフォルトの名無しさん
2007/11/07(水) 00:15:34早くもオリジナルな要素を取り入れてるのか
0616デフォルトの名無しさん
2007/11/07(水) 00:24:29SDK入れなウィンドウの表示なんてできへんで〜
0617デフォルトの名無しさん
2007/11/07(水) 00:59:03大量のログをとれるようなDOSプロンプトというか、コンソールエミュレータと
いうようなものを作る場合、リッチエディットコントロールを使うのがよいので
しょうか?
それともwin32アプリにしてしまって、入出力をリダイレクトするのが良いので
しょうか?
0618デフォルトの名無しさん
2007/11/07(水) 01:00:01もまい、やさしいでつね
>>616
http://www.microsoft.com/japan/msdn/vstudio/express/visualc/usingpsdk/
をやらないと.NET Frameworkなソフトしか作れないということですか?
0619デフォルトの名無しさん
2007/11/07(水) 01:08:09特に見栄えを気にしなくてもいいのなら、「コンソールアプリ」 にするのがいちばん簡単だよ。
ログを取るだけで、画面にスクロール表示する必要がないのなら、ふつーにウインドウアプリ
でもいいし。ログだけファイルに落とせればじゅうぶんだろ?
0620デフォルトの名無しさん
2007/11/07(水) 07:29:29スクロールは使いたいですね。ログは軽く64kb以上になるので、リッチ
エディットコントロールしかないかな、と。
イベントのことはよく分かりませんけど、CLIを真似する以上はEnterキーを
見張らないとダメそうで、どうしたもんだかと悩みますね。
teratermのログ機能と、DOSプロンプトが合体したような感じが望ましいの
です。
0621デフォルトの名無しさん
2007/11/07(水) 08:39:00それぐらいの容量なら普通のエディットコントロールでも余裕でいける
0622デフォルトの名無しさん
2007/11/07(水) 21:47:520623デフォルトの名無しさん
2007/11/07(水) 23:12:570624デフォルトの名無しさん
2007/11/07(水) 23:19:28この関数でrect.leftをはじめ、ディスプレイサイズの取得が出来るのは分かるのですが、
それによってウィンドウの表示位置を変えていくのであれば、WinMainの中のCreateWindowの水平、垂直位置の更新をしなければいけませんよね?
その方法ってのはどうやるんですか?一応ウィンドウの雛形やCreateWindowの再描画などで調べたんですが、さっぱりでして。
0625デフォルトの名無しさん
2007/11/07(水) 23:50:41後で変えたいならMoveWindowとかSetWindowPlacement()など。
0626デフォルトの名無しさん
2007/11/07(水) 23:56:40取り敢えずMoveWindowについて調べてぱっと記述してみたらできました。
SetWindowPlacementについてもまた調べてみたいと思います。
ありがとうございました。
0627デフォルトの名無しさん
2007/11/08(木) 00:43:31イラネw
0628デフォルトの名無しさん
2007/11/08(木) 00:55:37あとは適当なプロジェクトを作って、適当にオプションいじっておけ。
0629デフォルトの名無しさん
2007/11/08(木) 07:17:34.rcconfigファイルの中身をどう書いたら良いかご存知の方はいませんか?
サンプルアプリケーションを見てみたのですが、
<resourceType typeNameId="#4"/>
の4が何を意味しているのかがわかりません。。
0630デフォルトの名無しさん
2007/11/08(木) 07:30:100631デフォルトの名無しさん
2007/11/08(木) 11:09:42貧乏人乙w
0632デフォルトの名無しさん
2007/11/08(木) 20:44:10Win32プロジェクトが最初から選べるのに気づいた
ところでWin32プロジェクトってインテリセンスが
使えないんだが設定が悪いのか?それとも仕様?
0633デフォルトの名無しさん
2007/11/08(木) 23:06:47Visual Studio 2005でMFCのアプリケーションをコンパイルすると
上のようなエラーがいっぱいでるのです。
これはどうやって回避すればいいのでしょうか?
0634デフォルトの名無しさん
2007/11/08(木) 23:12:48MFCで人生を棒に振った悲しいプログラマが、いったい何人いることやら。
MFC犠牲者慰霊の塔の下に眠っている幾千幾万のプログラマたちが
成仏できずに毎晩、悲痛なうめき声をあげて助けを求めているというのに。
マイクロソフト社さえ見放した禁断の果実MFCを、なぜ今更?
もうこれ以上、犠牲者が増えるのを善良な市民として見ていられない。
忘れなさい。MFCの事は忘れなさい。記憶の底から消し去るのです。
MFCなんて見なかった。聞かなかった。この世に存在しなかった。
いいですね?わかりましたね?
0635デフォルトの名無しさん
2007/11/08(木) 23:18:21C++の開発を進めています。
次に発売するVisual StudioのMFCには、Vista用のWindowsメッセージの追加。
XmlLiteなどなど、お楽しみがいっぱいです。
0636デフォルトの名無しさん
2007/11/08(木) 23:22:340637デフォルトの名無しさん
2007/11/09(金) 00:06:25VS2005の修復で直らなければ再インスコ
0638デフォルトの名無しさん
2007/11/09(金) 00:11:36プロジェクトを開いたところ,作成していたプログラムの中のラベルが全て
黒塗りに表示されてしまいました。
ビルドして実行しても黒塗りは変わりません。
直す方法はありますか?
0639デフォルトの名無しさん
2007/11/09(金) 00:45:400640デフォルトの名無しさん
2007/11/09(金) 01:22:46ちゃうよ
0641デフォルトの名無しさん
2007/11/09(金) 05:46:56まず何をするべきでしょうか?
0642デフォルトの名無しさん
2007/11/09(金) 06:24:21このスレに来たからにはVisualC++だな
0643デフォルトの名無しさん
2007/11/09(金) 06:31:52把握�d
とりあえずいろいろ調べながらいじってみます!
スレチに気付いたら黙って消えますw
0644デフォルトの名無しさん
2007/11/09(金) 14:10:53スクリーンキーボードを作ってるんですが
初期のウィンドウを非アクティブ化することができません。
どうしたらいいでしょうか?
0645デフォルトの名無しさん
2007/11/09(金) 16:13:31初期のウィンドウってなに? キーボード?
0646デフォルトの名無しさん
2007/11/09(金) 17:33:59#include<windows.h>や#include<conio.h>のヘッダが登録できてないのでしょうか。
またそうであれば、やり方を教えてください。
よろしくお願いします。
0647デフォルトの名無しさん
2007/11/09(金) 17:43:48systemを選択してF1押すべし。
0648デフォルトの名無しさん
2007/11/09(金) 17:53:24選択とはドラッグでいいんでしょうか。
F1押すとヘルプが出るんですが、どの時点で押せばいいんでしょうか・・・
0649デフォルトの名無しさん
2007/11/09(金) 18:00:11読んでも分からないなら、省略せずにそっくりそのまま掲示板に貼り付けて質問しよう。
・system関数を使うのに必要なヘッダファイルは何かな?
(あえて正解は書かないよ。自分で調べる練習しなさい。宿題です)
・getchも同様。
Visual CコンパイラはIDE統合開発環境と、コマンドラインの2種類がある。
・IDEはIDEの使い方を覚えなきゃいけないという障害は立ちふさがる。
・コマンドラインのコンパイラは環境変数の設定とかなんとかメンドクサイ。
どちらも超初心者には敷居が高い。独学はかなりの覚悟が必要。
だれか先生になってもらってくれる人がいればいいんだけどね。
0650デフォルトの名無しさん
2007/11/09(金) 18:13:30エラーメッセージは
'getch': 識別子が見つかりませんでした
'system': 識別子が見つかりませんでした
です。
ヘッダファイルは
<windows.h>
<conio.h>
だと思います。
違っていたら、調べ直すので指摘だけお願いします
0651デフォルトの名無しさん
2007/11/09(金) 18:25:31選択の説明しようと思ったけど指摘だけとのことなので省略。
まーがんばれ
0652デフォルトの名無しさん
2007/11/09(金) 18:53:40stdlib
0653デフォルトの名無しさん
2007/11/09(金) 19:40:50俺にはわかる
0654デフォルトの名無しさん
2007/11/09(金) 20:34:42実はttp://fatalita.sakura.ne.jp/TubeRPG/のサイトのlesson1を
実行したかったのですが、コンパイルは通っても画面がすぐに消え
"ハンドルされていないwin32の例外が発生しました"
と出て実行できません。
何がおかしいのでしょうか。
0655デフォルトの名無しさん
2007/11/09(金) 21:36:28書いた本人に直接聞けよ
0656デフォルトの名無しさん
2007/11/10(土) 00:33:26インデントが変態。
空白の明け方がへぼい。
思考の流れが行き当たりばったり。
0657デフォルトの名無しさん
2007/11/10(土) 01:27:18インデントが変???ぜんぜん変じゃないんだけど・・・
っつう事で、>>656 がどんな立派なコードを書いてるのか、期待age
0658デフォルトの名無しさん
2007/11/10(土) 01:27:26の
#include <windows.h>
int WINAPI WinMain(HINSTANCE hInstance , HINSTANCE hPrevInstance ,
PSTR lpCmdLine , int nCmdShow ) {
CHAR chStr[128];
wsprintf(chStr , "インスタンスハンドル : %d" , hInstance);
MessageBox(NULL , chStr , TEXT("Kitty on your lap") , MB_OK);
return 0;
}
が
エラー 1 error C2664: 'wsprintfW' : 1 番目の引数を 'CHAR [128]' から 'LPWSTR' に変換できません。(新しい機能 ; ヘルプを参照) c:\documents and settings\gald.pc-p4gald\デスクトップ\sdaf4e\sdaf4e\asdf.cpp 7
エラー 2 error C2664: 'MessageBoxW' : 2 番目の引数を 'CHAR [128]' から 'LPCWSTR' に変換できません。(新しい機能 ; ヘルプを参照) c:\documents and settings\gald.pc-p4gald\デスクトップ\sdaf4e\sdaf4e\asdf.cpp 8
というエラーで実行できないんだけど
なぜでございましょう?
つか、VBやらC#の型はわかりやすいのに
WCHARとかTCHERとかLPSTRとか理解しにくい型が多くて苦しい
0659デフォルトの名無しさん
2007/11/10(土) 01:31:08エラー通りだな
CHAR chStr[128];
を
TCHAR chStr[128];
に変更すればいいんでない?
それでエラーが出るなら、<tchar.h>をインクルードすればOK
0660デフォルトの名無しさん
2007/11/10(土) 01:32:52ANSIに変更しよう。
初心者がかならずつまづく超FAQだね。
0661デフォルトの名無しさん
2007/11/10(土) 01:42:19テンプレにでも入れた方がいい気がする
0662若者は馬鹿者 ◆KorX0HCHGU
2007/11/10(土) 01:43:24#include <windows.h>
#include <tchar.h>
int WINAPI WinMain(HINSTANCE hInstance , HINSTANCE hPrevInstance ,
PSTR lpCmdLine , int nCmdShow ) {
TCHAR chStr[128];
wsprintf(chStr , "インスタンスハンドル : %d" , hInstance);
MessageBox(NULL , chStr , TEXT("Kitty on your lap") , MB_OK);
return 0;
}
エラー 1 error C2664: 'wsprintfW' : 2 番目の引数を 'const char [26]' から 'LPCWSTR' に変換できません。(新しい機能 ; ヘルプを参照)
だそうでつ
>>660
プロジェクトのプロパティ-構成プロパティ-全般 の
文字セットを「Unicode文字セットを使用する」から「設定なし」にしたら
上記のコードが動いたわけですが、
これはソースコードそのものがUnicodeだったからダメだったってことでつか?
理由がよくわからんです
0663デフォルトの名無しさん
2007/11/10(土) 02:01:46ユニコードじゃ無いアプリケーションを、ユニコードアプリケーションとしてコンパイルしようとした。
http://www.wisdomsoft.jp/dev/api/windows/003
ここには「将来性を考えて、これから文字コードは Unicode を用いるべきです。 」とか書いてあるけど・・・
初心者はユニコードアプリには手を出さんほうがいいよ。もうすこし慣れてからがいい。
よっぽど注意深くコーディングしないと、ワケワカランことになるよ。
0664デフォルトの名無しさん
2007/11/10(土) 02:03:43_T("インスタンスハンドル : %d")
とすれば、いいよ
TCHARってのは、コンパイル時に自動で、マルチバイト文字セットとUNICODE文字セットを切り替えてくれます
文字リテラル("文字列"とか'a'とか)については、_Tもしくは、TEXTマクロで、マルチバイト文字セットとUNICODE文字セットの変更を自動でしてくるようになります
ソースコードがUNICODEとか言うんじゃなく、現在扱っている文字が何なのかをコンパイラに教えてやる必要があるって事です
それを省略したら、勝手に、ANSIとかOEMとか言う文字セットとして扱われるって事です
0665デフォルトの名無しさん
2007/11/10(土) 03:09:350666デフォルトの名無しさん
2007/11/10(土) 10:46:55ゲームの画面を(ウィンドウが隠れたりしても)表示させるために
WM_PAINTで
BitBlt(hDC2,0,0,200,200,GetDC(hWnd),0,0,SRCCOPY);
てな感じでhDC2に退避させて、ウィンドウが隠れたりして再表示する時に
hDC2から持ってくる・・・という風にしたいんですが、
1.WM_PAINTの部分で画面を退避させるという事は変でしょうか?
「普通はこうやる」っていうのがあれば教えて頂きたい。
2.退避させた画面はどの部分(ハンドラ)で戻すべきですか?
今のところ、WM_TIMERで一定時間ごとに戻してるのですが・・・
0667デフォルトの名無しさん
2007/11/10(土) 10:56:55WM_PAINTでは、そのメモリDCからウィンドウDCへのBitBltに限る。
ってのが普通。
0668デフォルトの名無しさん
2007/11/10(土) 11:32:26いまどきそんな原始的な方法なんかw
0669デフォルトの名無しさん
2007/11/10(土) 11:38:55話はそれるがReleaseDCしていないのも目に付くし。
0670デフォルトの名無しさん
2007/11/10(土) 18:42:02void main() {
0671デフォルトの名無しさん
2007/11/10(土) 18:43:53>>657
void main(){
while (1)
{
DrawMap();
}
}
--
変態かどうかは兎も角、不思議なコーディングスタイルだとは思う。
0672デフォルトの名無しさん
2007/11/11(日) 00:32:33Formねーじゃん
どうやってGUIつくんだよ
0673デフォルトの名無しさん
2007/11/11(日) 00:46:100674デフォルトの名無しさん
2007/11/11(日) 00:56:550675デフォルトの名無しさん
2007/11/11(日) 01:03:240676デフォルトの名無しさん
2007/11/11(日) 01:40:15MFCは使わず、APIのみ。
ダイアログボックスにコンボボックスを貼り付けて
内容(数字)をリストから選択するような動作をさせたいと思っています。
ワードでフォントを変更するときのコンボボックスのようなイメージです。
VC上でダイアログボックスにコンボボックスを貼り付け、
コンボボックスのプロパティのデータ にある”リストボックス項目の入力(N)”に
選択したい数字のリストを並べれば良いかと思ったのですが
実際に動かしてみると コンボボックスの▼を押してもキーボードの↓を押しても
リストが現れません。
やり方が間違っているでしょうか?
関係ないかもしれませんが手元の参考書ではリストボックスを使用する場合の方法が書いてあり
リストボックスを初期化するにはSendDlgItemMessage()関数を使用するとのことだったので
試しにやってみましたがリストボックスではリストに文字列を追加できましたがコンボボックスでは追加されませんでした。
内容に不足などありましたらご指摘をお願いします。
0677デフォルトの名無しさん
2007/11/11(日) 05:28:25>リストが現れません。
ああこれね
0678676
2007/11/11(日) 07:36:53おはようございます。
良くある質問でしょうか?
申し訳ないですが質問内容が間違ってました。
▼ボタンを押すとドロップダウンリストは出ます。
しかし、中が空っぽです。
リソースエディタで入力した内容を反映させたいのですが。
0679デフォルトの名無しさん
2007/11/11(日) 08:28:15>リストボックスではリストに文字列を追加できましたがコンボボックスでは追加されませんでした
問題はこれか
068096
2007/11/11(日) 09:14:14// Dialog
//
IDD_CONFIG DIALOG DISCARDABLE 125, 110, 194, 95
STYLE DS_SYSMODAL | DS_SETFOREGROUND | DS_3DLOOK | WS_POPUP | WS_VISIBLE |
WS_CAPTION
CAPTION "CONFIG"
FONT 9, "MS Pゴシック"
BEGIN
LTEXT "コンボボックスで値を選択してください",IDC_STATIC,7,19,77,8
PUSHBUTTON "OK",IDC_CONFIG_OK,133,14,26,15
COMBOBOX IDC_COMBO2,86,16,46,71,CBS_DROPDOWNLIST |
CBS_NOINTEGRALHEIGHT | WS_TABSTOP
END
// Dialog Info
//
IDD_CONFIG DLGINIT
BEGIN ←コンボボックスのリストに表示したい値(1〜20の数字)
IDC_COMBO2, 0x403, 2, 0
0x0031,
IDC_COMBO2, 0x403, 2, 0
〜〜〜〜省略〜〜〜〜〜〜〜〜
IDC_COMBO2, 0x403, 3, 0
0x3931, "\000"
IDC_COMBO2, 0x403, 3, 0
0x3032, "\000"
0
END
0681676=680
2007/11/11(日) 09:15:520682デフォルトの名無しさん
2007/11/11(日) 09:31:42リソースビューの*.rcを選んでプロパティを見てもらえば分かるが、
'Mfc Mode'という項目が用意されている。
これをFalseにすると、コンボボックスのプロパティでData部分が無効になる。
0683676
2007/11/11(日) 13:38:36なるほどそういうことでしたか。
ありがとうございます。
リストの値をSendDlgItemMessage()関数で追加できないと書きましたが
参考書で引数に LB_ADDSTRING を指定しているところで
CB_ADDSTRING を指定するようにしたところリストに追加できました。
ありがとうございました。
0684デフォルトの名無しさん
2007/11/11(日) 15:40:55Visual C++ .net 2005で開発を行っています。
フォーム(Form1)やピクチャボックス(pictureBox1)に簡単なグラフを表示させたいのですが、
button1_Click等で描画すると、一度非表示になった部分の線が消えてしまいます。
Form1_Paintイベント内で描画すれば解決するのですが、毎回データを読み込んだり計算するのが
無駄に感じます。
Form1で非表示になった部分を消さないための方法はあるのでしょうか?
または、なんらかのバッファに描画して、それをForm1_Paint内で毎回読み出すという方法のほうがいいのでしょうか?
そのための方法等があれば教えてください。
よろしくお願いします。
0685684
2007/11/11(日) 15:44:04線は、
Graphics^ gr = pictureBox1->CreateGraphics();
Pen^ pen1 = gcnew Pen(Color::Black,2);
gr->DrawLine(pen1,10,10,200,200);
こんな感じで書いています。
0686デフォルトの名無しさん
2007/11/11(日) 22:25:30Imageに描いて、Paintイベントでgr->DrawImage
0687648
2007/11/12(月) 00:13:47なるほど、ありがとうございます。
Bitmapをバッファとして使い、Graphics::FromImageで取り込んだイメージに対して、
描画を行いました。おかげでうまくいきました。
↓みたいな感じでよろしいでしょうか? 何か改善点があればご指摘お願いします。
Bitmap^ bmap1;
private: System::Void mnDraw_Click(System::Object^ sender, System::EventArgs^ e) {
Pen^ pen1 = gcnew Pen(Color::Black,2);
Graphics^ gr1 = Graphics::FromImage(bmap1);
gr1->DrawLine(pen1,10,10,100,100);
// gr1->Dispose(); //なぜかエラーになる
Form1::Refresh();
}
private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) {
bmap1 = gcnew Bitmap(200,200);
}
private: System::Void Form1_Paint(System::Object^ sender, System::Windows::Forms::PaintEventArgs^ e) {
e->Graphics->DrawImage(bmap1,100,100,200,200);
}
0688デフォルトの名無しさん
2007/11/12(月) 00:15:57Bitmap^ の 「^ 」 ってどういう意味?
0689若者は馬鹿者 ◆KorX0HCHGU
2007/11/12(月) 00:16:21VSの出力の部分にウインドウメッセージを表示したいのですが
.netでいうSystem.Diagnostics.Debug.Printに相当する機能はないですか?
0690デフォルトの名無しさん
2007/11/12(月) 00:18:17ドットネットの質問は他所でやれ馬鹿者!
0691デフォルトの名無しさん
2007/11/12(月) 00:24:380692684
2007/11/12(月) 01:09:01自動でガーベージコレクションをやってくれるようです。ようは、使い終わったら勝手にメモリを開放してくれるらしい。
0693デフォルトの名無しさん
2007/11/12(月) 03:14:25なるほどー 2005からの機能ですね
0694デフォルトの名無しさん
2007/11/12(月) 08:44:30メモリデバイスコンテキストでマウスカーソル周辺を拡大したものを
ディスプレイのデバイスコンテキストに転送してるんですが、
マウスを移動させたときに先ほど拡大した部分を元に戻して
移動先のマウスカーソル周辺をまた拡大という風にしたいんです。
ですが、毎回GetDC(0)をしたとしても拡大した後のディスプレイでは初期化できないし、
hdc2という二つ目のデバイスコンテキストに拡大前の状態を退避させて
hdc1に復活させようと思ったのですがうまくいきません。
さらに、メニューを開いたり新たにソフトを起動させたりと、
刻々と変化するディスプレイの状態を追いかけつつ拡大できるようにしたいのです。
探し方が悪いのかもしれませんが、
いろいろ検索しましたが良い解決法が見つかりませんでした。
それに虫眼鏡のプログラミングを解説してるサイトもなさげだし・・・。
このような場合、どのような方法を用いればいいのでしょうか?
よろしくお願いします。
0695デフォルトの名無しさん
2007/11/12(月) 09:49:55/****************************** Module Header *******************************
* Module Name: zoomin.c
*
* Microsoft ZoomIn utility. This tool magnifies a portion of the screen,
* allowing you to see things at a pixel level.
*
* History:
* 01/01/88 Created.
* 01/01/92 Ported to NT.
* 03/06/92 Cleanup.
*
****************************************************************************/
0696デフォルトの名無しさん
2007/11/12(月) 10:35:31.netを使ったC++/CLI は、普通のC++とは全く別物
.net使いたいならC#がいいと思う
0697デフォルトの名無しさん
2007/11/12(月) 12:45:260699デフォルトの名無しさん
2007/11/12(月) 16:26:41Platform SDKはインストールしてる?
0700デフォルトの名無しさん
2007/11/12(月) 17:51:17ちなみにOSはWindowsXP Home Editionです。
ネット上の解説サイトで、Visual C++ Express Editionを使って
Windowsアプリケーションを作成する場合にはPlatform SDKが必要と書いてあるんですが、
Visual Studio 2005を使う際にもPlatform SDKをインストールしておいたほうが良いでしょうか?
0701デフォルトの名無しさん
2007/11/12(月) 17:58:14DirectXには、DirectX SDKが必要。
ただし、DirectShowには上2つの内どちらかが必要。
0702デフォルトの名無しさん
2007/11/12(月) 18:04:12ありがとうございます。
DirectShowが何かよくわかりませんが、
解説本がPlatform SDKで進めているので、
これとDirectX SDKでやってみます。
0703デフォルトの名無しさん
2007/11/12(月) 18:20:49プログラム実行中にコードを書き換えてAlt+F9を押すと、動的にプログラム
の内容を変えてくれますが、ボタンを押しても出来ない時があります。
これは何が原因なのでしょうか?
0704700
2007/11/12(月) 20:24:35DirectXのテストをしようと、
D:\Program Files\Microsoft DirectX SDK (November 2007)\Samples\C++\Direct3D\Tutorials\Tut01_CreateDevice\CreateDevice.cpp
を自分のプロジェクトフォルダにコピー、既存の項目を追加して、
ソリューションのビルドをしてみると以下のエラーが出ました。
CreateDevice.obj : error LNK2019: 未解決の外部シンボル _Direct3DCreate9@4 が関数 "long __cdecl InitD3D(struct HWND__ *)" (?InitD3D@@YAJPAUHWND__@@@Z) で参照されました。
C:\Documents and Settings\(ユーザ名)\My Documents\Visual Studio 2005\Projects\d3dtest01\Debug\d3dtest01.exe : fatal error LNK1120: 外部参照 1 が未解決です。
そこで、Direct3DCreate9を含む「d3d9.lib」をプロジェクト名→プロパティ→リンカ→入力の「既存の依存ファイル」に追加したのですが、
まだ同じエラーが起こります。
D:\Program Files\Microsoft Platform SDK\Bin/Lib/Includeのパスは追加したのですが、
他に何が原因なんでしょうか?
0705デフォルトの名無しさん
2007/11/13(火) 05:16:160706700
2007/11/13(火) 09:42:22ご迷惑かけました。
>>705
もうインストールしてます。
D:\Program Files\Microsoft DirectX SDK (November 2007)\Samples\C++\Direct3D\Tutorials\Tut01_CreateDevice\CreateDevice.cpp
があるんですから。
0707デフォルトの名無しさん
2007/11/13(火) 09:53:11また同じことやるな。
0708デフォルトの名無しさん
2007/11/13(火) 12:40:32どういった場合があげられるのでしょうか
例だとこんな感じです
tesはワーカースレッド等でTRUEにします
tes=FALSE
while(1){
while(1){
if(tes!=FALSE){
break;
}
}
tes=FALSE;
break;
}
0709デフォルトの名無しさん
2007/11/13(火) 12:43:160710708
2007/11/13(火) 12:44:07tesはTRUEでした
0711デフォルトの名無しさん
2007/11/13(火) 13:32:440712デフォルトの名無しさん
2007/11/13(火) 14:17:440713デフォルトの名無しさん
2007/11/13(火) 14:19:46たまにあるんですがと書いてるだろうが
0714デフォルトの名無しさん
2007/11/13(火) 14:41:300715デフォルトの名無しさん
2007/11/13(火) 20:16:530716デフォルトの名無しさん
2007/11/13(火) 21:14:07どういう理由でしょうか?回避方法はあるでしょうか?
0717デフォルトの名無しさん
2007/11/13(火) 21:25:280718716
2007/11/13(火) 21:56:32そのはずだと思うのですが
” で囲まない場合、ビルド時にエラーは出ませんが実行しても
そのリソースが表示されません。
ビルド時に読み込めていないのではないかと思っているのですがどうでしょうか?
リソースビューのツリーには表示されないリソース、例えばダイアログの中のエディットボックスなどは " で囲まなくても
ちゃんとビルドされています。
0719デフォルトの名無しさん
2007/11/13(火) 22:23:10ソース側もそれに合わせて直さないと動かないぞ。
// 囲まずに宣言(リソースはresource.hで宣言されたIDで識別される)
IDB_BITMAP
LoadBitmap(hinst, MAKEINTRESOURCE(IDB_BITMAP));
// 囲んで宣言(リソースは文字列で識別される)
"IDB_BITMAP"
LoadBitmap(hinst, _T("IDB_BITMAP"));
こんな感じで。
0720デフォルトの名無しさん
2007/11/14(水) 01:00:36うまくいきました。
ありがとうございました。
0721694
2007/11/14(水) 01:37:06複雑で何がなんだかさっぱりって感じで・・・。
どなたか>>694の質問なんですが
アドバイスいただけないでしょうか?
ヒントだけでもいいので・・・。
0722デフォルトの名無しさん
2007/11/14(水) 11:25:14iso版 Visual C++ 2005 ExpressをCDに焼いてから
インターネットつないでいないパソコンにインストールして
その後 インターネットにつながっているパソコンから登録して
ライセンスキーもらってそのコードでライセンス登録いけるのかな
0723デフォルトの名無しさん
2007/11/14(水) 12:06:14ライセンスキーはない。ネットでの登録は任意。
プロジェクトを1つ作ってセーブすると登録うんぬんのメッセージは出なくなる。
0724デフォルトの名無しさん
2007/11/14(水) 14:20:380725デフォルトの名無しさん
2007/11/14(水) 15:04:13どの辺がうまくいかないの?
技術的にはそんなに難しいところは無いと思うけど。
0726デフォルトの名無しさん
2007/11/14(水) 18:26:33エディットボックスをダイアログ表示時の
フォーカス初期位置にしたいのですが
どうすればいいのでしょうか?
0727デフォルトの名無しさん
2007/11/14(水) 20:19:21デバッガで変数の中身を覗く際std::vectorの中身が覗けなくて困っています
First。つまり最初の要素だけは見えるのですが…
固定長配列の時のように、vectorの中身を気軽に覗く方法はないでしょうか?
0728デフォルトの名無しさん
2007/11/14(水) 20:32:540729デフォルトの名無しさん
2007/11/14(水) 20:43:370730デフォルトの名無しさん
2007/11/14(水) 20:47:010731デフォルトの名無しさん
2007/11/14(水) 20:50:08Visual C++ 9.0(日本語版)使ってるのですが、
コンパイル時のエラーメッセージが英語で出ます。
日本語で表示するようにしたいのですが、
可能であれば、やり方教えてください。。
例)'a' : undeclared identifier
0732デフォルトの名無しさん
2007/11/14(水) 23:05:310733721
2007/11/14(水) 23:53:33カーソルを移動させたときに以前の座標で拡大していた部分を元に戻したいんです。
元に戻すために、拡大していない画面をどのように保存したらいいのかわからないんです。
それとももっとほかに良い方法あるんでしょうか?
0734デフォルトの名無しさん
2007/11/15(木) 02:58:15>>694の仕様を見る限り、拡大された領域にある個々のアプリを無効化して
再描画して貰うしかないんじゃないかな。相手が自分で再描画を繰り返す
場合は綺麗に動かないと思うけど。
仕様に無理がある気がする。
0735デフォルトの名無しさん
2007/11/15(木) 08:59:35タブオーダーの設定じゃ、行かないんだっけ?
姑息な方法だと、WM_PAINTのハンドラで
最初の一回だけCDialog::GotoDlgCtrl(xxx)
0736デフォルトの名無しさん
2007/11/15(木) 14:04:370737デフォルトの名無しさん
2007/11/15(木) 14:05:08OnInitDialog()ね
0738デフォルトの名無しさん
2007/11/15(木) 19:39:41どうすれば彼女ができますか?
0739デフォルトの名無しさん
2007/11/15(木) 20:05:23パソコンから一切手を引け
2chにも来るな
0740デフォルトの名無しさん
2007/11/15(木) 21:15:55一々#importするのは面倒なのでDLLにどんな関数やクラスが含まれているかを閲覧するソフトを知りたいんですが
どなたかご存知ありませんかね?
0741デフォルトの名無しさん
2007/11/15(木) 21:37:57VC++に付いてきた気もするが、
なければPlatform SDKやWindows SDKを入れれば付いてくる。
あとは.NET 2002以上なら参照設定してみるとか、
オートメーションならExcelほかVBAのオブジェクトビューアなんて手もある。
0742デフォルトの名無しさん
2007/11/15(木) 22:26:15どうもありがとうございます
一応目的は達成できました。この手のdllはType Libraryというのですね…
参照は.NET専用だからnative C++では使えないっぽいですね
0743デフォルトの名無しさん
2007/11/16(金) 05:18:20レジスターが書き換えられてディスクトップがぐちゃぐちゃになって、
エキスプローラでホルダーをクィックしても動かなく
なってしまいました。どうすればレジスターを修復で
きますか? ソフトはWindous95で機種はBMWの
アクティバです。接続環境はフレッシュISBNです。
ヤッホーやゴーグルなどの検索で調べても解らないので
ツーチャンネルの皆様、ご指導よろしくお願いします
0744デフォルトの名無しさん
2007/11/16(金) 09:21:47#include <stdio.h>
void main(){
while(1){
printf ("大好き! \n");
}
}
0745デフォルトの名無しさん
2007/11/16(金) 09:21:560747デフォルトの名無しさん
2007/11/16(金) 10:42:02?
0748デフォルトの名無しさん
2007/11/16(金) 12:07:39!
0749デフォルトの名無しさん
2007/11/16(金) 12:36:11&
0750デフォルトの名無しさん
2007/11/16(金) 17:16:02( ゚д゚ )
0751デフォルトの名無しさん
2007/11/16(金) 17:21:09"-"
0752デフォルトの名無しさん
2007/11/16(金) 17:35:14凸
0753デフォルトの名無しさん
2007/11/16(金) 18:09:23凹
0754デフォルトの名無しさん
2007/11/16(金) 20:52:290755デフォルトの名無しさん
2007/11/17(土) 11:33:12グループボックスを作りそれにボタンやリストを貼り付けたのだが
メニューやボタンなどのアクションをしても
普通の動きをせず、ウィンドウが再描写?されません。
どうしたら回避できるでしょうか?
0756デフォルトの名無しさん
2007/11/17(土) 12:03:550757デフォルトの名無しさん
2007/11/17(土) 12:59:130758デフォルトの名無しさん
2007/11/17(土) 18:05:30とりあえず値を出力に出しているのですが
何千ループもするので大量の数字が出てきます.
最大値だけチェックしたいのでたくさん数字が出てもあまり必要ないのです.
ソース内にmax関数を入れてそれで最大値をとればいいのですが
あまりソースには書きたくないのでデバッガで何とかウォッチする方法が知りたいです.
0759755
2007/11/17(土) 18:06:58作成部とアクション部を載せると
swich(message) {
case WM_CREATE :
// 要素作成
Create();
break;
・
・
void Create() {
HWND hButton, HWND hGroup;
// ウィンドウに貼り付ける
hGroup = CreateWindow("BUTTON", TEXT("testgroup"),
WS_CHILD | WS_VISIBLE | BS_GROUPBOX,
20, 20, 170, 170, hWnd, (HMENU)ID_BUTTON, hInst ,NULL);
// グループボックスに貼り付ける
hButton = CreateWindow("BUTTON", "test",
WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
90, 80, 40, 30, hGroup, (HMENU)ID_BUTTON, hInst ,NULL);
CreateList(hGroup);
}
続く・・・
0760755
2007/11/17(土) 18:10:30LV_COLUMN lvcol;
LV_ITEM item;
// グループボックスに貼り付ける
g_hList = CreateWindowEx(0, WC_LISTVIEW, TEXT(""),
WS_CHILD | WS_VISIBLE | LVS_REPORT,
20, 20, 100, 50, hGroup, (HMENU)ID_LISTVIEW, hInst, NULL);
// リストヘッダ1に名前挿入
lvcol.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
lvcol.fmt = LVCFMT_LEFT;
lvcol.cx = 50;
lvcol.pszText = TEXT("名前");
lvcol.iSubItem = 0;
ListView_InsertColumn(g_hList, 0, &lvcol);
// リストヘッダ2に名前挿入
lvcol.cx = 50;
lvcol.pszText = TEXT("住所");
lvcol.iSubItem = 1;
ListView_InsertColumn(g_hList, 1, &lvcol);
}
続く・・・
0761755
2007/11/17(土) 18:12:16case WM_COMMAND:
switch(LOWORD(wParam)) {
case IDM_status: // リソーススクリプトで作成したメニューID
・
・
break;
case ID_BUTTON:
SetList(); // リストにアイテムを追加する関数
break;
}
break;
メニューアイテムやボタン等でアクションを起こすと
結果が適応されずメニューアイテムが消えずに残ったり
ボタンのアクションをしてくれません。
その後、ウィンドウを移動させると
ウィンドウが再描写され?結果が表示されます。
(メニューアイテムからリストにアイテムを追加するというのを
作ったので、それは再描写後表示されます。
ボタンの結果は表示しれくれませんが)
グループボックスは後からつけたもので、
これをつける前、リスト等は直接ウィンドウに貼り付け
期待した動作をしてくれていました。
グループボックスをつけても上の動作をするためには
どうしたらいいでしょうか。
長くなってしまいましたがよろしくお願いします
0762デフォルトの名無しさん
2007/11/17(土) 19:38:14ラベルと同じようなものだと考えればいい。
グループボックスは必要な部分しか描画しないので、
中に他のコントロールがあっても問題無く描画される。
何故ボタンの一スタイルなのかは永遠の謎だけどな。
0763755
2007/11/17(土) 20:14:41つまり全てウィンドウに直接貼り付ければいいと
いうことですね。
なにぶん自宅に環境がないため確認できないですが。。。
確かにボタンというのは謎ですね。
グループボックスを作る際、調べるときに
ボタンはさすがに思いつきませんでしたよ・・・
0764デフォルトの名無しさん
2007/11/18(日) 20:07:55それともMFCでつか?
0765デフォルトの名無しさん
2007/11/18(日) 20:57:010766OPENCV
2007/11/19(月) 00:07:56IplImage *img = cvLoadImage("hello.jpg");
int wid = (*img).width;
int hei = (*img).height;
int sirokuro[wid][hei];
というコードが通りません。
「error C2057: 定数式が必要です。
サイズが 0 の配列を割り当てまたは宣言しようとしました。
'sirokuro' : 添字がありません。」
と言われてしまいます。
IplImageとは
typedef struct _IplImage
{
途中省略
int width; /* image width in pixels */
int height; /* image height in pixels */
}
IplImage;
と宣言されているものです。
一番上のコードの3行目の後でcoutによりwidやheiの値を確認すると、
思い通りに画像のwidth,heightが出力されます。
しかし4行目の配列宣言が通りません。
分かる方、教えてください。よろしくお願いします。
0767デフォルトの名無しさん
2007/11/19(月) 00:50:030768デフォルトの名無しさん
2007/11/19(月) 01:01:53sirokuro[x+y*wid] = なんとか
0769OPENCV
2007/11/19(月) 01:50:47>>768
ありがとうございます。newで解決できそうです。
newはC言語でいうmallocだと思っています。
動的にメモリを確保するためのものだと。
しかし今回、sirokuroというint型二次元配列はずっと使うため、
解放しなくてもいいと考えています。
なぜnewが必要になるのか、分かる方がいらっしゃいましたら
教えてください。よろしくお願いします。
0770デフォルトの名無しさん
2007/11/19(月) 01:57:390771OPENCV
2007/11/19(月) 02:17:31わかりやすく簡潔な回答、ありがとうございます。
すべて疑問が解決しました。みなさまありがとうございました。
0772デフォルトの名無しさん
2007/11/19(月) 10:09:48(*img).width;
は
img->width;
じゃいかんのか?
0773デフォルトの名無しさん
2007/11/19(月) 10:15:58それ以外は単に冗長になるだけだと思うなぁ
0774デフォルトの名無しさん
2007/11/19(月) 13:49:19話がややこしくなるだけだろ、これ。
0775デフォルトの名無しさん
2007/11/19(月) 14:07:05簡単になるからな
複素数や行列や文字列をオーバーロードで同じ書き方が出来る
0776デフォルトの名無しさん
2007/11/19(月) 15:32:030777デフォルトの名無しさん
2007/11/19(月) 15:53:38A、Bを行列のデータ(class)とするとき 行列の積を A*Bで出来るようにするやつ
0778デフォルトの名無しさん
2007/11/19(月) 16:28:110779デフォルトの名無しさん
2007/11/19(月) 16:43:11通常のwin32プロジェクトとダイアログベースでは
プロシージャなどの書き方等、色々と変わるようですが
ダイアログベースでは出来ないこと、不都合な点というのはあるのでしょうか?
0780デフォルトの名無しさん
2007/11/19(月) 16:56:210781デフォルトの名無しさん
2007/11/19(月) 22:07:06あと、スタックに画像みたいなでかいものを確保したら、
スタックオーバーフローする場合があるから。
C99だとint sirokuro[wid][hei];ができるし、
固定値で多めにとっておくとかした場合にね。
0782デフォルトの名無しさん
2007/11/19(月) 23:38:06「このアプリケーションの構成が正しくないため、アプリケーションを開始できませんでした」
というエラーメッセージが返ってきてしまいます。
ググってみたところ、プロパティ→C/C++→コード生成→ランタイムライブラリを、「マルチスレッド(/MT)」
にすればいいと書いてあったので、変更してビルドしてみたところ、今度は
「MSVCR80.dll」が見つからなかったため、このアプリケーションを開始できませんでした」
というエラーメッセージが返ってきてしまいました。
ググってみても、やはりマルチスレッド(/MT)にしろといった解決法しか見つかりませんでした。
MSVCR80.dllに依存しない.exeを作成するにはどうすればよいでしょうか。
0783782
2007/11/20(火) 00:00:35msvcr80.dllを
C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_0de06acd
からコピーして
C:\WINDOWS\system32
にコピーしてみたところ
「アプリケーションを正しく初期化できませんでした(0x80000003)。」
というエラーメッセージが出てしまいました。
msvcr80.dllを参照できるようにしても起動出来ないということでしょうか…。
0784デフォルトの名無しさん
2007/11/20(火) 00:09:51それはデバックビルドをしてるからだ。2005ならメニューバーのとこにdebugって書いてあるのを、
releaseに直して、ちゃんと文字セットも直してビルドして、releaseフォルダに出来た*.exeを配布すればおkだぜ
0785デフォルトの名無しさん
2007/11/20(火) 00:55:15VC6で単精度な浮動小数点の
正規化数・非正規化数を区別したいんですけど
専用の関数ってあるんでしょうか?
やっぱり自前でビットをマスクした方が早いんでしょうか?
0786デフォルトの名無しさん
2007/11/20(火) 01:45:11そんな設定変えなくとも、ランタイムをインストールすればいい。msvcr80.dllがインストールされる。
SP1が当たっているかどうかで別ファイルになっていることに要注意。
SP1 ttp://www.microsoft.com/downloads/details.aspx?FamilyID=200b2fd9-ae1a-4a14-984d-389c36f85647&DisplayLang=ja
無印 ttp://www.microsoft.com/downloads/details.aspx?FamilyID=32bc1bee-a3f9-4c13-9c99-220b62a191ee&DisplayLang=ja
>>783
http://msdn2.microsoft.com/ja-jp/library/ms235624(VS.80).aspx
VC++ 2005のランタイムからはmanifestを書かないと使えなくなった。
msvcr80.dllなどはガードが固く、そうやって無理に読み込ませようとすると、そういう風にエラーになる。
manifestに対応しているWindowsはXP/2003以降なので、
それ以前のなら今までどおりのSystem32のようなパスの通った所に置くだけで使える。
0787デフォルトの名無しさん
2007/11/20(火) 11:11:02ずっとC#漬けの毎日だったんですがC++もやる必要があり、久しぶりに新規ソリューション作って
テストプログラムを作りました。
内容は、環境変数の内容をリストボックスに表示するというものです。
private: System::Void button1_Click(System::Object * sender, System::EventArgs * e)
{
string s = getenv(textBox1->Text);
listBox1->Items->Add(textBox1->Text + " = " + s);
}
これをコンパイルすると
error C2065: 's' : 定義されていない識別子です。
error C2065: 'string' : 定義されていない識別子です。
って出ます。
こんな初歩的なところでつまづくとは思わんかった…。
何がいけないんでしょうか?
0788デフォルトの名無しさん
2007/11/20(火) 11:20:43C#ではstringはSystem.Stringのエイリアスのようだが
C++/CLIではそうなってない。
0789デフォルトの名無しさん
2007/11/20(火) 11:24:43using namespace std;
class Rocket
{
int f; // 燃料
int v; // 速度
int h; // 高度
public:
Rocket()
{
f=100;
v= 0;
h= 0;
}
0790デフォルトの名無しさん
2007/11/20(火) 11:25:33{
f = f - b ; //fのあたいを十減らす
v = v + b ; //vの値を十増やす
h = h + v ; //hの値をvだけ増やす
}
int GetF() const
{
return f;
}
};
int main()
{
Rocket x;
x.Report ();
int a;
// 燃料がなくなるまで以下の4行を繰り返す。
while (x.GetF() > 0)
{
cout << "どれだけ加速する";
cin >> a;
x.Accel (a) ;
x.Report ();
}
}
0791787
2007/11/20(火) 11:28:02ありがとうございます。
#include <iostream>
using namespace std;
この定義が必要なんですね。
なんとめんどくさい…。
0792デフォルトの名無しさん
2007/11/20(火) 11:31:51何がしたいの?
# どうでもいいけど、燃料を消費した分丸々速度を増やせるって無茶苦茶過ぎると思うぞ。
>>787
つ[include]
# 790は関係ないぞw
case WM_CREATE:
hDC = GetDC(hWnd);
hBackDC = CreateCompatibleDC(hDC);
hBitmap1 = CreateCompatibleBitmap(hDC, 450,396);
SelectObject(hBackDC, hBitmap1);
SetTimer(hWnd, 1, 1000, NULL);
return TRUE;
case WM_TIMER:
InvalidateRect(hWnd,NULL,FALSE);
return TRUE;
WM_PAINT
hDC = BeginPaint(hWnd,&ps);
BitBlt(hDC,0,0,450,396,hBackDC,0,0,SRCCOPY);
EndPaint(hWnd,&ps);
return 0;
SetTimerで1秒毎に画面の再描画をしているので、画面がちらついてしまいそれを抑えようと思ってダブルバッファリングを加えようと思ったんですが、
WM_PAINT内に
hDC = GetDC(hWnd);
hBackDC = CreateCompatibleDC(hDC);
hBitmap1 = CreateCompatibleBitmap(hDC, 450,396);
SelectObject(hBackDC, hBitmap1);
を記述すれば普通に画面が表示されるんですが、それでは時間経過と共にページファイルが凄い事になってしまいます・・
調べていくと元々ダブルバッファリングはWM_CREATEでやるようで、
WM_PAINTではBitBltをするだけのようですが、それがうまくいきません。
Run-Time Check Failure #3 - The Variable 'hBackDC' is being used without being defined.とエラーダイアログが出ます。
WM_PAINT内を消すと空ウィンドウですがエラーはでなくなります。
長くなりましたが、是非お願いします。
0795超初心者
2007/11/20(火) 13:21:43的外れな質問かもしれませんがヒントだけでもください
0796デフォルトの名無しさん
2007/11/20(火) 13:32:310797デフォルトの名無しさん
2007/11/20(火) 13:32:53マウスとキーボード使えばできるよ
0798デフォルトの名無しさん
2007/11/20(火) 13:34:58WinAPI知らんからよく判らんが、
・CreateDCしたオブジェクトはどっかで解放するべきではないの?
・hBackDCが有効かどうかテストしてからBitBltすればいいんでないの?
とは思った。
0799超初心者
2007/11/20(火) 13:35:430800デフォルトの名無しさん
2007/11/20(火) 13:38:16まずは日本語から勉強したほうがいいみたいだな
それに回答者はエスパーじゃない
「具体的に」どうしたいのか?が無いと答えられない
0801デフォルトの名無しさん
2007/11/20(火) 13:39:56>1を見れば判るように、ここはプログラミング以前の質問をする場所ではありません。
0802デフォルトの名無しさん
2007/11/20(火) 14:07:32hBackDCはどこでどんなふうに宣言してる?
0803超初心者
2007/11/20(火) 14:13:07スキンでデザインをカスタマイズしたようにしたいんです
0804デフォルトの名無しさん
2007/11/20(火) 14:15:28開放ってのはreleaseDCですか?
>>802
LRESULT CALLBACK WndProc(HWND hWnd,
UINT message,
WPARAM wParam,
LPARAM lParam)
{
HDC hDC,hMemDC,hBackDC,memDC;
PAINTSTRUCT ps;
上記の位置でまとめて宣言してます。
0805デフォルトの名無しさん
2007/11/20(火) 14:17:26そりゃ無理でしょ。
CREATE時のDCとPAINT時のDCは別物じゃん。
そのプロシージャ使うウィンドウが1つしかないなら、とりあえずstaticつけて試してみ。
0806デフォルトの名無しさん
2007/11/20(火) 14:23:00グラフィカルな画面を作りたいってことなら、DotNetMagicなどのライブラリを使えばいいんじゃないか。
もしくはコンポーネントごとにオーナードロー使って自分で描画するとか。
0807デフォルトの名無しさん
2007/11/20(火) 14:27:34できました!
WndProcの中で使うのでstaticはいらないのかと思ってたんですが、必要だったんですね^^;
それと、ついでの質問になってしまうんですが、今ダブルバッファが出来たんですが、時計の表示が動かなくなってしまいました。
case WM_TIMER:で InvalidateRect(hWnd,NULL,FALSE);を書いてるんですが、WM_PAINTに時間表示がないからですよね?
ウィンドウの塗りつぶしをしているんですが、WM_PAINTでBitBlt以降に表示を追加すると、塗りつぶしが消えてしまうんです;
これはどう回避したらいいでしょうか?
0808デフォルトの名無しさん
2007/11/20(火) 14:37:24SetTextModeで TRANSPARENT 指定するとか?
0809デフォルトの名無しさん
2007/11/20(火) 15:10:33ページファイルがどうのってのはなくなると思うよ。
GetしたらRelease、CreateしたらDelete。
WM_CREATEで作ったのならWM_DESTROYあたりで
0810デフォルトの名無しさん
2007/11/20(火) 15:10:34Rectangle()などを使って、背景に色を塗ってから文字表示などしているんですが、BitBlt以降に文字表示をしてしまうと、
文字の周りが白くなってしまうんです。
0811デフォルトの名無しさん
2007/11/20(火) 15:14:41>808
0812808
2007/11/20(火) 15:31:45SetBkMode(hDC, TRANSPARENT);
0813デフォルトの名無しさん
2007/11/20(火) 15:31:59そのSetTextModeですが、識別子が見つからないといわれるのは何故でしょう?
0814デフォルトの名無しさん
2007/11/20(火) 15:33:21TRANSPARENTで探せば見つかったと思うが・・・
0815デフォルトの名無しさん
2007/11/20(火) 15:43:01SetBkならできました。教えて頂いてかなり進歩できました。
ありがとうございました。
0816デフォルトの名無しさん
2007/11/20(火) 17:20:43環境は VS2003 C++ です。
環境変数を取得してリストボックスに表示する処理を作っています。
listBox1->Items->Add( getenv(textBox1->Text) );
としたい所なのですが、キャストがらみのエラーが出るので
CString cs(textBox1->Text);
std::string s = cs + " = " + getenv(cs);
System::String* s2 = s1.c_str();
listBox1->Items->Add(s);
としました。
一応、動くからいいのですが、C#であれば1行ですむような処理です。
なんでC++だと4行もかかってしまうのか…。
もっと良い方法あるでしょうか?
0817816
2007/11/20(火) 17:23:58CString cs(textBox1->Text);
string s1 = cs + " = " + getenv(cs);
System::String* s2 = s1.c_str();
listBox1->Items->Add(s2);
0818デフォルトの名無しさん
2007/11/20(火) 17:29:28using System::Environment;
using System::String;
String* cs = textBox1->Text;
listBox1->Items->Add(cs + " = " + Environment::GetEnvironmentVariable(cs));
0819デフォルトの名無しさん
2007/11/20(火) 17:46:45なんでわざわざstd::stringやSystem::Stringに入れ直しているの?
それやめるだけで2行で済むと思うけど。
つーか、C#だとどう1行で済むのよ。普通に書けば2行でしょうが。
0820教えてください
2007/11/20(火) 18:15:15C言語初心者です。
環境windwos98でvisualスタジオ6.0を使ってます。
ファイルの保存先を別のフォルダに保存する時にどのようにすればよろしい
でしょうか?
例えば、subというフォルダはあるのですが、その中に保存したいです。
0821デフォルトの名無しさん
2007/11/20(火) 18:24:02ファイルに保存するロジックは既にあると言う前堤で、
ファイル名をフルパス名か相対パス名にするだけ。
0822816
2007/11/20(火) 18:24:31ありがとうございます。
ただ、
listBox1->Items->Add(cs + " = " + Environment::GetEnvironmentVariable(cs));
ですと、
error C2845: '+' : __gc ポインタ 'System::String __gc *' に対してポインタ演算ができません。
というエラーがでます。
listBox1->Items->Add(Environment::GetEnvironmentVariable(cs));
ですとエラーはでませんでした。
System::String* 型には + 演算子はサポートされていないようですね。
>>819
回答ありがとうございます。
>なんでわざわざstd::stringやSystem::Stringに入れ直しているの?
>それやめるだけで2行で済むと思うけど。
error C2845: '+' : __gc ポインタ 'System::String __gc *' に対してポインタ演算ができません。
などのエラーが出るからです。
>つーか、C#だとどう1行で済むのよ。普通に書けば2行でしょうが。
C#の場合、文字列と言えばSystem.String型だけなので、試してはいませんが、
listBox1.Items.Add(cs + " = " + GetEnvironmentVariable(textBox1->Text));
このように1行にできると思いまして…。
0823デフォルトの名無しさん
2007/11/20(火) 18:31:39馬鹿?
>listBox1.Items.Add(cs + " = " + GetEnvironmentVariable(textBox1->Text));
それじゃ、csを作るのに結局もう1行消費するじゃん。
System::Stringが足し算できないなら使わなければいい。
CString cs(textBox1->Text);
listBox1->Items->Add(cs + " = " + getenv(cs));
でダメかね。
0824教えてください
2007/11/20(火) 18:34:46すんません
sprintf(OPENNAME,"..\sub\%s.txt",GRP);
だとまずいですか?
0825デフォルトの名無しさん
2007/11/20(火) 18:37:23私には、OPENNAMEが何物かもそのロジックの後に何が行なわれているのかも判じ得ませんので、
まずいかどうかなど答ようも御座いませんが。
0826816
2007/11/20(火) 18:40:24回答ありがとうございます。
やってみたところ、
error C2664: 'System::Windows::Forms::ListBox::ObjectCollection::Add' : 1 番目の引数を 'ATL::CStringT<BaseType,StringTraits>' から 'System::Object __gc *' に変換できません。
with[BaseType=char, StringTraits=ATL::StrTraitATL<char,ATL::ChTraitsCRT<char>>]
というエラーが出てしまいます。
てか、馬鹿って…・゚・(´Д⊂)。・゚・
0827教えてください
2007/11/20(火) 18:41:30たびたびすいません。
ファイル名を"..\sub\sample.txt"にするとエラーが出るんです
0829816
2007/11/20(火) 18:49:19".\\sub\\sample.txt"
だったり
0830教えてください
2007/11/20(火) 18:52:21本当にありがとうございました。
解決しました
0831デフォルトの名無しさん
2007/11/20(火) 18:54:13「馬鹿」は>822が結局1行になってないことに対してだからね。
でだ。
>823でもダメなら結局System::Stringに入れ直す必要はあるということだけど、
std::stringが要らないことが判ったわけだから3行でいいということだね。
結論:
System::StringはC++では使い難い。
0832818
2007/11/20(火) 19:11:27マネージドC++だとSystem::Stringの+演算子での連結ができないことをすっかり忘れていた。
#VC++ 2005からのC++/CLIだとできる。
これでどうだ。
listBox1->Items->Add(String::Concat(cs, S" = ", Environment::GetEnvironmentVariable(cs)));
どうしてもCString使いたいなら、たぶんこんな感じ。
System.Stringがワイド文字使うから、CStringW/_wgetenvのほうがいいと思うけど。
CString newItem = static_cast<CString>(textBox1->Text) + TEXT(" = ") + _tgetenv(cs));
listBox1->Items->Add(new String(newItem, 0, newItem.GetLength());
0833816
2007/11/20(火) 19:13:08皆さんの回答のお陰で自分なりにまとめられたので報告しておきます。
VS2003 C++ で環境変数を取得してリストボックスに表示する方法。
↓
[C++]
String* s(textBox1->Text);
listBox1->Items->Add(String::Format("{0} = {1}", s, Environment::GetEnvironmentVariable(s)));
[C#]
string s = textBox1.Text;
istBox1.Items.Add(s + " = " + GetEnvironmentVariable(s));
回答くれたみなさんありがとうございます。
0835デフォルトの名無しさん
2007/11/21(水) 00:24:04DirectX SDK のサンプル DXUT.cpp で僕には全く理解できない箇所があるので教えてください。
1: #ifndef ARRAYSIZE
2: extern "C++" // templates cannot be declared to have 'C' linkage
3: template <typename T, size_t N>
4: char (*RtlpNumberOf( UNALIGNED T (&)[N] ))[N];
5:
6: #define RTL_NUMBER_OF_V2(A) (sizeof(*RtlpNumberOf(A)))
7: #define ARRAYSIZE(A) RTL_NUMBER_OF_V2(A)
8: #endif
ARRAYSIZEを使っている箇所を見ると配列の要素数を求めているようなんですけど…それなら
#define ARRAYSIZE(A) ( sizeof(A)/sizeof(A[0]) )
でもいいですよね? 違うのかな・・・
ああ考えれば考えるほどこんがらがってわからなくなってしまいます。
4〜6行目で何をしているのか全くわからなくて・・・
サンプルなのであまり困っているわけではないんですけど気持ち悪いです。
よろしくお願いします。
0836デフォルトの名無しさん
2007/11/21(水) 00:38:18人それぞれ、己のプログラミングスタイルを貫き通せばいいではないか。
0837デフォルトの名無しさん
2007/11/21(水) 00:39:53RtlpNumberOfは、要素数NのT型の配列への参照を引数に取り、
要素数Nのchar型の配列へのポインタを返す関数として宣言されている。
つまり、*RtlpNumberOf(A)という式は、Aから、
要素の型をcharへ差し替えた配列型(要素数同じ)という型を生み出している。
sizeof (char) ==1だから、それをsizeofすれば要素数になるというわけ。
0838デフォルトの名無しさん
2007/11/21(水) 00:55:200839デフォルトの名無しさん
2007/11/21(水) 02:03:270840デフォルトの名無しさん
2007/11/21(水) 02:05:200841デフォルトの名無しさん
2007/11/21(水) 02:17:17もう、鬼の首を取ったように嬉々として騒ぐバカどもが世界中にいるからな。
一分の隙も見せないように巧妙なコーディングしなきゃなんない。
その結果が、一見して意味不明な複雑なコードになってしまう。
人に読んでもらって勉強してもらうためのコードなんかじゃ無いんだよ。
キチガイどもを黙らせるためのコードなんだよ。
0842デフォルトの名無しさん
2007/11/21(水) 12:08:350843デフォルトの名無しさん
2007/11/21(水) 14:28:21編集メニューの詳細-スペースの表示、とは違う?
0844デフォルトの名無しさん
2007/11/21(水) 18:07:52テキストボックスやリストボックスでの話なら、オーナードローしかないと思う
0845835
2007/11/21(水) 21:52:58完全に理解できないまでも >>837 さんの解説で何をしているのかを掴むことができました。
サンプルとか見てて意味のわからない箇所があると、もしかしてそこには理解しておかなければならない
秘密が隠されていて、理解しないまま先を追っても後々困るんじゃないか・・・
という不安でなんとなく先に進むのが怖くなってくるんです。性格的にプログラムに向いてないのかな(汗
こんな方法があるなんて驚きでした。
0846デフォルトの名無しさん
2007/11/21(水) 22:53:06そういった細かいテクニックだとかノウハウはいつか役に立つ日が来るかもしれない。
壁にぶち当たった時に、その壁の大きさに驚きそこから動けなくなるより、
とりあえず回避して自分が大きくなった時にまた壁を壊しに来ればいい。
別にプログラムに限った話じゃないと思うから悲観することはないと思うよ。
がんばれ。
0847デフォルトの名無しさん
2007/11/21(水) 23:02:28String^ text2;
text="";
text2=text->Substring(0,1);
この書き方をやると、text->Substring(0,1)がインデックスの境界外と出るのですが、これを回避する術はありませんか?
0848デフォルトの名無しさん
2007/11/21(水) 23:34:37ifstream ifs;
int a;
ifs.open("a.txt");
ifs >> a;
ifs.close();
という感じで読み込むと、2バイト以上で表示されるの文字(12や123など)を数値へと変換できない場合があるようなのですが
どういった理由があるのでしょうか
実際にはもっとたくさんのデータを読み込んでいるのですが、1や2などの1バイトだと問題ないようなのですが・・・
宜しければご回答宜しくお願い致します
0849デフォルトの名無しさん
2007/11/22(木) 00:57:54予めifか何かで引数が範囲外でないかどうか調べればいいだろ。
0850デフォルトの名無しさん
2007/11/22(木) 01:03:57理由はifstreamのoperator >> を見ればわかる。
0851848
2007/11/22(木) 12:28:41ご回答ありがとうございます。
いろいろ調べてみたのですが、なるほど!と思うような答えに行き着くことができませんでした・・・。
お手数ですが、簡単にでもいいので解説していただけませんでしょうか。
よろしければお願い致します。
0852デフォルトの名無しさん
2007/11/22(木) 13:49:41そのa.txtのファイルエンコーディングは?
0853デフォルトの名無しさん
2007/11/22(木) 14:22:54Shift-JISで保存されているみたいです。
0854デフォルトの名無しさん
2007/11/22(木) 16:17:56エディットボックスを空にするにはどうしたらいいのでしょうか?
前に入力したものがずっと残ったままになってしまって・・
それから入力読み込みをした後、ダイアログボックスの再描画をしたいんですがそれも分かりません;
是非お願いします
0855デフォルトの名無しさん
2007/11/22(木) 16:25:27EDITから読むときどうやってる?
まあ最終的にはSetWindowTextで空文字列入れてやればいいんだけど、
FormとかMFC使ってるならそれなりのやりかたあるし。
0856デフォルトの名無しさん
2007/11/22(木) 18:36:47CEdit edit(GetDlgItem(IDC_EDIT1));
edit.SetFocus();
edit.SetFont(_font, TRUE);
int cnt = edit.GetLineCount();
int n = edit.GetLine(0, _buffer, _buffer.size());
とかがある。
テキストの変更は
CString cs("abc");
edit.SetWindowText(cs);
とか。
0857デフォルトの名無しさん
2007/11/22(木) 22:51:57遅くなりましたが、教えて頂いた記述で出来ました。ありがとうございました。
0858デフォルトの名無しさん
2007/11/22(木) 23:39:47エディットボックスにデフォルトで常にカーソルが合わさっている状態にするにはどうしたらいいのでしょうか?
0859デフォルトの名無しさん
2007/11/23(金) 01:18:58このstrに何も入力されなかった場合に操作したい時はifでどう条件を指定したらよいのでしょうか?
動作の背景としては、何も入力されずにスキップされたら、配列に特定の文字を入れるという操作をしたいんですが。
if(str == NULL)や\0としてもうまく動かないですし。
0860デフォルトの名無しさん
2007/11/23(金) 01:38:35char str[10][100] = {{0}};
// 適当な入力処理
if (str[0][0] == 0) {
// 未入力
}
0861デフォルトの名無しさん
2007/11/23(金) 01:54:45WM_INITDIALOG をよく調べろ
0862デフォルトの名無しさん
2007/11/23(金) 04:56:38MSDN分かり辛いよ。
0863デフォルトの名無しさん
2007/11/23(金) 11:26:05プロジェクトのプロパティを見回した方が早いだろう。
「リンカ」 以下に存在する項目をチェックしていってごらん。
0864デフォルトの名無しさん
2007/11/23(金) 11:40:050865デフォルトの名無しさん
2007/11/23(金) 11:53:33エクセルみたいな表ではありませんが、(OCXに頑張って貰ってですが)エクセルの表を作ることはそう難しくはありません。
0866デフォルトの名無しさん
2007/11/23(金) 14:20:58配列に全角スペースと改行だけを挿入したい場合はどうすればいいんでしょう?
str[i][j] = ' \n';
wsprintf(str[i][j]," \n",4);
sprintf(str[i][j," \n");
上記では出来なかったんですが・・・
0867デフォルトの名無しさん
2007/11/23(金) 14:36:21C言語なら俺に聞け(入門篇) Part 21
http://pc11.2ch.net/test/read.cgi/tech/1194384258/l50
0868デフォルトの名無しさん
2007/11/23(金) 14:52:19何も入力せずにGetDlgItemTextされた時、ifで分岐したいんです。
0869デフォルトの名無しさん
2007/11/23(金) 14:55:18その段階では、あなたの管理下にある変数には特に何も入ってはいないと思います。
0870862
2007/11/23(金) 14:59:03分かった見回してみる。
普段はjava使いでC/C++のコンパイルが必要なときは
bccをコマンドラインから使ってた俺にはVSはごちゃごちゃしてて分かり辛い。
とくにMSDNが・・・。
thx!
0871デフォルトの名無しさん
2007/11/23(金) 15:45:53戻り値をよく見れ
0872デフォルトの名無しさん
2007/11/23(金) 16:03:03そのOCXさんはどこをどうやったら出てくるのでしょうか?
0873デフォルトの名無しさん
2007/11/23(金) 17:14:320874デフォルトの名無しさん
2007/11/23(金) 18:45:410875デフォルトの名無しさん
2007/11/23(金) 19:40:48>865はそういっているようだが。
0876デフォルトの名無しさん
2007/11/23(金) 19:52:20str[i][j] = " \n";
0877デフォルトの名無しさん
2007/11/23(金) 20:17:50他社のグリッド系OCXを指しているようにも見える
0878デフォルトの名無しさん
2007/11/23(金) 20:52:39VisualC++2005EEを使って以下の初歩的なソースをコンパイルしました。
#include<iostream.h>
void main()
{ cout<<"Hello World!";}
とcppファイルを作ってビルドしました。
すると、includeファイルを開けません、iostream.hが無いとかなんとか出てきます。
いろいろ調べて、SDKとかインストールしたのですが、直りません。
どうすれば、上のコンソールベースのアプリをコンパイルできるようになるんでしょうか?
0879デフォルトの名無しさん
2007/11/23(金) 20:59:03void main()
{ cout<<"Hello World!";}
0880デフォルトの名無しさん
2007/11/23(金) 21:01:46そうすると、coutが定義されてない識別子とでます。
0881デフォルトの名無しさん
2007/11/23(金) 21:04:57std::cout
C/C++スレで聞け。
0882デフォルトの名無しさん
2007/11/23(金) 21:05:15ネームスペースを宣言
std::cout<<"Hello World!"
0883デフォルトの名無しさん
2007/11/23(金) 21:07:15using namespace std;
void main()
{ cout<<"Hello World!";}
0884878
2007/11/23(金) 21:09:02久しぶりにC++を最初から勉強しなおそうとしてるのですが、
いきなりネームスペースが出てきても意味がわからんです。
VC++2005EEって勉強するのには向いてないのでしょうか?
0885878
2007/11/23(金) 21:13:18初心者に戻ったのでネームスペースは忘れてしまいました。
VC++2005ではそういう構文でないと、coutは実行できないのでしょうか?
ネームスペースなしでやる方法があればご伝授ください。
それとも、namespaceは決まりごととしてあまり考えずにコードに入れておいて、
そのまま勉強を進めた方がいいのでしょうか?
0886デフォルトの名無しさん
2007/11/23(金) 21:13:590887デフォルトの名無しさん
2007/11/23(金) 21:16:12using namespace std;
を書き込んでおけば次からは入らなくなる
0888878
2007/11/23(金) 21:18:06そうですか。最初のころはあまり考えずに決まりごととして入れておけば
エラーにならんのですね。
ありがとうございました。
0889デフォルトの名無しさん
2007/11/23(金) 21:18:43>VC++2005EEでネームスペースを使わずに、上の初歩のソースコードを実行できませんか?
そもそもnamespace使わずに実行できるのは古い規格。
最初から勉強しなおそうとするのであればそれくらいは知っておくといい。
0890889
2007/11/23(金) 21:19:48×そもそもnamespace使わずに実行できるのは古い規格。
○そもそもiostreamのincludeでstdのnamespaceを使わずに実行できるのは古い規格。
0891デフォルトの名無しさん
2007/11/23(金) 21:37:33ヘッダファイルに using を書くのはオススメできない
0892デフォルトの名無しさん
2007/11/23(金) 21:38:49PlatformSDK+
DirectXSDK使用のプログラムを
プログラム雑誌のサイトからソースを使用してビルドをかけたところ、
1>Main.obj : error LNK2019: 未解決の外部シンボル __imp__PostQuitMessage@4 が関数 "long __stdcall WndFunc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndFunc@@YGJPAUHWND__@@IIJ@Z) で参照されました。
1>Main.obj : error LNK2019: 未解決の外部シンボル __imp__DefWindowProcA@16 が関数 "long __stdcall WndFunc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndFunc@@YGJPAUHWND__@@IIJ@Z) で参照されました。
1>Main.obj : error LNK2019: 未解決の外部シンボル __imp__GetAsyncKeyState@4 が関数 "void __cdecl UpdateProc(void)" (?UpdateProc@@YAXXZ) で参照されました。
他同じエラーが十数個でました。
リンクエラーと思われますが、設定はしているつもりです
Platform SDKとDirectX SDK
includeパスおよびライブラリパスは設定しています
他にどういった原因が考えられるでしょうか。よろしくお願いいたします。
0893878
2007/11/23(金) 21:39:29もしかしたら、今持ってるC++のテキストは古すぎるんですかね?
1996年初版発行の本なんですが。
解説がすばらしいのでこの本で勉強してから、新しい本で勉強しなおした方が
いいのでしょうか?
もうひとつお聞きしたいのですが、どんなC++を勉強するのにどんな本がお勧めですか?
0894デフォルトの名無しさん
2007/11/23(金) 21:42:030895デフォルトの名無しさん
2007/11/23(金) 21:44:37ライブラリパスの指定を Debug か Release かのどちらかしかしてなくて、
指定してない方でリンクしようとしているとか
0896デフォルトの名無しさん
2007/11/23(金) 22:18:39いつでますか?
0897デフォルトの名無しさん
2007/11/23(金) 22:26:310898デフォルトの名無しさん
2007/11/23(金) 22:27:520899デフォルトの名無しさん
2007/11/23(金) 22:28:380900700
2007/11/23(金) 22:38:03プロジェクトのプロパティの
構成プロパティ→C/C++→コード生成で、
ランタイムライブラリをMTかMTdにしたほうがいいんじゃない?
0901デフォルトの名無しさん
2007/11/23(金) 22:47:50>>892
http://www.microsoft.com/japan/msdn/vstudio/express/visualc/usingpsdk/
ここの手順4はやったか?
それをやるか、あるいは「プロジェクトのプロパティ→リンカ→(どっか)→追加の依存ファイル」に
user32.libを書き加えろ。
0902デフォルトの名無しさん
2007/11/23(金) 22:59:51確かに、書き換えたつもりだったのですが
書き換わっていませんでした
再度書き換えましたら動作いたしました。
ありがとうございます。
0903デフォルトの名無しさん
2007/11/24(土) 01:09:530904デフォルトの名無しさん
2007/11/24(土) 12:50:52>903
勉強しろよ・・・・・!!
//-------------------------
//ダイアログの呼び出し
CDlgMoj IPDlg;
IPDlg.DoModal();
//再描画-------------------
CMainFrame* pMainFrame = static_cast< CMainFrame* > (AfxGetApp()->m_pMainWnd);
//MDIのVIEWの取得
CWnd *pwnd= static_cast<CFrameWnd*>(pMainFrame)->GetActiveFrame()->GetActiveView();
if(pwnd!=NULL){ViEWが有れば
pwnd->Invalidate(TRUE);
}
//フレームの更新
pMainFrame->Invalidate(TRUE);
//---------------------------
0905デフォルトの名無しさん
2007/11/24(土) 14:23:37Visual Studio 2008 Express Edition 英語版をインストールすることは可能ですか?
0906デフォルトの名無しさん
2007/11/24(土) 16:35:110907デフォルトの名無しさん
2007/11/25(日) 00:44:24ダブルバッファリングをしていて、DrawText使っていて、InvalidateRectを使ってDrawTextの箇所を再描画したいんですが、出来ません。
WM_CREATEで一度DrawTextを使っていて、再描画でWM_PAINT内でBeginPaintの間でDrawTextを書いてるんですが、出来ないんです。
理由としてはどんな事が考えられるでしょうか?
ちなみに、WM_PAINT内のDrawText前後にMassageBoxを挟むとそれはちゃんと出てきます。
WM_CREATEはhmDC、WM_PAINTはhDCでちゃんとあってるはずなんですが・・
0908デフォルトの名無しさん
2007/11/25(日) 01:26:15お前の考えているダブルバッファリングとはどういうものなのか、簡単に説明せよ。
あと、hmDCとかいきなり書かれても通じないから。hDCは分からなくもないが。
0909デフォルトの名無しさん
2007/11/25(日) 02:06:25さて何を学べばいいのやら。
>>3のリンク先を一通り覗いてからカキコすべき?
0910デフォルトの名無しさん
2007/11/25(日) 06:15:040911デフォルトの名無しさん
2007/11/25(日) 09:09:48Microsoft Visual C++ 2005 Express Editionは.netの開発ツール
一応C/C++のコンパイラとしても使えないこともないけど、
使い方知らない人が持っててもどうしようないと思う。
0912デフォルトの名無しさん
2007/11/25(日) 09:50:050913デフォルトの名無しさん
2007/11/25(日) 09:54:480914デフォルトの名無しさん
2007/11/25(日) 09:55:460915デフォルトの名無しさん
2007/11/25(日) 10:02:13C++の学習ってだけなら十分なんじゃないかな。
0916デフォルトの名無しさん
2007/11/25(日) 10:12:18俺の持ってるのとは違うんだろうか?
0917デフォルトの名無しさん
2007/11/25(日) 10:21:170918デフォルトの名無しさん
2007/11/25(日) 10:23:540919デフォルトの名無しさん
2007/11/25(日) 10:30:440920デフォルトの名無しさん
2007/11/25(日) 10:32:35紙と鉛筆だけで勉強できるか?
0921907
2007/11/25(日) 12:56:22case WM_CREATE:
GetClientRect(hWnd, &rt);
hDC = GetDC(hWnd);
hmemDC = CreateCompatibleDC(hDC);
hBitmap = CreateCompatibleBitmap(hDC, x,y);
SetTimer(hWnd, 1, 1000, NULL);
DrawText()
省略
case WM_TIMER:
省略
InvalidateRect(hWnd,NULL,FALSE);
case WM_LBUTTONDOWN:
省略
InvalidateRect(hWnd,NULL,FALSE);
case WM_PAINT:
hDC = BeginPaint(hWnd,&ps);
BitBlt(hDC,0,0,450,396,hmemDC,0,0,SRCCOPY);
SetBkMode(hDC,TRANSPARENT);
TextOut(時計の表示)
DrawText()
EndPaint(hWnd,&ps);
0922デフォルトの名無しさん
2007/11/25(日) 13:27:38hmemDCにhBitmapを選択し忘れている、かな?
その下のDrawTextはhmemDCに対してだろうし。
0923デフォルトの名無しさん
2007/11/25(日) 13:47:25それは必要なんですか?
DrawText(hDC・・だけ、再描画されないんです。
TextOutの時計表示の方はTextOut(hDC・・の方は普通に1秒ごとに再描画されていました。
書かなくても分かるかも知れないですけど、ちょっと情報が少なかったです。
最初のDrawTextは(hmemDC・・・で
後のDrawTextは(hDC・・・です。
0924デフォルトの名無しさん
2007/11/25(日) 15:43:32>>907 の説明だけでそう解釈できる奴は上級エスパーだな。
だが、引数を省略して表記されては判断のしようが無いと思うのだが?
フラグ指定が間違っていても判らないし。
現時点では、lpString,nCount,lpRectの中身をデバッグ出力して確認しろ、位しか書けん。
0925デフォルトの名無しさん
2007/11/25(日) 16:00:39for(int j=0;j<5;j++){
for(int k=0;k<5;k++){
fscanf(fp1,"%s",classes[j][k]);
rt.top = pos1+(31+60*k);
rt.bottom = pos2-(66+60*(4-k));
rt.right = pos3-(45+(75*(4-j)));
rt.left = pos4+(31+(75*j));
DrawText(hcDC,str[j][k], -1, &rt, DT_WORDBREAK);
}
}
こんな感じで場所をずらしながら配列の表示
で、さっきまでは表示されなかったのが、今は再描画されるようになりました。
が。
最初の表示が消える事なく元の表示にかぶって新しく表示されます。。
再描画すればするだけ、文字が重なってグチャグチャにorz
0926デフォルトの名無しさん
2007/11/25(日) 16:01:45fscanf(fp1,"%s",classes[j][k]);
はなかった事にしてください
0927デフォルトの名無しさん
2007/11/25(日) 18:11:31RFIDをUSBでPCにつないでタグのIDを読み込ませたい
のですがRFIDを使えるようにするにはどんなプログラムが必要なのか
ちょっとわからず困っています。誰か分かる方がいましたらよろしくお願いします。
0928デフォルトの名無しさん
2007/11/25(日) 19:04:41背景ブラシによる消去が行われないのは、
InvalidateRectのbEraseをFALSEにしているから。
0929デフォルトの名無しさん
2007/11/26(月) 16:50:24下記のVC++の掲示板が最近アクセスできません。
どこかに移転したのでしょうか? ご存じの方がいたら教えてください。
ttp://forums.belution.com/ja/vc/
0930デフォルトの名無しさん
2007/11/26(月) 17:43:00ググれ
0931デフォルトの名無しさん
2007/11/26(月) 18:41:45ドライバーがどうなってるかはウチらは全くわからんわけだし。
0932デフォルトの名無しさん
2007/11/26(月) 19:07:33タイトル, : belution.comの話. 投稿日, : 2007/09/27(Thu) 09:22. 投稿者, : PATIO ... ここ数日、
belution.comに全く繋がらなくなってます。 あのコミュニティにはかなりの情報蓄積があるのでアク
セスできないとかなり困ったりするんですが、 ...
キャッシュ - 関連ページ
0933デフォルトの名無しさん
2007/11/27(火) 01:32:440934デフォルトの名無しさん
2007/11/27(火) 01:40:20http://www.google.co.jp/hws/search?hl=ja&q=UTF-8+Shift-JIS+%E5%A4%89%E6%8F%9B&client=fenrir&adsafe=off&safe=off&lr=lang_ja
0935デフォルトの名無しさん
2007/11/27(火) 14:40:110936デフォルトの名無しさん
2007/11/27(火) 15:45:200937デフォルトの名無しさん
2007/11/27(火) 16:46:55警告でますよ
0938デフォルトの名無しさん
2007/11/27(火) 16:51:530939デフォルトの名無しさん
2007/11/27(火) 16:52:430940デフォルトの名無しさん
2007/11/28(水) 01:22:36このアイコンの絵がなんの変哲もないExeファイルのアイコン絵
このアイコンの絵を他の絵に変えれますか?
0941デフォルトの名無しさん
2007/11/28(水) 06:08:200942デフォルトの名無しさん
2007/11/28(水) 14:42:21エラーが出る/出ないの境界ってどれくらいなんでしょうか?
また、mallocでは確保出来るのに、自動変数の配列だと確保出来ないというのが
なんとも腑に落ちません。なにか理由がるのでしょうか?
0943デフォルトの名無しさん
2007/11/28(水) 14:45:05malloc はヒープ上
0944デフォルトの名無しさん
2007/11/28(水) 14:47:080945デフォルトの名無しさん
2007/11/28(水) 14:54:200946デフォルトの名無しさん
2007/11/28(水) 14:57:46従って、戻り値だけでは判断できない。
0947デフォルトの名無しさん
2007/11/28(水) 14:58:450948デフォルトの名無しさん
2007/11/28(水) 15:03:14デフォルトのスタックサイズは1MBになってる。
リンカのオプションで変更できる。
0949デフォルトの名無しさん
2007/11/28(水) 15:08:550950デフォルトの名無しさん
2007/11/28(水) 15:09:28ありがとうございます。
0951デフォルトの名無しさん
2007/11/28(水) 21:41:22engine.cpp
+device.cpp
+buffer.cpp
main.cpp
のような構成で コンパイルすると
main.cpp、engine.cpp、device.cpp、buffer.cppと順番にコンパイルします。
しかし、 希望は device、buffer、engine、mainの順でコンパイルしたいです。
このコンパイル順序は変えられないのでしょうか?
現在は xxx.vcproj ファイルを毎回編集してコンパイルしています。
0952デフォルトの名無しさん
2007/11/28(水) 21:47:16+が何を意味してるのかわからんけど、コンパイルの順番で何か問題起きる?
0953デフォルトの名無しさん
2007/11/28(水) 21:51:51ネットオークションで落札しようと考えているのですが(もはやそれしか入手方法がありません)、
この場合、ライセンス認証とかは大丈夫なんでしょうか?
アカデミック版か否かで注意すべき点が違う等、注意事項をご教示ください。
0954デフォルトの名無しさん
2007/11/28(水) 21:54:21main.cpp で必要な機能が engine.cppに書いてるので
バラバラなコンパイルだと機能が呼べない問題がおきちゃってます。
それとも、こゆー設計がいけないのかな・・・
+は上のファイルとの親子関係みたいなものです。
main.cpp
+engine.cpp
+device.cpp
+buffer.cpp
0955デフォルトの名無しさん
2007/11/28(水) 21:54:27http://www.microsoft.com/japan/msdn/vstudio/express/visualc/
0956デフォルトの名無しさん
2007/11/28(水) 21:54:450957デフォルトの名無しさん
2007/11/28(水) 22:01:11おそらく分割コンパイルを勘違いしている。
>main.cpp で必要な機能が engine.cppに書いてるので
engine.cppに書かれている機能の中身はmain.cppのコンパイルには必要ない。
その機能の使用方法(プロトタイプ宣言等)さえ分かればいい。
0958デフォルトの名無しさん
2007/11/28(水) 22:09:20わかりますた 調べて試してみます。
プロトタイプ宣言ですね。
0959953
2007/11/28(水) 22:15:26VS2005は持ってるんですが、DirectX9のアプリケーションウィザードが扱えないようなんです。
>>953で挙げたバージョンだと扱ってる事例があったので。
0960デフォルトの名無しさん
2007/11/29(木) 07:28:29GetProcAddress() とか IPersistFile::ParseDisplayName() とかは ANSI/UNICODE 版がないんで WideCharToMultiByte() とか MultiByteToWideChar() が必要になるんですが、
ここの周辺は自分で UNICODE かどうかで条件分岐させたコードを書かなきゃならないんでしょうか?
0961デフォルトの名無しさん
2007/11/29(木) 07:28:470962デフォルトの名無しさん
2007/11/29(木) 07:30:250963953
2007/11/29(木) 07:50:53すみません、さすがに十何万円も出せません・・・。
ネットオークションで中古品を入手した場合のライセンス可否の可能性についてご教示ください。
0964デフォルトの名無しさん
2007/11/29(木) 09:00:18会社ぐるみ学校ぐるみで不正やってたら誰かが密告するかもしれないけど、
ひとりで使ってる場合は自分が黙ってたらばれるわけがないし
0965デフォルトの名無しさん
2007/11/29(木) 09:32:11起動が遅くていらつくんですけど、消せるのであれば教えてください。
0966デフォルトの名無しさん
2007/11/29(木) 10:10:43ツール-オプション-環境-スタートアップ
気にしたこと無かったけど、たぶんこの辺だろうと見に行ったらその設定あった。
0967デフォルトの名無しさん
2007/11/29(木) 10:37:09MSに訊け
0969デフォルトの名無しさん
2007/11/29(木) 14:20:58誤爆乙
0970デフォルトの名無しさん
2007/11/29(木) 14:24:110971デフォルトの名無しさん
2007/11/29(木) 14:40:02CString strSQL = "{CALL abc}";
CRecordset rs(DBポインタ);
rs.Open(CDatabase::snapshot, strSQL);
をすると
カーソルの状態が正しくありません
というエラーがきます
解決方法を教えてください
0972デフォルトの名無しさん
2007/11/29(木) 15:38:04rs.Open(CRecordset::snapshot, strSQL);
の書き間違いです
まだ解決できません
データベースをみるとストアドプロシージャは動いているようです
0973デフォルトの名無しさん
2007/11/29(木) 19:21:400974デフォルトの名無しさん
2007/11/29(木) 19:33:30何が普通かわかりませんが、gccでだってゲームは作れます。
0975デフォルトの名無しさん
2007/11/29(木) 20:02:180976デフォルトの名無しさん
2007/11/29(木) 20:10:050977デフォルトの名無しさん
2007/11/29(木) 20:54:18974-976みたいな冷たいやつは置いておて
プラットフォームSDKも別途入手しないとだめかもしれんとだけ答える
0978デフォルトの名無しさん
2007/11/29(木) 20:57:480979デフォルトの名無しさん
2007/11/29(木) 21:21:35たくさんたくさん見つかる。
0980デフォルトの名無しさん
2007/11/29(木) 21:25:37冷たいから生ぬるいになったんだから
いくらかましだとおもわんかね?
>>979は一見暖かくみえるが
中身はググレカスとかわらないと思う
とりあえず973は
15歳からはじめるDirextX9というのを立ち読みするといいと思われ
タダ環境のセットアップのしかたが一通り書いてある
しかし、最後の最後で肝心な設定について書いてないことろがあるので買ってはいけない
0981デフォルトの名無しさん
2007/11/29(木) 21:50:27DirectX9のアプリケーションウィザードが扱えないと言ってるからな
0982デフォルトの名無しさん
2007/11/29(木) 21:53:270983デフォルトの名無しさん
2007/11/30(金) 01:20:44レスありがとうございます
>>977
プラットフォームSDK入れてみます
>>980
あいにくプログラム本を豊富に扱ってる書店が近場にないので購入するしかありません・・・
情報ありがとうございました
0984デフォルトの名無しさん
2007/11/30(金) 01:50:11無駄本は買わなくてもネットで探せばいい。
どうせ買うならお勧めされてるものにしときな
0985デフォルトの名無しさん
2007/11/30(金) 07:09:50どうやったら分かるんでしょうか・・
初心者すぎてすいません
0986デフォルトの名無しさん
2007/11/30(金) 08:47:140987デフォルトの名無しさん
2007/11/30(金) 10:08:19わかりやすい答えが出るかもしれん
0988デフォルトの名無しさん
2007/11/30(金) 12:12:36ODBCでストアドプロシージャの戻り値を取得する方法を教えてください
0989デフォルトの名無しさん
2007/11/30(金) 12:18:320990デフォルトの名無しさん
2007/11/30(金) 13:33:22のプログラムを作っています.
質問なんですが,コンソールアプリケーションで扱えるメモリの量は
決まっていますか?
int main(){
hogehoge(*p,x,t);
return 0;
}
例えばhogehogeの中で巨大な構造体を宣言してるのですが,
デバッグしていると,この構造体の宣言でstack over flowが
出ているようなのです.この関数hogehogeはmain関数の中で
roopはさせません.
0991デフォルトの名無しさん
2007/11/30(金) 13:47:55malloc使って
0992デフォルトの名無しさん
2007/11/30(金) 14:14:58スタックサイズはリンク時に決まる。(デフォルト1MB)
自動変数はスタックに配置される。
0993デフォルトの名無しさん
2007/11/30(金) 14:16:41malloc()なんか使わないでstd::vectorでも使ってください。
ところで、roopってなんですか?
0994デフォルトの名無しさん
2007/11/30(金) 14:36:560995988
2007/11/30(金) 14:50:520996デフォルトの名無しさん
2007/11/30(金) 14:53:05どこが原因で値が取れないのか
自分がやったことを書けよ。
0998デフォルトの名無しさん
2007/11/30(金) 15:08:310999988
2007/11/30(金) 15:08:461000デフォルトの名無しさん
2007/11/30(金) 15:09:0110011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。