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


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

くだすれVisual C++(超初心者用)その4



1 名前:デフォルトの名無しさん [2006/11/29(水) 17:00:54 ]
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
Visual C++使いが優しくコメントを返しますが、
お礼はVisual C++の布教と初心者の救済をお願いします。

■過去スレ
前スレ
pc8.2ch.net/test/read.cgi/tech/1150105712/
前々スレ
pc8.2ch.net/test/read.cgi/tech/1141087248/

■遠い親戚スレ
くだすれC++/CLI(初心者用)
pc8.2ch.net/test/read.cgi/tech/1142144110/l50

■関連ページ
Visual C++ Home Page
www.microsoft.com/japan/msdn/visualc/



201 名前:デフォルトの名無しさん [2007/02/08(木) 17:13:22 ]
多分すごい有名な
「新VisualC++6.0入門ビギナー編 林春比古署 ソフトバンク社」
を使って今勉強中なんですが、
241ページのサンプルプログラムで、
CPenクラスのオブジェクトのポインタ、’oldPen’ってゆうのを、
’旧ペン’と銘打って保存って書いてありますが、
これをする意味がわかりません。
わざわざポインタでなぜ確保しているのでしょうか?
pDC->SelectObject(&CPen型Object)で選択して書くだけなのに、
別に’旧ペン’を保存しておく必要があるのでしょうか?
私が簡単に確認した程度では、
oldPen 自体設定しなくても実行可能でしたし、
最後に’旧ブラシに戻す’ってゆう作業もなくても問題ありませんでした。
他にもいろいろ記述してoldPenの有用な使い方を検証しましたが、
やればやるほど意味がないのではという考えに傾きます。
大変限定的な質問ですが、
よければ本を持ってる方、もしくはよく知ってらっしゃる方でわかる方がいれば
教えていただけないでしょうか?

202 名前:デフォルトの名無しさん mailto:sage [2007/02/08(木) 18:00:52 ]
DCに選択中のGDIオブジェクトは破棄できないから。

203 名前:デフォルトの名無しさん mailto:sage [2007/02/08(木) 18:29:47 ]
>200-201
★初心者にVisual C++を教えるスレ★ Part25
pc10.2ch.net/test/read.cgi/tech/1168354839/380

マルチ

204 名前:デフォルトの名無しさん [2007/02/08(木) 18:31:55 ]
ほんとだあ

205 名前:デフォルトの名無しさん mailto:sage [2007/02/08(木) 18:56:07 ]
あちこち書き込むと早く回答がもらえるよ〜俺って頭いい〜とか思ってるのかね。

206 名前:デフォルトの名無しさん mailto:sage [2007/02/08(木) 22:37:31 ]
ttp://aoiruka.blog8.fc2.com/blog-entry-103.html
ここに載っている方法で加算合成を行っても問題はありませんか?
自分の環境では特に支障なく動作するのですが。

207 名前:デフォルトの名無しさん mailto:sage [2007/02/08(木) 22:50:54 ]
>>206
そのリンク踏んでも問題はありませんか?
自分の環境で支障がでると困るので

208 名前:デフォルトの名無しさん [2007/02/09(金) 10:29:48 ]
あっちこっちかいたらあかんのか、ぼけ。
二箇所しか書いてへんし、掲示板のタイトル選んで書いてるし、
回答は少しでも速いほうがいいし、
もしかしたらいろんな答えがあるかもわからんし、
それを知りたいのは普通やんけ。
誰も頭がいいなんか思うか。
そういう発想にいたるお前は自分が悲しくないんか。
まあ、ここでそんなやつにかまってる自分が悲しいけど。
気分が悪いんでもうこんなところに質問書いたりしません。
どうも何らかの答えになるようなことを書いてくださった方はありがとうございました。

209 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 14:04:46 ]
もうくるなよ



210 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 14:41:44 ]
質問です。VC++6.0でMFCを利用しています。

3つのダイアログをモーダレスで表示します。
仮に、A,B,Cとします。

この3つのダイアログのZオーダーを常にA→B→Cに固定するにはどうすれば
よいでしょうか。

