★初心者にVisual C++を教えるスレ★ Part4
■ このスレッドは過去ログ倉庫に格納されています
0001よろ♪
NGNG前スレ
★初心者にVisual C++を教えるスレ★ Part3
http://pc2.2ch.net/test/read.cgi/tech/1038160750/l50
★初心者にVisual C++を教えるスレ★
http://pc3.2ch.net/test/read.cgi/tech/1023530449/l50
関連スレ
■ VisualC++(MFC限定)相談室 5■
http://pc3.2ch.net/test/read.cgi/tech/1028553308/l50
Win32API 質問箱 Build7
http://pc3.2ch.net/test/read.cgi/tech/1036654893/l50
0153デフォルトの名無しさん
NGNGIDE環境から実行してるんなら最後にgetch()でもしとけ。
0154デフォルトの名無しさん
NGNGコマンドプロンプトから実行すればいいんじゃね
0155147
NGNG0156デフォルトの名無しさん
NGNGWindowsのGUIアプリの作り方を学習したいのですが、
ttp://www.amazon.co.jp/exec/obidos/ASIN/4881358219/ref=pd_rhf_p_1/249-8667808-1583552
この本は、Visual C++.netでも使えますか?
0157ひよこ名無しさん
NGNGグローバル変数!グローバル変数!グローバル変数!グローバル変数!
グローバル変数!グローバル変数!グローバル変数!
グローバル変数!グローバル変数!グローバル変数!
グローバル!グローバル!グローバル!グローバル!ああああああああああああああああああああああああああああああああああああああああ
0158ひよこ名無しさん
NGNGOnLButtonDown()関数で得たマウスの座標をOnPaintに受け渡すために
int xpos = -100;
int ypos = -100;
とグローバル変数を宣言してるのですが
なぜ、int xpos; じゃだめなのでしょうか?
0159ひよこ名無しさん
NGNG0160デフォルトの名無しさん
NGNG正直、何やりたいのか判らん。
グローバル変数を何に使ってんだ?
0161デフォルトの名無しさん
NGNG答えようがない。
0162デフォルトの名無しさん
NGNG何かエラー起こってんのか?
悪い質問のお手本だな
0163C++厨
NGNG0164158
NGNGint ypos = -100;
void CS17Wnd::OnPaint()
{
CPaintDC dc(this);
dc.Ellipse(xpos - 20, ypos - 20, xpos - 20, ypos - 20)
}
void CS17Wnd::OnLButtonDown(UINT nFlags, CPoint point)
{
xpos = point.x;
ypos = point.y;
invalidate();
}
このint xpos = -100;の-100はどういうことなんでしょうか?
なぜ-100なのかが分かりません。
宜しくお願いします。
0165デフォルトの名無しさん
NGNG0166デフォルトの名無しさん
NGNG適当。
>>165
何をやりたいかもわからないのに答えようがないと思う。
0167デフォルトの名無しさん
NGNGはっきり言おう。
お前の脳みそが理解できん。
自分でコーディングしておいて「分かりません」?
病院いって来い・。
0168デフォルトの名無しさん
NGNGOnLButtonDownが呼ばれる前にOnPaintが呼ばれたらどうなるか小一時間考えるといい。
0169デフォルトの名無しさん
NGNG参考書の例題と書いてるだろう。
このスレは質問の仕方も悪けりゃ答える奴も無能かよ
0170デフォルトの名無しさん
NGNG0171デフォルトの名無しさん
NGNGはい次↓
0172158
NGNGint xpos;で試したら-100の意味が分かりました。
ありがとう。
0173158
NGNG適当なわけじゃなかったよ
0174デフォルトの名無しさん
NGNG0175158
NGNGそうでした。すいません
0176デフォルトの名無しさん
NGNG元質問以外はなるべくsageてね。
0177158
NGNG0178デフォルトの名無しさん
NGNGすが、ファイル名だけでオープンしようとすると上手くいきません。
そこで、実行ファイルのあるディレクトリを取得したいのですが可能でしょうか?
0179デフォルトの名無しさん
NGNG0180デフォルトの名無しさん
NGNG質問する前に検索しろよ
http://www.google.com/search?q=Windows+%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA+%E5%8F%96%E5%BE%97
0181デフォルトの名無しさん
NGNGありがとうございます。
10分くらいは検索してみたのですが・・・。多謝です。
0182デフォルトの名無しさん
NGNG0183デフォルトの名無しさん
NGNGWindowsディレクトリって c:\windows でしょ?
>>178の答えになってるの?
0184デフォルトの名無しさん
NGNGGetCurrentDirectoryで出てくるのは、何か実行ファイルがおいてあるのとは
別のディレクトリが取れているようでして・・・。
どの命令を使えばいいのでしょうか?(ダメ
0185デフォルトの名無しさん
NGNG逝ってきます。
0186デフォルトの名無しさん
NGNGGetCommandLine
現在のプロセスのコマンドライン文字列へのポインタを取得します。
LPTSTR GetCommandLine(VOID)
これでフルパスが取れるみたいです。
試してみたら、
"D:\TEMP\TEST\Debug\TEST.exe"
こんな感じになりました。
0187デフォルトの名無しさん
NGNGダイアログベースのアプリで、最小化のタイミングでタスクトレイに
表示したくOnSyscommand関数で最小化のイベントを取り、メインダイアログを隠したい
のですが、OnSyscommand関数がデフォルトで出来ていません。
ユーザーが作成するものなのでしょうか?
生成方法を教えて下さい。
宜しくお願いします。
0188デフォルトの名無しさん
NGNGWindows ディレクトリ 取得
Windows入れないと別のOSも含まれるんじゃないの?
カレントディレクトリにしたほうがいいんだろうけど
0189デフォルトの名無しさん
NGNGオーバーライドの方法はヘルプ読め
0191デフォルトの名無しさん
NGNGダイアログの右上の最小化ボタンの動作をフックして
独自の動きをさせたいってことなの?
メインダイアログを隠すってことの意味がよくわからないんだけど・・。
隠す=最小化/アイコン化?
0192187
NGNGすみません、オーバーライドをすればよいということでしょうか?
0193デフォルトの名無しさん
NGNGVCならクラスウイザード使えばいいだろ。
0194デフォルトの名無しさん
NGNGGetModuleFileNameだろ。<アプリと同じフォルダ
0195187
NGNGそうです。
最小化して、タスクトレイにアイコン化することが目的です。
showwindow(SW_HIDE)
でダイアログを隠そうとしております。
0196187
NGNGOnSysCommandが見つからないのです。
OnCommandならあるのですが…。
0197デフォルトの名無しさん
NGNGMFC App Wizard (exe) プロジェクト
で作成すると、ダイアログクラスに
CTestDlg::OnSysCommand()
というオーバーライドされた、メンバ関数が自動的に
作成されるみたいだけど、これを改造するのじゃ
いかんの?
この関数では、基底クラスのCDialog::OnSysCommand()に
メッセージをそのまま渡しているみたいですが。
0198187
NGNGそれが自動的に作成されなかったようです。
追加で作成することは不可能なのでしょうか?
0199デフォルトの名無しさん
NGNGhttp://www.google.com/search?hl=ja&inlang=ja&ie=Shift_JIS&q=%83A%83v%83%8A%83P%81%5B%83V%83%87%83%93%81@%83t%83H%83%8B%83_%81@%8E%E6%93%BE%81@C%2B%2B&lr=
0200デフォルトの名無しさん
NGNGClassWizardでWM_SYSCOMMANDのハンドラ作れ
0201デフォルトの名無しさん
NGNG左上のメニューのバージョン情報は
どうなってますか?
IDD_ABOUTBOXダイアログを
オーバーライドされたOnSysCommand()で
起動しているようですが。
0202187
NGNGすみません、メニューのバージョン情報とはどこのことでしょうか?
VS_VERSION_INFOならあります。
>>200
クラスウィザードからハンドラの追加の方法がわかりませんでした。
イベントから追加しようとして、
SYSCOMMANDが左の蘭になく、誤ってWM_CANCELMODEを追加してしまって
消せなくなってしまいました(鬱
0203デフォルトの名無しさん
NGNGこれも良いみたいですね。
char str[1024];
GetModuleFileName(NULL, str, 1024);
cout << str << endl;
で結果が
D:\TEMP\TEST2\DEBUG\TEST2.EXE
こうなりました。こっちの方が汎用性が高いかな。
0204デフォルトの名無しさん
NGNGそれですべて解決だ。
0205デフォルトの名無しさん
NGNGダイアログ左上のアイコンを左クリックすると、
メニューが出ませんか? その中でバージョン
情報の表示を選択できますが。
0206デフォルトの名無しさん
NGNGつーかそのやり方が定番だから。
0207デフォルトの名無しさん
NGNGclass view のクラス名の上で右クリック
→メッセージハンドラの追加
でできますよ。
0208187
NGNGイベントからOnSysCommandを追加することができました。
フィルタのところでwindowを選択することで出てきました。
どうもありがとうございました。
0209デフォルトの名無しさん
NGNGこれで、フィルタを「ウィンドウ」にすると、
WM_SYSCOMMAND のハンドリングが
できる雰囲気。
0210名無しさん
NGNG具体的にいうと「フフフフフフフフフフフフフフフ・・・」てな感じです。どうしたらいいのでしょう?
明日の朝までに組まなきゃいけなくて、四苦八苦してます。
0211名無しさん
NGNG0212デフォルトの名無しさん
NGNG0213名無しさん
NGNG0214デフォルトの名無しさん
NGNGストーカーからの電波を受信しています。
つーか、NT とかだと、確保してから 1 度も使われてないメモリ領域は 0xCC で
塗りつぶされている。
それを読んでしまっているのだから、データをきちんと COM ポートからメモリに
読み込めていないんじゃないか?
0215デフォルトの名無しさん
NGNG0216デフォルトの名無しさん
NGNG0217デフォルトの名無しさん
NGNGできもしない仕事を請け負ったんだから自業自得ですな
0218名無しさん
NGNG一応フの羅列は回避できました。
でも、途中で読みに行かなくなっちゃって・・・
0219デフォルトの名無しさん
NGNG( ´_ゝ`) フーン
0220デフォルトの名無しさん
NGNGCPoint t1,t2,t3;
t1=(10,10); t2=(9,10); t3=(10,9);
とあったとき、この変数3つが、近い場所にあると判断させるにはどういうプログラミングをすればいいのでしょうか…
どうかご教授お願いします。
0221デフォルトの名無しさん
NGNG単純に距離を求めたらいかんの?
0222デフォルトの名無しさん
NGNGごめん、そうみたい。
NT のメモリ領域の初期化は 4 バイトくらいの周期だった。
0223デフォルトの名無しさん
NGNG迷うのだけれども
0224デフォルトの名無しさん
NGNG「近い」の定義がよく分からんぞ。
とりあえず適当に決めた一定値以内の距離だったら近いとすれば?
0225デフォルトの名無しさん
NGNG近い、という定義はだいたいxとyの座標がそれぞれ0〜1ずれていても同じとみなしたいのです…
3つの座標は、ぞれぞれ3つの辺の始点と終点を示しています。
2つの辺の始点か終点が重なれば一つの頂点としてみなしたいのです。
慌てていたので、ちょっと上の質問例が違っていました。訂正します
自作のプログラムでは線分を切り出した時にこのような座標の取り方をしたので、
これをうまく使って「この3辺は三角形だ」と認識させたいと考えています。
#define siten 0
#define syuten 1
CPoint t1[2],t2[2],t3[2]; //一辺の始点と終点の座標を持つ
t1[siten]=(0,0); t1[syuten]=(10,0); // "1"の辺の始点と終点
t2[siten]=(10,1); t2[syuten]=(4,8); // "2"の辺の始点と終点
t3[siten]=(0,1); t3[syuten]=(4,7); // "3"の辺の始点と終点
1111111111
3 2
3 2
3 2
3 2
3 2
3 2
32
2
よろしくお願いします。
0226デフォルトの名無しさん
NGNG各点間の距離をそれぞれ求めてそれが0〜1なら重なってるフラグ立てりゃいいじゃん
0227デフォルトの名無しさん
NGNG実際に紙に書いてもらえればわかりやすいと思います…
ほんとすいません つД;)
0228デフォルトの名無しさん
NGNGで良いんじゃないの? ダメ?
0229デフォルトの名無しさん
NGNG>実行しているファイルと同じディレクトリにある設定ファイルを読みたいので
>すが、ファイル名だけでオープンしようとすると上手くいきません。
こんな感じに配置してVCから実行してるのなら
C:\VC\test\Debug\test.exe
C:\VC\test\Debug\test.ini
次のようにやってみて
C:\VC\test\Debug\test.exe
C:\VC\test\test.ini
VCから実行すると実行ディレクトリは実行ファイルがあるところじゃなく
プロジェクトファイルがあるところになっちゃうかね
絶対パスだと読み込めたところをみるとたぶんこれが原因じゃないかな?
余談だけどWritePrivateProfileStringなんかの設定ファイルを書き込むやつは
ファイル指定が "test.ini" と ".\\test.ini" じゃ動作が異なるから気をつけて
前者だとウィンドウズディレクトリに設定ファイル作っちゃうから
0230デフォルトの名無しさん
NGNGしつこい
>>229
プロジェクト→設定のデバッグタブで作業ディレクトリ変えりゃ済む話でないの?
0231デフォルトの名無しさん
NGNG0232デフォルトの名無しさん
NGNG標準的なアイコンを自分のソフトに組み込んで使用したいのですが、
著作権はどのようになっているのでしょうか?(自分のソフトに組み込んで使えますか?)
また、二次使用できる場合、どこで配布されているでしょうか?
0233デフォルトの名無しさん
NGNG0234デフォルトの名無しさん
NGNGVC++6.0で独自のインターネットブラウザって作成可能なの?
0235デフォルトの名無しさん
NGNG0236デフォルトの名無しさん
NGNGIEコンポーネントを使う
0237デフォルトの名無しさん
NGNGライセンスってJPEGの?
独自ブラウザは不可能なんですかね?
0238デフォルトの名無しさん
NGNG0239デフォルトの名無しさん
NGNGMFCのCEdit なんですが、コントロールから
改行する方法ってどうしたら良いんでしょうか?
リソースエディタで複数行と、改行を許可は選んであります。
それで、ReplaceSel で文字を書いたのですが、
どうも改行されない。\n では改行できないんでしょうか?
CString からDDXを使う方法もありますが、後学のためにも
コントロール自体で操作したいと考えています。
0240デフォルトの名無しさん
NGNGCRLF (\r\n) じゃなかったっけ
0241デフォルトの名無しさん
NGNG0242デフォルトの名無しさん
NGNGども。ありがとうございます。
\r\n
で解決しました。
0243デフォルトの名無しさん
NGNGclass CDInput8{...};
void* pvRef;
として、
((CDInput8*)pvRef)->DInput->CreateDevice(...);
これ、綺麗になりませんか?
0244名無し@沢村
NGNGstatic_cast<CDInput8*>(pvRef)->DInput->CreateDevice(...);
0245デフォルトの名無しさん
NGNG0246デフォルトの名無しさん
NGNGCDInput* pDInput = pDInput8->DInput ;
pDInput->CreateDevice(...);
駄目か。かえって見づらい?
->を何段も重ねるの好きじゃないんだが。
0247デフォルトの名無しさん
NGNG(いちお、古いJava本で配列・演算・インクルの概要は把握しました・・・)
そのうち、新しい2chブラウザー(低機能)を作ったり
ネットワークゲーム(ターン制)を作ってみたいです
VB.Netの方が初心者向きですか?
0248デフォルトの名無しさん
NGNG0249デフォルトの名無しさん
NGNG初心者と言ってもどのレベルか分からん。
C++が分からんのなら無謀!
0250由美(ネカマ1号機)
NGNGVisual C++って何ができるんですか?
0251デフォルトの名無しさん
NGNGVB6にしなさい。VB.netは別物。
0252デフォルトの名無しさん
NGNGこれから学習するんなら、C++が良いんじゃないの?
Javaやってんなら、C++にも慣れやすいのでは?
■ このスレッドは過去ログ倉庫に格納されています