- 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/
- 433 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 08:51:10 ]
- GUI環境しか使えない香具師は只単に読み飛ばすということさえ出来ないらしい。困ったもんだ。
- 434 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 08:54:59 ]
- 腐るぐらいスレがあるのにわざわざここで質問するやつの気が知れない。
- 435 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 08:57:28 ]
- VCだからだろ。
- 436 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 09:02:18 ]
- Linux依存→依存なしの移植だろ
VC関係ない
- 437 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 09:33:42 ]
- getopt()だからLinux依存じゃないぞ。VCがPOSIX準拠してないのが問題なんだ。
- 438 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 09:35:20 ]
- >unistd.hをincludeしているソースを
uniって何の略?
- 439 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 09:40:06 ]
- >>438
少なくともLinuxの略ではないな。
- 440 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 09:42:19 ]
- 初心者だったら基本やってりゃいいんだよ
実力もないのにややこしいことやろうとすんな 1 初心者には無理だから素直にあきらめる 2 初心者卒業してからやる 3 教えてくれるまで暴れる
- 441 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 09:51:59 ]
- と、実力もないのに初心者を脱出したと思い込んでいる>432=434=436=438=440が申しております。
- 442 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 09:57:07 ]
- >>439
unix standardって感じか? システムコール系の関数が詰まってるね。
- 443 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 13:49:52 ]
- 自分が答えられそうにもないCUI系の質問が来るだけで
火病起こす奴ってなんなの?
- 444 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 21:47:01 ]
- openFileDialogのOKボタンが押されると、c_printfuncにファイル名を渡して
呼び出し、その関数の内部でファイル名を標準出力したいです。 以下のようにしているのですか何も出力されません。 どこが間違ってるのでしょうか・・? -------------------- [openFileDialogのOKボタン押された時] private: System::Void openFileDialog1_FileOk(System::Object^ sender, System::ComponentModel::CancelEventArgs^ e) { String^ fname; if (openFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK) { fname = openFileDialog1->FileName; c_printfunc(fname); } } ---------------------- [c_printfunc.cpp] #include "stdafx.h" #include <stdio.h> int c_printfunc(char* fname) { printf("%s\n", fname); return 0; }
- 445 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 22:03:30 ]
- すみません今リブルドしたところ、エラーが出ていました
1>f:\documents and settings\(省略)\Form1.h(485) : error C3861: 'c_printfunc': 識別子が見つかりませんでした
- 446 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 22:17:51 ]
- なんどもすみません
openFileDialogの中からどうやってc_printfuncを認識させるのでしょうか? 今日始めたばかりでわけわかめ状態です;;
- 447 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 23:11:19 ]
- 質問とは関係ないけど
そういえばアウトプットウインドウにデバッグストリング出力する機能があったな デバッガばっかり使ってて存在自体を忘れてた
- 448 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 00:48:25 ]
- だからCUIというかソースレベルの質問はスレ違いだって
過去スレ見ればわかるだろ ここはVisualCの機能や使い方を答える程度のレベルのスレなの
- 449 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 00:56:51 ]
- >>1も読めない初心者未満が何か言ってる
- 450 名前:446 mailto:sage [2007/03/25(日) 10:16:58 ]
- 関数プロトタイプを記述することで自己解決しました
お騒がせしました
- 451 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 14:09:16 ]
- ダウンロードするのに住所や電話番号を登録するようですが、
何か連絡が来ることってあるんでしょうか?
- 452 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 10:22:46 ]
- 無いよ
- 453 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 01:52:44 ]
- #include <stdio.h>
main() { printf("文字表示のテスト"); } これを実行した時に、F5(デバッグあり)で実行すると すぐにウィンドウが閉じてしまいますが ctrl+F5(デバッグなし)で実行すると、ウィンドウが表示されたままに なるのは何故なんでしょうか。 また、DOS窓でなく、通常のウィンドウへの描画は どのような手順で行うのが簡潔でしょうか。
- 454 名前:453 mailto:sage [2007/03/30(金) 01:56:21 ]
- 環境はVC++8.0ですが、学習のためにCの記述をしています。
また、8.0以前のサンプルを開こうとした時に、変換を行った後 そのソリューションを実行するにはどうすればいいでしょうか。
- 455 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 04:26:58 ]
- #include <conio.h>
を追加して }の前にgetch();追加で キー一回押すまで進行停止が出来るよ
- 456 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 06:19:55 ]
- >453
裏で別のプログラムが面倒みてくれてる
- 457 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 07:36:32 ]
- >>455
cinのがよくね?
- 458 名前:453 mailto:sage [2007/03/30(金) 07:55:11 ]
- すみません、自分で読み直してみて、一度に質問を書き込みすぎました。
でも、皆さん親切に教えていただけるので、とても嬉しいです(;;)
- 459 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 09:04:24 ]
- 微妙に回答のポイントがずれてる希ガス
- 460 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 10:36:22 ]
- じゃ、簡潔に。
>ctrl+F5(デバッグなし)で実行すると、ウィンドウが表示されたままに >なるのは何故なんでしょうか。 仕様です。 >また、DOS窓でなく、通常のウィンドウへの描画は >どのような手順で行うのが簡潔でしょうか。 WinAPIを使えばできますが、その為には先ず一通りCの知識が必要になります。
- 461 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 10:40:20 ]
- EEなら該当スレみつけてSDKインストール
- 462 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 10:50:54 ]
- >また、DOS窓でなく、通常のウィンドウへの描画は
>どのような手順で行うのが簡潔でしょうか。 まとめると (1)MicrosoftのサイトからPlatformSDKをダウンロードしてインストール (これでWin32APIを使うことができる) (2)ウィンドウ作成 (Win32APIはmainの代わりにWinMainを使う) (3)ウィンドウに文字を出力
- 463 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 11:07:35 ]
- >通常のウィンドウへの描画は...
通常のウィンドウをどうやって作るかにもよるんだけど 1. Win32(C or C++) 基本だけど全てを自分でやる必要がある。 2. MFCアプリ(C++) MFCが多くのことをやってくれるけど、構造の理解に時間がかかる。 3. CLRのWindowsフォームアプリ(C++/CLI) 上の二つとは異質だけど初心者には楽。いわゆるドットネット。 他にも選択肢はあるけど、普通はこの3択。誘導される前のスレッドを見る限り VC8EEなんだろうな。その場合2は選択できない。1を選ぶなら>>462で。 プロジェクトの変換については情報不足杉。
- 464 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 11:27:54 ]
- >>463
MFCアプリ(C++)、CLR(C++/CLI)になってるけど、 この二つは、C言語形式で書けないの? 勉強中でよくわからない・・・
- 465 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 11:40:54 ]
- MFCの場合、自分のロジックはCと互換性のある書き方もできるけど、
WindowsとのI/FはC++でないとコンパイルできない。 CLRの場合、最早Cと互換性を持たせることが無意味。 何故なら、文字列から日付け処理からメモリ管理から何もかも流儀が全て違う。
- 466 名前:453 mailto:sage [2007/03/30(金) 16:51:55 ]
- ありがとうございます、通常のウィンドウへの描画は
WindowsのAPIを使ってみることにします。 まだ、ポインタもわかってないので(というか勉強がまだなので) 地道にCの言語仕様を学んだ後で、SDK取りに行きます。 バージョンの古いサンプルが開けない、というのは 恐らくツールの使い方がわかっていないだけだと思うので もう少し自分で頑張ります。
- 467 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 23:25:52 ]
- そのレベルなら1年は覚悟した方がいいよ
- 468 名前:453 mailto:sage [2007/03/31(土) 00:20:45 ]
- かかるかもしれないですね。でも、正直そこまで時間はかけたくありません。
地道にひとつずつ習得する以外方法はないと思いますが、 例えば、「ブロック崩し」を作りたい、という目的がある、とした場合に どの道筋が適切かご指導いただけるとありがたいです。 ちなみにお察しの通り環境はVC8のEEです。
- 469 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 00:25:11 ]
- C#でもやれば?
Javaだと某有名プログラムがあることだし、フラッシュも最近増えてきたけど。
- 470 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 16:50:42 ]
- 別の環境で作ったソースをVCで編集しなきゃいけないんですが、
フォルダ構成を元のままVCで作業するにはどうしたらいいでしょうか? 新規プロジェクトを作ってみたら ソースもヘッダも全部同じフォルダにできてしまうみたいで・・・ フォルダの設定とかありませんか?
- 471 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 17:25:30 ]
- 好きなようにできるだろ
- 472 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 17:59:47 ]
- できてしまう、って何でソースやヘッダを作る必要があるんだ?
もうソースはあるんだろ?
- 473 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 12:46:41 ]
- VC6.0でWIN32API(SDK?)で開発しています
エディットコントロールで文字列を追加したときに、自動でスクロール させたいのですがうまくいきません(文字列の追加はできてます)。 CreateWindowExで指定しているウィンドウスタイルは次の通りです。 WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | ES_AUTOVSCROLL | ES_LEFT | ES_MULTILINE | ES_READONLY, 文字列周りは、このようにしています。 SetWindowText(hEdit, "起動\r\n(^-^)\r\n"); SendMessage(hEdit, EM_SETSEL, 0, -1); SendMessage(hEdit, EM_SETSEL, -1, -1); SendMessage(hEdit, EM_REPLACESEL, 0, (LPARAM)"(@-@)\r\n"); SendMessage(hEdit, EM_REPLACESEL, 0, (LPARAM)"(T-T)\r\n"); SendMessage(hEdit, EM_REPLACESEL, 0, (LPARAM)"orz\r\n"); SendMessage(hEdit, EM_SCROLLCARET, 0, 0); ネットで調べたところ、ES_AUTOVSCROLLやEM_SCROLLCARETがあれば勝手 にやってくれそうなんですが… どうすれば自動でスクロールし追加した文字列部分が表示されるように なるのか、教えて下さい。
- 474 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 14:03:10 ]
- EM_SCROLLCARET
これでわざわざスクロールしてるような気がする
- 475 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 17:29:35 ]
- >>473の文字列追加した後で、別のルーチンから文字列追加を大量に
行ったら、ちゃんとスクロールしてくれました。 >>473の処理はEM_SCROLLCARETの一行をコメントにしても変わらず… なにか条件があるんでしょうか…
- 476 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 12:02:01 ]
- >>468
ブロック崩しを作りたいなら @まず持ってるVCの基本操作を覚える(プロジェクト作成の仕方、コンパイルの仕方、実行の仕方、 できればブレークポイントを使った基本的なデバッグ手法やコンパイルオプションの違い等も。) ACを覚える(基本文法・関数・ポインタ等。これはどんなCプログラムが作りたかろうが全ての人が通る道。) BWin32APIに触ってみる(ウィンドウを使ったプログラムの作成。) Cグラフィカルなプログラムを作ってみる(GDIを使うorDirectXを使う。どっちでもお好きに。) Dブロック崩しを作ってみる(ゲーム特有のアルゴリズム・当たり判定や入力制御等を学ぶ) 酷く大まかだけどこんな感じでいいんじゃないでしょうか。 ちなみにかかる時間はAが一番長くなると思います。
- 477 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 01:18:00 ]
- 嘘だ、絶対4だ。
- 478 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 08:14:48 ]
- でも挫折するのはたいてい3じゃないか?
- 479 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 10:05:53 ]
- M$と相性が合わないなら(1)で挫折するはず
- 480 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 12:02:09 ]
- ゲームは昔から出来合いのゲームのソースをいじりながら覚えたもんだが
BASIC限定だったのかもしれないな
- 481 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 12:34:05 ]
- basicでゲームやったことありますとか言い出すやつは使いものにならない。
たとえそういう経験あったとしても黙っておくもの
- 482 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 12:57:19 ]
-
< ワタシ ヲ ヨンダ?? ●/ <■ / >
- 483 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 13:59:52 ]
- >>481
そういう話じゃないでしょ。 既存のソースの改造から始めるのはどうかという話では。
- 484 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 14:17:17 ]
- いきなり改造から始めるなんて聞いたことがない。
VCの場合コードの量が半端じゃないし、 他人の書いたコード読んで仕様まで理解できたら相当なレベルだと思う。 初心者レベルだとビルドできなくて投げ出すのがせいぜい。
- 485 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 14:25:47 ]
- いやだからBASICの話でしょ改造なのはw
- 486 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 14:48:20 ]
- 昔はね。
今でも新しいことやるのはサンプルソースからやるけど。
- 487 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 14:51:03 ]
- ┏┳┳┓ ハイ. ┏┳┳┓
┏┫┃┃┃ 雑談は ┃┃┃┣┓ ┃┃┃┃┣┓ ここまで.┏┫┃┃┃┃ ┃ ┃┃┏━━━┓┃┃ ┃ ┃ 雑談 ┣┫ . ・∀・ ┣┫. STOP!┃ ┗━━━━┛┗┳━┳┛┗━━━━┛ ┏┻┓┃ ┏━┛ ┣┻┓ ┗━━━┫ ┗━┓ ┗━━━┛
- 488 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 21:53:49 ]
- ┌┬┬┐ ハイ. ┌┬┬┐
┌┤│││ 雑談は │││├┐ ││││├┐ ここから.┌┤││││ │ ││┌───┐││ │ │ 雑談 ├┤ . ・∀・ ├┤ START.!!│ └────┘└┬─┬┘└────┘ ┌┴┐│ ┌─┘ ├┴┐ └───┤ └─┐ └───┘
- 489 名前:デフォルトの名無しさん [2007/04/03(火) 23:58:42 ]
- 初心者なんですが、どうしても分からない事があります。お教え頂けないでしょうか?
フックプロシージャで、VK_DOWNをVK_TABに変換しているのですが、PostMessageだとうまく行くのに SendMessageに変えると動作しません。 ソースは次のようなものです。 static LRESULT CALLBACK OnKeyHook( int nCode, WPARAM wparam, LPARAM lparam ) { if( nCode < 0 ) return CallNextHookEx( HHook, nCode, wparam, lparam ); UINT msg; if( lparam & 0x80000000 ){ msg = WM_KEYUP; }else{ msg = WM_KEYDOWN; } switch( wparam ){ case VK_DOWN: PostMessage( GetFocus(), msg, VK_TAB, lparam ); ←ココです。 return TRUE; default: ... break; } return CallNextHookEx( HHook, nCode, wparam, lparam ); } VK_UP を SHIFT + VK_TAB に変換するのに SetKeyboardState を使いたいので、SendMessage で 行いたいので困っています。 私の知らない何かがあるのでしょうか? どうかご教授下さい。よろしくお願い致します。
- 490 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 01:25:54 ]
- あまり詳しくないけどSendMessageはメッセージキューを経由しない
(TranslateMessageを通らない)のでWM_KEYDOWNのSendでは WM_CHARが発生しないとか何とか。 ↑↓でフォーカス移動をするだけなら、キーボードイベントを捏造するより WM_NEXTDLGCTLをポストしたほうが楽だと思う。
- 491 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 12:02:54 ]
- MessageBoxみたく、手軽に小さいウィンドウを出して
ユーザに文字列を入力させたいんですが、そういう関数ってありますか?
- 492 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 12:28:47 ]
- >>491
DialogBox
- 493 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 12:36:55 ]
- >>492
素早い返答thx!!!
- 494 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 12:40:06 ]
- どういやDialogBoxと自分でウィンドウ作るのとどう違うんだろう・・・
- 495 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 12:44:21 ]
- >>494
ダイアログテンプレート以外の違い? モーダルとモードレスで違うべ。 モードレスは自分で作る場合に近いな。 自分でメッセージループ持たせてモーダルにすることもできるけど。
- 496 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 15:14:21 ]
- >>490さん
ありがとうございます。SendMessageはあきらめました。 ところで WM_NEXTDLGCTL ってダイアログでしか使えないんでしょうか? 今ダイアログを使ってなくて、普通のフォームのEDITとかCreateWindowで貼り付けてる状態で、 WM_NEXTDLGCTLは効かないみたいなんです orz >>494さんの疑問は私も悩んでいる点です 初心者でいっぺんにいろいろ覚えられないので、とりあえずダイアログを使わずにフォームをゴリゴリ 書いて、きつくなってきた所でダイアログの恩恵にあやかろうという方針を立てていました。 でも、そもそもの使用目的が違うような気がしてきて、にもかかわらず、その辺りの指針がはっきり せず、すっきりしません。 皆さんはどういう基準で使い分けられてるんでしょうか。
- 497 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 18:09:55 ]
- 今思ったんですが、普通のウィンドウとDialogの違いってメニューを付けられるかどうかじゃないでしょうか?
普通のウィンドウ、Dialog ともにモーダル、モードレスにできるし、どれで始めて、どう遷移していけばいいか 迷うんですけど... ひょっとしてDialogにもメニュー付けられたりして OTL
- 498 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 18:27:22 ]
- たしか付けられるはず。
- 499 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 18:37:25 ]
- 基本的にダイアログテンプレートを使うか使わないかでわければいいじゃん
- 500 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 20:37:30 ]
- ウィンドウには色々なスタイルがあって、
その中の一部分をダイアログと呼ぶ、というだけ。 てか、ダイアログをメインウィンドウにした方が 色々と楽だと思うのは俺だけ?
- 501 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 20:41:57 ]
- >>496
ダイアログ以外では使えないと思う。 MFCのCFormViewなどでは通常のウィンドウの上にモードレスダイアログを貼り付けて ダイアログリソースを利用しているので WM_NEXTDLGCTLも動く。 VistaのUIのガイドラインではウィンドウ全体を表示するためにスクロールバーを必要とする ダイアログは使うな。ダイアログはメニューバーやステータスバーを持つな。となってるけど ユーティリティのようなトップレベルウィンドウがダイアログの場合は除くとなっている。 トップレベルウィンドウをダイアログにするか、通常ウィンドウにするかの基準は、ざっと見た限りは 見つからなかった。 ttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/UxGuide/UXGuide/Windows/DialogBoxes/DialogBoxes.asp
- 502 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 20:45:04 ]
- >>496
IsDialogMessageでを使えるようにならない?
- 503 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 20:45:13 ]
- あと、ウィンドウクラスが #37770 じゃ困ることもあるべ
- 504 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 20:46:34 ]
- >>498
メニュー簡単に付きました orz >>499 ですよね 現在ダイアログに傾倒して行ってるところです。 できれば全部これでやりたいと思い初めています。メイン画面から全部。 でもどのサンプルを見ても通常フォームから始まってるんですよね... ダイアログでは実現できない事って、例えばどんな事なんでしょうか。
- 505 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 20:47:02 ]
- >>503
ダイアログでもウィンドウクラスを指定できる。 指定したときには、そっちになり#37770にはならない。
- 506 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 20:51:03 ]
- WM_PAINTとかWM_CHARとかウィンドウそのものに関するメッセージを使うときには
普通のウィンドウにして、ダイアログにしない気がする。 あと、501のとおりメニューやスクロールバー、ステータスバーが付くときも ダイアログは使われていないと思う(でもたしかにユーティリティでは見かけたことある)。 505みたいにどっちつかずな面もあるけど。
- 507 名前:デフォルトの名無しさん [2007/04/04(水) 20:58:21 ]
- >>500
私もメインウィンドウをダイアログで行こうと考えています。 >>501 ありがとうございました。指針を示して頂いて、安心しました。 MSDN英語で読めるっていいですね。私はMSDN日本語でも頭がぐるぐるしてくるんです。 >>496 だめでした。 >>503 ダイアログのWM_CREATE(?)から CREATESTRUCT は取れるんですか?
- 508 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 21:01:26 ]
- まちがえました。
>>502 IsDialogMessageをメッセージループに入れてもだめでした。
- 509 名前:デフォルトの名無しさん mailto:sage [2007/04/05(木) 00:50:55 ]
- ダイアログをメインフォームにしようとしているのですが、分からない事が出てきました。
DialogBoxParam でモーダル起動した場合、メッセージループが内部にあるから IsDialogMessage を組み込めないと 思うのですが、何か方法があるのでしょうか? CreateDialogParam でモードレスダイアログを作って、メッセージループを準備するのが正しいやり方なのでしょうか? どうかお教え下さい。よろしくお願いします。
- 510 名前:デフォルトの名無しさん mailto:sage [2007/04/05(木) 01:42:26 ]
- ModalならIsDialogMessageは必要ないだろ
- 511 名前:デフォルトの名無しさん [2007/04/05(木) 02:11:46 ]
- 2個スレッドを作って、一つでユーザーインターフェースの処理
でもう一方で計算をさせたいと考えてます。 で、AfxBeginThreadと制御関数でマルチスレッドぽくはできました。 ただ、計算の進歩状況の表示や中断をさせられません。 今のところボタンをクリックされた後イベントハンドラ中で while文を回して進歩状況を表示していて意味がないんです。 ユーザー インターフェイス スレッド?を作れば一つは解決ですか?
- 512 名前:デフォルトの名無しさん mailto:sage [2007/04/05(木) 02:27:39 ]
- >>510
本当だ!IsDialogMessage を入れないと TAB キーが使えないのかと思ってました。 ありがとうございます。
- 513 名前:デフォルトの名無しさん mailto:sage [2007/04/05(木) 02:43:43 ]
- ウィンドウ登録、作成、メッセージループをダイアログに任せるだけで、こんなにもソースがすっきり!VBみたい
しかもコントールをXP風にできました。 うれしいです (↑∇↑) ありがとうございました。
- 514 名前:511 [2007/04/05(木) 05:12:06 ]
- ようするに、
WinMain()に別のスレッドから進歩状況を伝えて イベントを起こして表示させる方法を教えてください。 ということだったんですが、今もう一度探したら PeekMessage()というのを見つけました。 どうも自分が行わせたい処理はマルチスレッドを使わなくても よいように思うんでPeekMessage()を使ってみます。 できたあとの話になるんですが、処理にかかった時間を計測とか できるんでしょうか?関数の実行に要した時間なんですが…
- 515 名前:511 [2007/04/05(木) 05:26:52 ]
- timeGetTime見つけました。
スレ汚し申し訳ない…
- 516 名前:デフォルトの名無しさん mailto:sage [2007/04/05(木) 05:30:31 ]
- >>514
皆さん寝てるんじゃないですか。 スレッドは以前覚えたんだけど...確かセマフォとかミューテックスとかあってご要望の事もできる筈だけど 使わなかったので忘れましたヾ(≧▽≦)ノ 明日の夜ぐらいにはエロいひとが来て、答えてくれるんじゃないかなぁ。 とりあえず ↓ に目を通しておかれたらいいかも。 www2m.biglobe.ne.jp/~yasutaka/intro/no_99.htm 関数の実行に要した時間は簡単にとれると思うけど...
- 517 名前:デフォルトの名無しさん mailto:sage [2007/04/05(木) 05:48:31 ]
- >>505
ダイアログにウィンドウクラスを指定する方法を是非ともお教え下さい。お願いします┏○
- 518 名前:デフォルトの名無しさん mailto:sage [2007/04/05(木) 08:03:06 ]
- >>517
wisdom.sakura.ne.jp/system/winapi/win32/win89.html
- 519 名前:デフォルトの名無しさん mailto:sage [2007/04/05(木) 20:08:04 ]
- >>518
ありがとうございます ┏○
- 520 名前:デフォルトの名無しさん mailto:sage [2007/04/05(木) 20:40:11 ]
- COM(ActivX?)が良く分かりません。以前VBでコントロール作ったり、ActiveX.Exe,ActiveX.Dllを作ったぐらいで...
将来的にやりたい事は、以下の2つです。できればMFCなしで行いたいんです。 1.ブラウザ上に貼り付けて利用するもの。 2.DirectX,DirectShow がComベースらしいので理解したい。 疑問点は以下の2つです。 1.MFC使わずにATL だけで実現可能でしょうか? 2.VS.NET 2003 で作成できるのでしょうか?(No Managedで) 今まではVC6の ATL COM AppWizard で作成してたんですが、VS.NET 2003 ではどの AppWizard で作ればいいのか 分かりません 。 どうかよろしくお願いします。
- 521 名前:デフォルトの名無しさん mailto:sage [2007/04/05(木) 21:21:17 ]
- ┏ ・:∴○ ドシュッ
- 522 名前:デフォルトの名無しさん mailto:sage [2007/04/06(金) 04:01:26 ]
- 520ですが、1は自己解決しました。
VC付属の OLE VIEWER で右クリックしたらHTML用にOBJECTタグを作ってくれて、ブラウザ上で動作しました。 ろくに試しもせずに質問してしまい、申し訳ありませんでした。
- 523 名前:デフォルトの名無しさん mailto:sage [2007/04/06(金) 10:45:33 ]
- 聞きたいことがあったんだけど、レス書いてたら答えに気づいたw
- 524 名前:デフォルトの名無しさん mailto:sage [2007/04/06(金) 18:07:19 ]
- そういうことって結構あるよ。
文章にするというのが軽く気分転換になっていると思う。
- 525 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 12:09:26 ]
- すみません。
変数の定義(int型)をmainメソッドの中の中間あたりで行うと 「そのような識別子はありません」とエラーが出てしまうんですが (定義をmainの先頭に持ってくるとエラーが出なくなります) なぜなんでしょう。先頭と中間での定義の間で printf、scanf、while関数等を使っているんですが、何か関係がありますか?
- 526 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 12:14:54 ]
- >>525
言語は何? 古いCでは変数宣言はブロックの先頭にある必要がある。 #勿論、ブロックの先頭ならよいので以下の例は問題ない。 int main() { printf("foo\n"); { int foo = getchar(); printf("%c\n", foo); } return 0; } どうでもいいが、while関数なんてものは無いし、 一般的にcではメソッドとは言わない。用語は間違わないように。
- 527 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 12:23:03 ]
- 知ってるけどスレ違いだから教えてやらない
- 528 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 12:29:35 ]
- そうなんですか、ちなみに言語はCですね。失礼しました。
getch()等が「古い型」だと注意されるのはなんだろうと思っていましたが。 ブロックを設けて先頭へ記述するようにします。 用語も適当に使っていました。
- 529 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 12:29:56 ]
- まさか
printf("%d", a); int a; なんてやってるオチでは…
- 530 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 12:31:23 ]
- >>526
インデントぐらいつけなよ
- 531 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 12:51:13 ]
- あー、普段はエディタが勝手にインデントするし、どうせ見えないと思って割愛した。許せ。
- 532 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 18:03:44 ]
- 自動コード整形のパターンってカスタマイズできるんでしょうか?
- 533 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 20:30:36 ]
- 2chにソース張ること自体ねぇ・・・
どっか引っ越そうぜ
|

|