私自身、Zオーダーという言葉の使い方が間違っているかもしれませんので補足します。

AとBが重なっていれば必ずAが前面に表示され、BとCならB,AとCならAという
動作です。

ダイアログが2個なら、TOPMOSTが利用できるのですが、3つの場合はどのようにしたら
よいでしょうか。

可能であれば、BダイアログをドラッグしながらAダイアログ上を横切ると、スムースにAの下
を潜り抜けるようなのがよいです。

よろしくお願いします。

211 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 17:04:21 ]
こういう向いてないやつはどうしたらいんだろうね
本人が悟ってくれるといいけど

212 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 17:40:22 ]
>>210
ダイアログの作成順をC B Aの順にし、Create時Aの親をBに、Bの親をCにする。

213 名前:デフォルトの名無しさん [2007/02/09(金) 22:52:26 ]
ど素人です。
labelに文字を続けて表示させたいのですが、
label->Text = S"hello wo";
label->Text = S"rld";
としてもrldとなってしまいます。
これをfor文等で何回も実行させたいのですが、どうすればよいのでしょうか。


214 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 23:00:29 ]
これなら低級エスパーでも答えられるな。

215 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 23:09:15 ]
>>213
普通のCのプログラムならそんな感じだろうけど
Windowsだからね
最低限の基礎知識がないとこれから大変だと思うよ
手取り足取り面倒みてくれる人がいるといいね

216 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 23:15:26 ]
S""って、マネージリテラル文字列?C++/CLIか?

217 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 23:15:29 ]
初心者です。
超アホな質問で申し訳ないんですがよろしくです。
VistaにてVS2005Expressを使おうと思ってます。
一応本体+SP1(MSUpdateにて)とSP1Update4Vista(β版)とやらをインスコしてみました。
・・がこれでSP1は適用できてるんでしょうか?
確認方法がわからないんですorz|||
バージョン情報にはSPの文字は見えませんでしたが・・

また、Vista上の2005でビルドすると文字コードエラーが連発しますが、
なんとなくSP1では対策済みとの情報があったような気がしてて、
SP1が適用できてないのでエラーが残ってるのかなぁとか思ってるわけですが、
実際のところどうなんでしょうか?
SP1にしたからって文字コードエラーが消えるわけではないのか、
それともSP1自体適用されてないのか・・

どうかよろしくお願いします!!m(_ _;;)m

218 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 23:20:57 ]
>>213
label->Text += S"rld";

219 名前:213 [2007/02/09(金) 23:40:38 ]
>>216
よくわかりませんがVC++.NETでwinフォームアプリケーションを作っています。

>>218
ビルドすると
'+':__gcポインタ 'System::String __gc *'に対してポインタ演算ができません。
とエラーがでてしまいます。



220 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 23:54:54 ]
一つの入れ物に二つ入れようとしたら
前に入れたのがでて、後から入れたのが残るよ

221 名前:213 mailto:sage [2007/02/10(土) 00:13:25 ]
String* ss;
ss = System::String::Concat(S"hello wa", S"rld");
label->Text = ss;
とすれば表示させることができました。
一応問題は解決したのですが、もしこれより効率的な書き方があれば
今後のために教えてください。

222 名前:デフォルトの名無しさん mailto:sage [2007/02/10(土) 00:33:15 ]
>>221
MASM6.3?
だったら
MOV ES・SI、ソース
MOV DS/SI、ですちねーしょn
MOV ECX、カウント
REP MOV

223 名前:デフォルトの名無しさん mailto:sage [2007/02/10(土) 00:39:01 ]
コンパイラ様より効率的なんだろうか

224 名前:デフォルトの名無しさん mailto:sage [2007/02/10(土) 00:42:14 ]
>>223
昔DECのフォートランでDOループで定数を埋めるプログラムを作ったら
逆アセンブルしたら全部クリア命令だった

225 名前:デフォルトの名無しさん mailto:sage [2007/02/10(土) 00:53:38 ]
>>222
rep movsb だろ。
ていうか、そもそもCLIか。

226 名前:デフォルトの名無しさん mailto:sage [2007/02/10(土) 01:43:22 ]
>>221
大量の文字列連結用にSystem.Text.StringBuilderってのがあるけど、
二つ三つ繋ぐのには大げさすぎだな。

227 名前:デフォルトの名無しさん [2007/02/11(日) 17:15:26 ]
乱数を取りたいんですが
Random random = new System::Random();
int ran = random.Next(100);
ではコンパイルできないんですがどうしたらいいですか?

228 名前:デフォルトの名無しさん mailto:sage [2007/02/11(日) 21:48:08 ]
C++/CLIならたぶんこう。
System::Random random;
random.Next(100);

マネージドC++ならたぶんこう。
System::Random* random = new System::Random;
random->Next(100);

.NETを使わないC++ならboost::randomを使っておけ。
嫌なら<cstdlib>のstd::rand (& std::srand)。

229 名前:デフォルトの名無しさん mailto:sage [2007/02/11(日) 22:13:12 ]
>>228
ありがとうございます。



230 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 00:14:24 ]
猫でもわかる…の他にWin32SDKでダイアログベースアプリケーション
の作り方を解説しているところを教えてください。

231 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 00:27:54 ]
WisdomSoft

232 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 00:51:17 ]
>>231
ありがとうございます。
ハード + たまにファーム屋なので、すぐ壁にぶち当たると思うけど
頑張ります。

233 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 22:40:46 ]
C++とは直に関係なくリソースエディタのことなのですが
メニューをリソースエディタで作る時に
最初にメニュー項目に割り振られたIDをメニューエディタで変えても
resource.hに繁栄されないのですけど そういう仕様なんですか?リンクしてない?
リソースシンボルを見ると書き換えたはずの前のIDも使用中になって消すことも
できませんし……
自分でresouce.hを書き換えるものなんでしょうか?
グラフィカルなメニューエディタとresouce.hの関係がよくわかりません
環境はVS2005stdです

234 名前:デフォルトの名無しさん mailto:sage [2007/02/13(火) 00:47:08 ]
それあるね。素直に変わる時もあるけど、バグのような気がする。

235 名前:233 mailto:sage [2007/02/13(火) 01:55:09 ]
>>234
ということは 本来はメニューエディタで変えたIDはリソースシンボルや
resource.hに反映されるものなのですね
勝手にresource.h書き換えるとVSに怒られるし……
何度か再起動してれば連動することもあるということですね
sp1も充ててるんですけどね

明日 試してみます

236 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 17:38:06 ]
自分が作ってるのと関係ない窓(例えばIE)を移動させることって可能でしょうか?

237 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 01:22:31 ]
可能です。

238 名前:デフォルトの名無しさん mailto:age [2007/02/18(日) 22:31:02 ]
VS2005STD-VCの
アイコンエディタの色の並びは
どういう根拠で決定されたものなのでしょうか?

正直、あの並びをデータとして持っているのが無駄に思えます。


239 名前:デフォルトの名無しさん mailto:sage [2007/02/18(日) 22:35:23 ]
VGA(640x480,16色)の初期パレットじゃね?



240 名前:デフォルトの名無しさん mailto:sage [2007/02/18(日) 22:43:10 ]
って、256モードか

241 名前:デフォルトの名無しさん mailto:sage [2007/02/18(日) 22:45:29 ]
あれはわかんね

242 名前:デフォルトの名無しさん mailto:sage [2007/02/18(日) 23:20:16 ]
WebSafeColorの216色+WindowsSystemColorの32色+αじゃないのかな。
要は、255を5等分した6濃度をRGB3プレーン分展開したのがWebSafeColorの216色で、
ウィンドウ枠なんかに使っているのがWindowsSystemColorの32色。

243 名前:デフォルトの名無しさん mailto:sage [2007/02/19(月) 20:28:58 ]
MFCのOnTimerイベントの処置中は他のボタンなどのイベントを受け付けない
(OnTimer内の処理が終了後に他のイベント処理)動作は可能でしょうか?

244 名前:デフォルトの名無しさん mailto:sage [2007/02/19(月) 20:40:19 ]
OnTimer内でメッセージループ回さなきゃ、そういう動作になると思うが。

245 名前:243 mailto:sage [2007/02/19(月) 20:50:43 ]
>>244
イマイチOnTimerの処理について把握してないのですが、OnTimer内の
処理が終わるまではボタンイベントの処理等には行かないって事でいいのでしょうか?

246 名前:243 mailto:sage [2007/02/19(月) 20:52:58 ]
あ〜すいません。
行かないってか、貯まったメッセージキューの処理とかしなきゃ行けないですね。

247 名前:デフォルトの名無しさん [2007/02/20(火) 11:37:39 ]
これからどうやって勉強すればいいですか
Cに関する知識0です。

248 名前:デフォルトの名無しさん mailto:sage [2007/02/20(火) 11:49:53 ]
今まではどうやって勉強して、どこまでいったのだ

249 名前:デフォルトの名無しさん mailto:sage [2007/02/20(火) 13:12:56 ]
諦めて樹海にでも行けばいいんじゃね?



250 名前:デフォルトの名無しさん mailto:sage [2007/02/20(火) 23:48:17 ]
関数が多くなって非常に醜いソースファイルがあるのですが、
ほかのファイルにいくつかの関数をもっていき、それをメインのソースファイルから利用したりはできませんか?

251 名前:デフォルトの名無しさん mailto:sage [2007/02/20(火) 23:50:42 ]
つ ヘッダ

252 名前:デフォルトの名無しさん mailto:sage [2007/02/20(火) 23:52:12 ]
>>250
ほかのファイルにいくつかの関数をもっていき、それをメインのソースファイルから利用
すれば出来る。

253 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 10:07:30 ]
case 1:
if(GetOpenFileName(&ofn)){
GetFileTitle(GotFileName,GotFileShortName,256); strcpy(musictitle,"open ");
strcat(musictitle,GotFileShortName);strcat(musictitle," alias oto");mciSendString(musictitle,NULL,0,NULL);
}
break;

case 2:
mciSendString("stop oto",NULL,0,NULL);
mciSendString("play oto from 0", NULL, 0, NULL );
break;

こんな感じでボタン1が押されたらコモンダイアログ出してファイルを選択させ、
ボタン2が押されたら、選んだファイルを再生する、というようにしてるんですけど
動作が変なんです。

例えば、最初に「oo.mp3」を選択した後、ボタン2を押して再生します。
そして、もう一度ボタン1を押して、「xx.mp3」を選択します。
その後、ボタン2を押すと、「oo.mp3」が最初から再生されてしまいます。
本当は、「xx.mp3」を再生したいのですが・・・

254 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 10:41:32 ]
>>253
mci使ったことないし、曲再生もやったことないけど、気づいた点を一つ。
closeしないうちに再openできるの?
単純に、oo.mp3がopenされたままだからxx.mp3でopenできてないんじゃない?

255 名前:253 mailto:sage [2007/02/22(木) 14:35:39 ]
>>254
すんません、書いてなかったです。
WM_DESTROYの中でcloseはしてあります。

256 名前:254 mailto:sage [2007/02/22(木) 14:51:50 ]
んにゃ、closeしないままopenしてないかって話だけど。
2度目のxx.mp3のときのcase 1で、ちゃんとopenできてるかどうか確認してみたら?
#つーか、mciSendString()はエラーを返さないのか? 返さないとしたら確認手段くらいないのか?


いっそ、試しにこんなロジックでも書いてみたら?
mciSendString("open oo.mp3 alias oto", NULL, 0, NULL);
mciSendString("stop oto", NULL, 0, NULL);
mciSendString("play oto from 0", NULL, 0, NULL);
Sleep(10000);
mciSendString("close oto", NULL, 0, NULL);
mciSendString("open xx.mp3 alias oto", NULL, 0, NULL);
mciSendString("stop oto", NULL, 0, NULL);
mciSendString("play oto from 0", NULL, 0, NULL);
Sleep(10000);
mciSendString("close oto", NULL, 0, NULL);
んで、巧く行ったらcloseをコメントにしてやってみると。

257 名前:253 mailto:sage [2007/02/22(木) 15:05:31 ]
>>256
出来ました、サンクスです。
てっきり、closeは最後にアプリ閉じるときだけすればいいと思ってました。
そっかー、一旦、close 要るんだったのか。
どうもです。

258 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 15:32:52 ]
VC++の古いやつ(5.0 Ent)使ってるんだけど
SDKで 

case WM_PAINT:
return 0;

この2行が入っていると、
何故か(左上のアイコンをクリックして出す)システムメニューの
表示が遅くなったり、配置したコントロールの反応が遅れたりする
(例えばチェックボックスをクリックしてもチェックマークが入るのが遅い)。

この2行をコメントにすると直る。

これって、普通なのかな?
今更なんで5.0かって言われそうだけど

259 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 15:42:35 ]
WindowsのWM_PAINTで再描画が行われない
(正確には更新リージョンが空にならない)と、再びWM_PAINTが投げられる。

だから例えばDefWindowProcの中ではWM_PAINTに対し
ただBeginPaintとEndPaintだけを呼んで更新リージョンを空にしていると、
Programming WindowsかAdvanced Windowsのどっちかに書いてあった。



260 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 04:13:55 ]
windowsアプリケーションでアイコン作ったものの
コンパイルしても表示されないんですが
設定の仕方があるのですか?

261 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 07:18:30 ]
俺様のエスパー能力を駆使した感じでは、
元々リソースを含まなかったプロジェクトに対して、アイコンファイルだけを直接追加した予感。
リソースファイル(*.rc)とresource.hがプロジェクトに含まれているか?

通常は、リソースファイルを追加した後、
そのリソースファイルに対してアイコン等を追加する。

262 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 08:00:40 ]
残念ながら含まれてます
ただ今気付いたんですがフォルダの表示をアイコン表示にすると
ちゃんと表示されます
一覧表示や詳細表示などでは表示されないんですがこれもしかして仕様ですか?

263 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 08:42:31 ]
諦めずに再エスパー。
アイコンの内32x32の方だけ書き換えていて、16x16は空のまま、とか。
イメージ - 現在のアイコンイメージタイプ をチェックしてみ。

264 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 23:38:32 ]
>>263
あるある

265 名前:デフォルトの名無しさん mailto:sage [2007/02/26(月) 00:33:49 ]
>>263
遅くなってすいません
見事にそれでした
エスパーさんありがとう!

266 名前:デフォルトの名無しさん mailto:sage [2007/02/26(月) 03:30:05 ]
エスパーされるってことは、質問の情報が不足してるってことだぞ

267 名前:デフォルトの名無しさん mailto:sage [2007/02/26(月) 05:04:43 ]
つまり、馬鹿にされているってこった。

268 名前:デフォルトの名無しさん mailto:sage [2007/02/26(月) 06:17:41 ]
関係ないけどFLVPというフリーソフトも小さいアイコンの表示が変だ
大きいやつは赤いアイコン、小さい方はMFCの青いアイコン

269 名前:デフォルトの名無しさん mailto:sage [2007/02/26(月) 07:39:04 ]
昔からそうだけど、MFCの吐き出す既定コードが手抜きだから。
LoadIconしたアイコンを大小両方に割り当てる所為で、
タイトルバーには16x16では無く、32x32のアイコンが縮小されて使われている。
両方描くのが面倒な時は、どちらか一方を削除しておくのが無難だな。



270 名前:デフォルトの名無しさん mailto:sage [2007/02/27(火) 18:10:22 ]
>>269
最初から16x16も作ってくれちゃうしなあ
アイコン作ったときは、小さいほうはとりあえず消して
小さいアイコンの見栄えが気になってから追加するようにしてる。

271 名前:デフォルトの名無しさん [2007/02/27(火) 19:27:48 ]
ソースが同封されてるツールがあって、自分でVisual Studioで
ビルドしてみたのですが、同封されているexeと比べると何故か
サイズが大きいのはどう言ったことが原因と思われるのでしょうか?

あと何個か警告が出たのですが、一応exeが出来ています。
どんな警告も出ないように作ると勝手に想像していたのですが
ある程度の許容範囲内の警告が出るくらいは無視されるものなのでしょうか?
よろしくお願いします。

272 名前:デフォルトの名無しさん mailto:sage [2007/02/27(火) 19:51:26 ]
さあ

273 名前:デフォルトの名無しさん mailto:sage [2007/02/27(火) 21:57:38 ]
作成者とまったく同じコンパイラと
作成者とまったく同じコンパイルオプションと
作成者とまったく同じライブラリをリンクすれば

たぶん同じサイズの実行ファイルになるんじゃないかな

274 名前:デフォルトの名無しさん mailto:sage [2007/02/27(火) 22:07:01 ]
覆水盆に帰らず

275 名前:デフォルトの名無しさん mailto:sage [2007/02/27(火) 23:45:12 ]
同じCPUで、同じOSな必要もあるんじゃね?

276 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 14:56:54 ]
size = GetFileSize( hFile, NULL );
SetWindowText(label,(char)size);

こんな風に書いて、sizeにhFileのファイルサイズを
スタティックコントロールのlabelに表示したいんですが、
labelの表示が変わらないんです。
(char)を取ると、めちゃくちゃな文字列が出ちゃう。
これ、このスレでいいんかな?

277 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 15:05:06 ]
SetWindowTextなんだからテキストを渡さないと

278 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 16:32:12 ]
VisualC++2005ExpressEditionを久々に起動しようとおもったんですが
”一つ以上のコンポーネントがみつかりません。再インストールしてください”
とでて、
アンインストールしようとしてもなにかのファイルがみつからないとかいうエラーがでてアンインストールできず
それでも再度インストールしようと試みたらエラーとおもわれるものがでました。
以前にはしっかりと登録もしたはずなんですが
どうすればいいでしょうか。

279 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 16:45:11 ]
パソコン買い換え



280 名前:デフォルトの名無しさん mailto:sage [2007/03/01(木) 08:29:53 ]
最後の手段っぽいけど、Windows Installer CleanUp ユーティリティを使う、とか。
サポート技術情報を文章番号290301で。

281 名前:デフォルトの名無しさん mailto:sage [2007/03/01(木) 13:38:53 ]
SetFilePointer(hFile,1,NULL,FILE_BEGIN);
ReadFile(hFile,buf,3,&readsize,NULL);
buf[3] = ('\0');

教えてください。
上のように書いて、hFileのファイルの先頭3バイトを読み
そこにヌル文字を加える、これで先頭3バイトを受け取りたいんです。
でも、これだと2バイト目+3バイト目+ヌル文字になってしまいます。
相当馬鹿なことしてるかもしれませんが・・・

282 名前:デフォルトの名無しさん mailto:sage [2007/03/01(木) 14:07:26 ]
>>281
>SetFilePointer(hFile,1,NULL,FILE_BEGIN); 
先頭から読みたいなら0じゃない?
SetFilePointer(hFile,0,NULL,FILE_BEGIN); 

283 名前:デフォルトの名無しさん mailto:sage [2007/03/01(木) 14:23:25 ]
この世はすべて1から始まっている

という世界ですな

284 名前:281 mailto:sage [2007/03/01(木) 14:36:34 ]
>>282
どうもです。できました。
かなり馬鹿なことしてたんかな?
また、質問するかもしれないんでよろしくお願いします。

285 名前:デフォルトの名無しさん mailto:sage [2007/03/01(木) 20:15:19 ]
ここでいいかどうかよく判らないですが、質問です。

Web ブラウザから起動される Java アプレットがあり、そこに表示されている情報を
現在作成しているツール(Visual C++ .NET, ダイアログ)から読み取ろうとしています。
・アプレットのクラス名を指定して FindWindow()
・EnumChildWindows() で子ウィンドウを列挙
・子ウィンドウに対して GetWindowRect() や GetWindowText()
という感じで、ラベル(SunAwtLabel)のキャプションは GetWindowText() で取得できるんですが
エディットボックス(Edit)の現在の値が取れません(""となります)。
また、コンボボックス(ComboBox)もあるんですが、これは値の取り方すら分かりません。

エディットボックスとコンボボックスの現在の値を取得するには、どうしたらいいでしょうか?

286 名前:デフォルトの名無しさん mailto:sage [2007/03/01(木) 21:13:20 ]
みためがエディットボックスとコンボボックス

287 名前:デフォルトの名無しさん mailto:sage [2007/03/01(木) 23:40:19 ]
VC2005ってPDBの埋め込みできないの?

288 名前:デフォルトの名無しさん mailto:sage [2007/03/02(金) 09:45:51 ]
SetFilePointer(hFile,1,NULL,FILE_BEGIN); //(1)先頭3バイト読む
ReadFile(hFile,buf,3,&readsize,NULL); // bufはchar
buf[3] = ('\0');

SetFilePointer(hFile,0,NULL,FILE_CURRENT); //(2)先頭から4バイト目を読む(1)の続きを読みたい
ReadFile(hFile,buf,1,&readsize,NULL);
buf[1] = ('\0');

if (buf==0x01)
{
MessageBox(hWnd,"aaa","bbb",MB_OK); //(3)4バイト目は01だからメッセージが出るんじゃ?
}

度々質問ですが、
こんな感じで、まず(1)で先頭から3バイトバイナリを読みます。
次に(2)で(1)の続き(先頭から4バイト目)を読みます。
例えば、バイナリで「41 42 43 01」なら(1)はABCになると思います。
でも、(3)のメッセージが出ません。
if の所の比較が変なんでしょうか?

289 名前:デフォルトの名無しさん mailto:sage [2007/03/02(金) 09:46:54 ]
C++とDelphiどっちが簡単なわけ



290 名前:デフォルトの名無しさん mailto:sage [2007/03/02(金) 09:54:02 ]
>>288
> SetFilePointer(hFile,1,NULL,FILE_BEGIN);
0から数え始めるからこれでは最初の1バイトを飛ばすことになる

> SetFilePointer(hFile,0,NULL,FILE_CURRENT);
無意味

> if (buf==0x01)
上を治したとして、buf[0]に書き込まれているはずだからif (buf[0] == 0x01)では?

291 名前:デフォルトの名無しさん mailto:sage [2007/03/02(金) 10:00:12 ]
実験ならいいけど
こまぎれで読んだらパフォーマンス悪そうだな

292 名前:デフォルトの名無しさん mailto:sage [2007/03/02(金) 10:04:37 ]
実験する場合はデバッガ使った方がいい

293 名前:288 mailto:sage [2007/03/02(金) 10:07:08 ]
>>290
thanxです、buf[0]だったんですね。
それにしてもこのスレで教えてもらうたびに
自分の実力の無さを感じてしまう。

294 名前:デフォルトの名無しさん mailto:sage [2007/03/02(金) 11:05:57 ]
実力以前の話だから気にするな

295 名前:デフォルトの名無しさん mailto:sage [2007/03/02(金) 11:20:40 ]
イイハナシダナー( ;∀;)

296 名前:デフォルトの名無しさん mailto:sage [2007/03/02(金) 18:14:24 ]
イイハナシダナー( ;∀;)

297 名前:デフォルトの名無しさん mailto:sage [2007/03/02(金) 18:30:16 ]
イナバウアー( ;∀;)

298 名前:デフォルトの名無しさん mailto:sage [2007/03/02(金) 21:30:16 ]
>>289

GUIアプリを作るなら

Delphi>>>(超えられない壁>>>VC++(MFC)


299 名前:デフォルトの名無しさん mailto:sage [2007/03/02(金) 23:32:56 ]
やりたいことができなくなったらVC++へ。



300 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 21:23:56 ]
www.kumei.ne.jp/c_lang/
初心者でここを見ながらVisual C++2005の勉強してるのですが、
現在時刻を表示するのに

case WM_TIMER :

GetLocalTime(&st);
wsprintf(str,"%02d:%02d:%02d",st.wHour,st.wMinute,st.wSecond);

でstatic char str[256]に格納して
WM_PAINTでTextOutでこの文字列を出力しようとするとVisual C++では文字化けしてしまいます。
borland c/c++コンパイラでコンパイル実行させるとちゃんと時間が表示されます。
これを直すにはVCの何処を弄ったら良いのでしょうか?

301 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 21:35:44 ]
ひろってきたソース弄ってるのは勉強とは言わない






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

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

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