08/06/16 00:34:16
他人の間違いに一々噛み付くのはアマチュア。
脳内で的確に修正し、さりげなく指摘できるのがプロ。
間違いを訳のわからん理論で正当化しようとするのは厨ニ病。
512:デフォルトの名無しさん
08/06/16 00:49:51
>>511
で、君はそれのどれ?
513:デフォルトの名無しさん
08/06/16 01:30:08
悪いのはいちいち名前を変えて同じ物をローテーションしてるMSだろ
俺たちゃ振り回される被害者だってばよ!
514:デフォルトの名無しさん
08/06/16 07:29:55
Express Edition 使っているんですけど
ソリューションにソリューションを追加できないものでしょうかね
自分は MFC や ATL を使わないので
この機能のためだけに Standard 買うのもちょっと…
515:デフォルトの名無しさん
08/06/16 09:54:43
Stdにだってそんな機能はありませんよ
異なる言語のプロジェクトをひとつのソリューションで扱えるだけ
なんでそんな要求が出るのかしらないけど
MSBuildあたりを調べればなんか代替案出てくるんじゃない?
516:デフォルトの名無しさん
08/06/16 10:19:18
>>461
>何のために本やグーグル先生があると思ってるんだね?
何のために2chに初心者質問スレがあると思ってるんだね?
という発想。
517:デフォルトの名無しさん
08/06/16 11:06:46
EEには無いがSEには有るというなら多分ソリューションフォルダのことだろう。
518:デフォルトの名無しさん
08/06/16 18:21:37
VS2008 MFC使用です
CStaticオブジェクトに絵を描いています。
OnPaint()でLineTo()等を組み合わせて絵を描いているのですが、
ウィンドウの大きさを変えたとき、OnSize()で描画領域の大きさも変えて、絵も拡大縮小するような処理を行っています。
しかし、絵を拡大したとき、新たに描画されるところは拡大されて表示されるのですが、
既に表示されている部分の再描画が行われません。
これが処理を早くするための工夫(仕様?)であるところまでは調べられたのですが、
実際にどのように対処したらいいかがわかりません。
OnSizeでサイズを変更したときに全体が再描画されるようにするにはどうしたら良いでしょうか。
519:デフォルトの名無しさん
08/06/16 18:25:46
>>518
Invalidateで全体が無効領域だということをシステムに教えてやる
520:デフォルトの名無しさん
08/06/16 18:26:40
けちけちしないで全体を再描画すればいいだけじゃん。
521:518
08/06/16 18:48:09
>>519
Invalidateを初めて知りました。ありがとうございます。
OnSizeでInvalidate(TRUE)
OnExitSizeMoveでInvalidate(FALSE)
とする事で対処しました。
522:デフォルトの名無しさん
08/06/16 20:43:55
ダイアログクラス間での、構造体データのやりとりで悩んでいます。
[ダイアログA]から、作成した登録ボタンを押して[ダイアログB]を開き、
Typdef struct Data
{
int Number;
char Name[10];
}stDATA;
をそれぞれに用意した2つのエディットボックスで入力して登録するもの
なのですが、UpdateData(TRUE);で取得したデータを、[ダイアログA]の保存ボタンを
押したときにファイルに保存するための処理が作れません・・・。
[ダイアログB]でファイルオープンし、そのまま保存することならできる
のですが、ダイアログAの保存ボタンで保存したい場合は、構造体のデータ
をどのようにやりとりすればよろしいでのしょうか?
もしかしたら、MFC以前の問題なのかもしれないのですが、
C言語とC++を初めて1か月半なので、なにとぞよろしくお願いします。
523:デフォルトの名無しさん
08/06/16 21:06:50
失礼しました。ファイルへの保存は、
FILE *fp でファイルを開いて、fprintfで保存します。
524:デフォルトの名無しさん
08/06/16 21:10:10
fwriteでメンバを一個ずつセーブ
freadで一個ずつロード
525:デフォルトの名無しさん
08/06/17 11:33:24
Visual Studio2005のC++を使っています.
複数のフォルダーを取得するにはどうしたらいいでしょうか?
複数のファイル名を取得するにはCFileDialogを使って、Shift+
マウスクリックで複数ファイルを同時に選択できました.
それと同じようなことをフォルダーに対して行いたいのです。
BROWSEINFOを使って一個のフォルダは選択出来ますが、
同時に100以上のフォルダーを選択したいので、Shiftやcntlなどを
使ってさくっとやりたいです。
なお、フォルダー選択後、各フォルダー内にあるデータファイルを
順番に全て処理していきます.
526:デフォルトの名無しさん
08/06/17 11:36:10
>>522
ダイアログBが生きてるなら、Bのパブリック変数なりゲッタなりで。
Bが消えるなら、消える前に上記。あるいは、AのポインタをBに渡しておいて
BからAのパブリック変数に代入なりセッタなりで。
527:デフォルトの名無しさん
08/06/17 16:14:55
VisualC++2005でMFCアプリケーションをダイアログベースで作成しています。
メイン画面からサブ画面を開くのに
DoModal();
を使って開いているのですが、
このときサブ画面のエディットボックスなどに初期値を入れたいです。
メイン画面ではOnInit関数内でセットできたのですが、
サブ画面ではどこに記述して良いかわかりません。
初歩的な質問で申し訳ありませんがよろしくお願い致します。
528:デフォルトの名無しさん
08/06/17 16:19:44
サブ画面のダイアログのクラスにOnInitDialog()を作れ。
クラスビューからクラス選択してプロパティでオーバーライドをクリックして
OnInitDialogを探せ。
529:527
08/06/17 16:48:10
>>528
おぉ☆★☆
早速のレスありがとうございました!!
早々に解決できました。
ありがとうございましたm(_ _)m
530:デフォルトの名無しさん
08/06/17 19:24:34
>>524
>>526
まだ完成はしていないのですが、無事解決しそうです。
どうもありがとうございました。
531:デフォルトの名無しさん
08/06/17 20:59:57
すいません。すごく今困ってます。
今先生から内緒でCDに焼いてもらったVisual Stadioなんですが、
#include <stdio.h>
void main(void)
{
printf("Hello");
}
これを実行すると
プロジェクト : error PRJ0003 : 'cmd.exe' の起動中にエラーが発生しました。
ってなるんですが、どうしたら良いですか??
お願いします。
532:デフォルトの名無しさん
08/06/17 21:06:54
とりあえずMSにメールしといた
533:デフォルトの名無しさん
08/06/17 21:07:26
環境変数のpathに %SystemRoot%\system32 を追加。
PCを再起動
コピーは良くない。逮捕されるぞ
Visual studio のアカデミック版は安いんだから、買え。
一番基本的なバージョンは無料ダウンロードできるんじゃなかったっけ?
534:デフォルトの名無しさん
08/06/17 21:11:24
>>533
あの・・・すいませんが
環境変数ってどこですか?;
535:デフォルトの名無しさん
08/06/17 21:18:50
流石にこれにはレスしない方向にしたいな
536:デフォルトの名無しさん
08/06/17 21:21:23
無料で使えるExpressEditionがあるのになぜこの程度の
事をするのにコピーしてもらうのかと、そもそも学校の課題とかなら
EEでも十分すぐる
537:デフォルトの名無しさん
08/06/17 21:36:30
ていうか先生に聞けよw
538:デフォルトの名無しさん
08/06/17 23:04:52
ていうか、学校名晒せよ。
539:デフォルトの名無しさん
08/06/17 23:17:23
>>531 これはさすがにまずいな、まして教職者がやる行為ではないね
TV用
540:デフォルトの名無しさん
08/06/17 23:21:19
内緒って書いてあるな、 約束を破っちゃいかんよ
541:デフォルトの名無しさん
08/06/17 23:26:19
これはすごい釣りですね
542:デフォルトの名無しさん
08/06/18 01:35:27
国際学生証作ればMSから正規にタダでダウンロードできるだろう
543:デフォルトの名無しさん
08/06/18 06:36:00
MouseButtons & Windows::Forms::MouseButtons::Right ;
Noneになるクソワロタ
あれ・・・?
544:デフォルトの名無しさん
08/06/18 10:50:59
こんにちは!
ボタン押しでファイル保存をしたいのですが、エクセルやワードを保存するときのように、
フォルダを選べて、名前をつけて保存したいです。
まず、その画面はどうやって表示したら良いでしょうか??
環境はVisualC++2005のMFCです。よろしくお願いします。
545:デフォルトの名無しさん
08/06/18 10:54:23
CFileDialogで検索
546:デフォルトの名無しさん
08/06/18 12:21:17
クラスについての質問です。
class MakeWindow
{
public:
char Name[256];
int Width;
int Height;
int Bit;
int ScreenMode;
}
MakeWindow mWindow = new MakeWindow("A", 640, 480, 32, SELECT_MODE);
このようにしてオブジェクトを作成したのですが、
エラー 2 error C2661: 'MakeWindow::MakeWindow' : 5 個の引数を伴うオーバーロードされた関数はありません。(Line 6)
と表示されます。
受け取り側の変数も5個で設定しているのですが、何が原因なのでしょうか。
547:デフォルトの名無しさん
08/06/18 12:35:09
コンストラクタでググれよ
548:デフォルトの名無しさん
08/06/18 12:50:11
エラーをよく見ろ
'MakeWindow::MakeWindow'という関数はないと言ってる
そのまんま
549:デフォルトの名無しさん
08/06/18 12:54:28
548はアホ
スレ違いだから終了
550:デフォルトの名無しさん
08/06/18 16:01:45
質問させていただきます。
Microsoft Visual C++ .NET
でアプリケーション (.exe)作成しました。
void main()を実行した所
実行画面が立ち上がりません。
出力の表示は
”XX.exe: ネイティブ' はコード 0 (0x0) で終了しました。”
となっています。
実行画面が表示されれば
Sleep(2000)が入っているの目視できるはずです。
ステップインで実行した所次のようになっていました。
・appmodul.cppの_tWinMainが実行
・crtexe.cのif ( !managedapp )でmanagedapp=0
・exit(mainret)が実行
ここで終了しているようです。
何とかmainの中身を実行させたいのですが何が原因なんでしょうか?
当方のスキル:社内プログラマ1年目
申し訳ありませんが何とかお力を御貸し頂きたいと思います。
551:MFC始めて3週間目
08/06/18 16:12:49
CEditView でフォントを設定するのはどうするの。
ちなみに以下ではできない。
int CDeepPurpleView::OnCreate(LPCREATESTRUCT lpcs)
{
if(CEditView::OnCreate(lpcs) == -1)
return -1;
CDC* pDC = this->GetDC();
CFont screenFont;
screenFont.CreatePointFont(600,"MS ゴシック",pDC);
CFont* pOldFont = pDC->SelectObject(&screenFont);
return 0;
}
552:デフォルトの名無しさん
08/06/18 16:33:42
>>550
MFCのプロジェクトを選んでいないか?main関数から始まるプログラムを作りたいなら、
Win32コンソールアプリケーションのプロジェクトを選ばないといけない。
あるいはMFCを使いたくてそうしているのなら、
プログラムの実行開始はmain関数でないというのがMFCの流儀。
553:デフォルトの名無しさん
08/06/18 16:40:41
フォントの寿命がOnCreate終わるまでなんだろ
554:550
08/06/18 17:10:31
>>552
ありがとう御座います。
MFCを使用しないため
Win32コンソールアプリケーションで
プロジェクトを組みなおした所
問題が解決しました。
ありがとう御座います。
555:デフォルトの名無しさん
08/06/18 17:15:45
URLリンク(mag.autumn.org) の
SetWindowsHookExのサンプルをvc++2008でコンパイルしてみたんだけど、
フックされる気配がない・・・どこか間違ってるの?
556:デフォルトの名無しさん
08/06/18 17:25:08
>>554
そういえばvoid main()は普通やらない。int main()にしろ。
557:デフォルトの名無しさん
08/06/18 20:44:35
>555
そのあとに、NyaRuRuセンセが「CLR上でフック動かすとか無謀すぎ」
って書いてるのに、何でコンパイルしたの?
558:デフォルトの名無しさん
08/06/19 01:30:55
>>543
MouseEventArgs^ a = (MouseEventArgs^)e;
a->Button == MouseButtons::Right
こうですか!わかりません><
559:デフォルトの名無しさん
08/06/19 04:09:40
MFCで使われるCrectをCLRでも使いたいんですけど代わりのものってありますか?
560:デフォルトの名無しさん
08/06/19 04:41:04
代わりって言うと微妙かもしれないけどRectangleとかかな?
561:デフォルトの名無しさん
08/06/19 10:37:53
>>551
まず、CFontが破棄されないように自動変数はやめてメンバーにでもして、
↓でどうよ。
int CDeepPerpleView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CEditView::OnCreate(lpCreateStruct) == -1)
return -1;
screenFont.CreatePointFont(600, _T("MS ゴシック"));
SetFont(&screenFont);
return 0;
}
562:デフォルトの名無しさん
08/06/19 17:46:53
TimerProc(UINT uTimerID, UINT uMsg, DWORD dwUser, DWORD dw1, DWORD dw2)
のdw1とdw2って、ドキュメントには予約って書いてあるけど、実際には使えないの?
563:デフォルトの名無しさん
08/06/19 18:51:27
そこに値設定する方法無いのに、どうやって使うつもりなんだ。
564:デフォルトの名無しさん
08/06/19 21:38:13
予約領域のある関数や構造体なんてイヤというほど有るぞ。
565:デフォルトの名無しさん
08/06/19 23:02:34
みなさんすみません。5日前からC++を始めた初心者です。
>383さんと関連するのかもしれませんが、下記のコードを実行すると、
期待した結果と異なる(結果は同じになると思うんですが)出力されます。
関数の引数を値渡しすると、初期化と同じとテキストに書かれているので、
こういう結果がなぜ起こるか分からないのです。
Visual Studio 2008 Express Edition
Windows Vista
void Print(char str[])
{
cout << "サイズは" << sizeof(str) << endl;
}
int main()
{
char str[] = "Test";
cout << "サイズは" << sizeof(str) << endl;
cout << "サイズは" << sizeof("Test") << endl;
Print("Test");
Print(str);
}
結果:
サイズは5
サイズは5
サイズは4
サイズは4
566:デフォルトの名無しさん
08/06/19 23:16:26
>>565
"Test"の文字列を長くしたらどうなるか見てごらん。
567:デフォルトの名無しさん
08/06/19 23:17:31
【初心者歓迎】C/C++室 Ver.55【環境依存OK】
スレリンク(tech板)
C++相談室 part62
スレリンク(tech板)
568:デフォルトの名無しさん
08/06/19 23:18:45
はきだめC/C++下級者の質問箱 2
スレリンク(tech板)
569:デフォルトの名無しさん
08/06/20 09:40:00
>>565
Print関数にはポインタを渡してるに過ぎない。
サイズが4なのはポインタのサイズ(32ビット)
570:デフォルトの名無しさん
08/06/20 11:36:05
>>569
>>566
565です。ありがとうございます。そういうことなんですね。
すっきりしました。
571:デフォルトの名無しさん
08/06/20 11:43:06
こんにちは!
現在VisualC++2005のMFCでプログラムを組んでいます。
Cのstr関数を使用しているのですが、下記のような警告が出ます。
warning C4996: 'strcat' が古い形式として宣言されました。
string.hを見ろって言われて見たのですが、
まだまだ未熟な為、よくわかりません。
一応動作は問題なくできるのですが、気になったので教えて頂けませんか?
自分としてはこの警告を、
問題はありませんが、古い形式で宣言されてるので新しい形式にした方が良いよ。
というニュアンスでとらえています。
それでOKでしょうか?また、OKな場合新しい形式とはどういう形式でしょうか?
よろしくお願いします。
572:デフォルトの名無しさん
08/06/20 12:53:54
これを抑えるのは、_CRT_SECURE_NO_DEPRECATE をdefineする。
新しい形式は、strcpy_s を調べてね
573:デフォルトの名無しさん
08/06/20 12:54:41
strcat だったか、こっちに対応するのはもちろん strcat_s ね
574:デフォルトの名無しさん
08/06/20 14:45:50
>>572
ありがとうございます。
確かに _s をつけたら警告がなくなりました。
ANSIではstrcatとかですが、
VisualC++では _s を付加した新しい形式になってるってことでいいんですか?
ちなみに
>これを抑えるのは、_CRT_SECURE_NO_DEPRECATE をdefineする。
やってみたんですが、警告は消えませんでした・・・orz
575:デフォルトの名無しさん
08/06/20 14:53:05
ISOのCライブラリ標準にはなってるから、そのうちANSIにも入るかもしれないが、わからんな。
CRT のセキュリティ強化
URLリンク(msdn.microsoft.com)(VS.80).aspx
576:デフォルトの名無しさん
08/06/20 16:33:10
標準入力をファイルへリダイレクトした時のデバッグ
(コマンドから[c:\hoge.exe < c:\hoge.txt]と入力した時のhoge.exeのデバッグ)
をするにはどうしたらいいですか?
プロジェクトのプロパティ→デバッグ→コマンドライン引数 に" < c:\hoge.txt"を足せばいいかと思ってやってみたのですが、上手くいきません。
577:デフォルトの名無しさん
08/06/20 16:38:56
>>576
それでうまくいくはずだけど、どうなるの?
578:デフォルトの名無しさん
08/06/20 17:16:56
>>577
hoge.exeの中身です↓
int _tmain(int argc, _TCHAR* argv[])
{
std::string line;
while (std::cin)
{
std::getline(std::cin, line);
std::cout << line << std::endl;
}
return 0;
}
hoge.txtの内容が出力されるはずですが、何も出力されないのです。
(コマンドプロンプトから[hoge.exe(のフルパス) < c:\hoge.txt]とした場合は内容が出力されます。)
引数は
argv[0] --- hoge.exe (のフルパス)
argv[1] --- <
argv[2] --- hoge.txt
になっているのですが・・。
579:デフォルトの名無しさん
08/06/20 17:34:17
それがコマンドライン引数で出来たのは
VisualStudio6以前だけ。
リダイレクトはシェルの機能なんで
コマンドライン引数には書けない。
580:574
08/06/20 17:42:07
>>575
ありがとうございます。
参照させていただきました。
ネットだと、_CRT_SECURE_NO_WARNINGS を
ヘルプだと、_CRT_SECURE_NO_DEPRECATE を
定義すれば良いとありますが、どちらを定義しても警告が消えません。
ちなみに
_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES を 1 として定義する
もやってみましたが警告が消えません。
もしかして定義する場所が違っていますか?
str関数を使用しているファイル内で定義してるのですが。。。
581:デフォルトの名無しさん
08/06/20 17:50:22
>>580
多分、<string.h>をインクルードする前に
定義しないと駄目だと思うぞ。
582:デフォルトの名無しさん
08/06/20 17:51:46
>>578
VC++のバージョンは?
こっちでやってみたら、VS2005だとそのまま動作して2008だと無理だな
583:579
08/06/20 18:06:32
あれ、2008のヘルプにも出来るって書いてあるな。
>>579は取り消し。
584:デフォルトの名無しさん
08/06/20 18:07:43
ヘルプには両方できるって書いてあるんだけど、2008はできなかった。
2005だとそのままでできるから設定がいるか、ヘルプが間違ってるか、どっちかかもね
585:デフォルトの名無しさん
08/06/20 18:22:52
なんか、2008でも「デバッグ無しで開始」だとうまくいった。
バグっぽいな。
586:デフォルトの名無しさん
08/06/20 18:29:38
Sleepとダミーの行置いてデバッグ無しで開始してからプロセスにアタッチしたら
なんとか動いたw
587:デフォルトの名無しさん
08/06/20 19:51:09
VC2008で作成したDllをVC2005をインストールしているPC上から呼び出したところ
dlがありませんといわれました。
VC2005で作り直すとちゃんと呼び出せるdllができます。なにが原因でしょうか?
VC2008で作ったdll→VC2008のPCでは動くがVC2005では認識されない。
VC2005で作ったdll→VC2005のPCでもVC2008のPCでも動く
588:デフォルトの名無しさん
08/06/20 20:00:08
他に依存しないなら単体で動く
589:デフォルトの名無しさん
08/06/20 21:22:39
VC入れてないと使えないんじゃ普通の人には使えない
590:デフォルトの名無しさん
08/06/20 22:12:11
featurepackどうですか?
591:578
08/06/20 22:34:52
>>582
バージョンはVS2008です。
皆様の言うとおりデバッグ無しでは動作しました。
バグ?ですかね。あきらめつつ設定でできないか頑張ってみます。
レス下さった皆様ありがとうございました。
592:デフォルトの名無しさん
08/06/21 07:32:27
>>587
dllがないなら、dll入れればいいじゃん
593:デフォルトの名無しさん
08/06/21 13:47:42
DLL自体じゃなくてプロジェクトのことだというオチじゃないだろうな?
2005のプロジェクトは2008でも読めるが、逆はできんぞ。
まあソリューションとプロジェクトのヘッダ書き換えればほぼイケるけど。
594:デフォルトの名無しさん
08/06/21 22:51:53
本当にくだらない質問だとは思うんですけど
Visual C++っていうのはソフトなんだよね?
それはれっきとした売り物でフリーじゃないよね?
そしてプリグラムを勉強したかったら何かしらのプログラミングソフトを購入することが必要?
595:デフォルトの名無しさん
08/06/21 22:54:22
>>594
フリーの開発環境もあるからググレ
596:デフォルトの名無しさん
08/06/21 23:00:08
>>594
マイクロソフトのホムペを隅から隅まで確認しろ
597:デフォルトの名無しさん
08/06/21 23:00:56
>>594
Visual C++ 2005/2008 Express Edition はフリー
598:デフォルトの名無しさん
08/06/21 23:08:12
ありがとうそれを落としていろいろ勉強してみるわ
599:デフォルトの名無しさん
08/06/22 01:36:36
>>597のを落として実際にプログラムをサイトからみたの拝借して打ち込んでるんだけど再現できない
#include <iostream.h>
void main()
{
int i;
i = 5 + 15;
cout << "計算すると";
cout << i;
cout << "になります。" << endl;
}
これなんだけどなぜだろうか?
600:デフォルトの名無しさん
08/06/22 01:56:16
>>599
iostream.hはC++標準の一部ではありません。
現代的なCompilerの多くではサポートされません。
VC7以降も同様です。
601:デフォルトの名無しさん
08/06/22 01:58:20
#include <iostream>
using namespace std;
602:デフォルトの名無しさん
08/06/22 04:56:11
都合上 using namespace std; してるところが多いけど
本当は using namespace は使わない方がいい。
今は気にしなくていいけどな。
603:599
08/06/22 07:52:34
ということは<iostream.h>を<iostream>にかえれば大丈夫になるわけかな?
604:デフォルトの名無しさん
08/06/22 09:28:13
ここはC++を教えるスレじゃないよ
605:デフォルトの名無しさん
08/06/22 11:14:40
std::endl; を書くのがめんどくさいです(><
606:デフォルトの名無しさん
08/06/22 11:21:21
>>605
>>601
607:デフォルトの名無しさん
08/06/22 11:25:51
【初心者歓迎】C/C++室 Ver.55【環境依存OK】
スレリンク(tech板)
C++相談室 part62
スレリンク(tech板)
はきだめC/C++下級者の質問箱 2
スレリンク(tech板)
608:デフォルトの名無しさん
08/06/22 11:31:19
前から気になってたんだけどC++の話駄目だとこのすれってどんな話題が主なの?
Win32やMFCもNGだよね?
そうすると環境の設定とか?w
609:デフォルトの名無しさん
08/06/22 11:37:13
>>608
よくわかってるではないか。
610:デフォルトの名無しさん
08/06/22 12:00:13
VCの入門書よりC/C++の本を読んだ方がいいやつは、そういうスレヘ行った方がいいだろ
611:デフォルトの名無しさん
08/06/22 12:01:50
そうだな
612:デフォルトの名無しさん
08/06/22 12:28:02
>>606
でも>>602って(><
613:デフォルトの名無しさん
08/06/22 14:02:24
std::e と打った時点でインテリセンス効いてない?
614:デフォルトの名無しさん
08/06/22 14:26:01
>>612
今は気にするな
615:デフォルトの名無しさん
08/06/22 14:53:47
大量に発生するC4146の山
VCは素晴らしいコンパイラ
616:デフォルトの名無しさん
08/06/22 15:36:17
>>612
今は気にしなくていいけどな。
617:デフォルトの名無しさん
08/06/22 19:51:06
今VC++2008勉強してるんだけど、これって標準のC++と全然違う?
string型使おうと思ったらPTSTRに変換できないって何だよそのエラーorz
最終的にはstringのdataメソッド使えば問題無かったけど・・・
Win32APIとか難しすぎるぜ!
618:デフォルトの名無しさん
08/06/22 20:12:20
c_str 使え。
619:デフォルトの名無しさん
08/06/22 20:17:01
PTSTR は Unicode 環境を対象とする設定でコンパイルする場合は
wchar_t* で typedef されるので wstring を使う必要があると思うんだが、
VC++2008 ってデフォルトで Unicode 環境を対象にしてなかったっけ?
今手元に環境が無いから何とも言えないが。
620:デフォルトの名無しさん
08/06/22 20:38:36
>>618->>619
セックス!
今までPerlとかPHPとかスクリプト系のプログラミングしかまともにしたことが無かったから
処理系(コンパイラ?)によって方言があるっていうのがなんとも理解しづらいorz=3
とりあえずなんか小さなアプリをチョコチョコ作ってそこから方言の意味を勉強していくよ。
621:デフォルトの名無しさん
08/06/22 20:41:21
これは方言ってわけではないね。
言語仕様が変わってる訳じゃないから。
622:デフォルトの名無しさん
08/06/23 05:28:16
VC++には何故 C99 標準の vsscanf が無いんですか?
623:デフォルトの名無しさん
08/06/23 17:55:58
visual studio 2008のWindowsフォームアプリケーションでアプリを作成中です
groupboxの中に複数のcheckboxを配置し、
同じgroupboxの中にあるボタンを押すと、全部のチェックボックスがチェックされる、という仕組みを作ろうとしています。
とりあえず、ボタンが押された時にグループボックス内のコントロール分のループを回すところまでは上手くいったのですが、
1.そのコントロールがチェックボックスと判定するにはどうすれば良いのか
2.そのコントロールがチェックボックスだった場合、それにチェックを入れるにはどうすれば良いのか
が判りません。
if(groupbox1->Controls[i]がチェックボックス){
groupbox1->Controls[i]->Checked;
}
…みたいな感じのことがやりたいのですが、どうすれば良いのでしょうか。
624:デフォルトの名無しさん
08/06/23 18:04:48
キャストが成功するかどうかで判定すれば?
625:デフォルトの名無しさん
08/06/23 18:23:31
>>623、 ~->checked=true; でした。
>>624
ControlからCheckBoxへのキャストのやり方がわからないので困っているのです。
626:デフォルトの名無しさん
08/06/23 18:52:11
>>625
URLリンク(msdn.microsoft.com)
627:デフォルトの名無しさん
08/06/23 19:21:32
>>626
出来ました!ありがとうございます。
628:デフォルトの名無しさん
08/06/23 20:00:03
C++で作った『ハイ アンド ロー』のゲームで
ハイスコアを記録させたいのですが、
どうやったら記録できるのでしょうか??
本当に初心者なんでよろしくお願いします。
629:デフォルトの名無しさん
08/06/23 20:55:11
>>628
class CScore
{
~~~~
public:
void SetScore(int score)
int GetScore(void)
private:
int m_HiScore = -1;
};
// スコア登録関数
void CScore::SetScore(int score)
{
if (m_HiScore < score) m_HiScore = score;
}
int CScore::GetScore()
{
return m_HiScore;
}
630:デフォルトの名無しさん
08/06/23 20:59:18
VC++ 2008 Express で、どのあたりまで作れるの?
ウィンドウズアプリケーション作れる?
製品版とどのくらいの差があるのかな。
631:デフォルトの名無しさん
08/06/23 21:04:43
>>630
このページが参考になるかと
URLリンク(www.microsoft.com)
632:デフォルトの名無しさん
08/06/23 21:08:22
>>631
ありが㌧
633:デフォルトの名無しさん
08/06/23 21:40:57
>>629
何が書いてあるのかさっぱりなんですが・・・
634:デフォルトの名無しさん
08/06/24 02:44:07
ワロタ
635:デフォルトの名無しさん
08/06/24 09:16:00
>ハイスコアを記録させたいのですが、
>>628 記録方法で、3点
・ハイスコアの出し方
・画面表示のしかた
・ファイルへの書き方
ファイルへの書き方のような気がする。間違ってたら言って。
636:デフォルトの名無しさん
08/06/24 12:48:20
【初心者歓迎】C/C++室 Ver.55【環境依存OK】
スレリンク(tech板)
C++相談室 part62
スレリンク(tech板)
はきだめC/C++下級者の質問箱 2
スレリンク(tech板)
637:デフォルトの名無しさん
08/06/24 14:05:47
>>636
このコピペ野郎いい加減うざいな
638:デフォルトの名無しさん
08/06/24 17:59:17
>>635
ハイスコアの保存(ファイル)に一票
639:デフォルトの名無しさん
08/06/24 21:22:10
>>635
何が書いてあるのかさっぱりなんですが・・・
640:デフォルトの名無しさん
08/06/24 21:30:39
>>639 の頭の中がかさっぱりなんですが・・・
641:デフォルトの名無しさん
08/06/24 23:32:04
質問です
VC++のMFCで計算したデータを、
作成しているExcelテンプレートの特定の文字列に上書きすることは可能ですか?
例
MFCのexe → テンプレート起動 → 「kekka」に計算結果を上書き → 別名で保存(テンプレートはそのまま)
こんな感じで
642:デフォルトの名無しさん
08/06/24 23:40:20
poiがいいよ
643:デフォルトの名無しさん
08/06/24 23:59:51
>>642
JAVA?のほうがやり易いんですかね・・
ググってきます
644:デフォルトの名無しさん
08/06/25 00:30:38
DirectXでゲーム作るのが目的でVC++始めた
よくありがちな厨房ですが
Win32APIなプログラムでオセロ作るのに1ヶ月もかかった馬鹿な漏れに
MFCとは一体何なのか勉強すべきなのかを教えてください
645:デフォルトの名無しさん
08/06/25 00:47:08
・ExcelをCOM経由で叩く。ライセンスとプロセスの残りには注意
・Excelを純な「表」として使ってるなら、ODBCドライバ。
SQLの言う「テーブル」に当たらなければ涙目
・(Excel2007形式)、ドトネト3.0+OpenXMLSDK
・Java+POI
・Lotus123形式が扱いやすいってJoelがいってた
646:641
08/06/25 01:04:25
>>645
Excelのバージョンでも違うみたいですね
ちょっとほかの方法を考えてみます。ありがとうございました
647:デフォルトの名無しさん
08/06/25 02:30:52
>>644
Studioに支援機能があったりして感じ大掛かりだけど、ぶっちゃけ、ただのWin32APIのラッパークラスだよ
だから、ちょっとしたツール作るには便利だけど、覚えたからと言って何か新しい事が出来る訳では無く、
知ってて困る事は無いけれど、知らないからと言って何か作れない訳じゃないって事で判断ヨロ。
648:デフォルトの名無しさん
08/06/25 03:58:27
Visual Studio.NET2003を使っているのですが、リソースを開いたとき
プロパティが灰色で全く何も表示されなくなってしまいました。
戻し方はありますでしょうか?
もしくは、VCの設定を完全に初期状態に戻したいのですが、
どの辺をいじったら良いでしょうか?
649:デフォルトの名無しさん
08/06/25 05:52:15
>>644
MFCはWin32をラップするクラスを集めたライブラリではありません。
Windows上で動作する一般的なアプリケーションソフトは、win32API
だけで完成するものではありません。
簡単に理解できる例をあげると、ワードプロセッサーで範囲を選択し、
これをドラッグアンドドロップする。
ただこれだけの動作が、COMを必要とします。
そこで現在のMFCは、ビジネスソフトウエアにとって必要とされる機能を
含むフレームワークとして構築されています。
フレームワークが想定しているアプリケーションを開発する場合には、
とてもうまく機能すると思われますが、そうでない場合には不満も
あるでしょう。
フレームワークが対象としている開発対象の場合でも、標準の見た目や
コードの古臭さに不満を持つ場合も多いようです。
今後、それらの不満の一部が解消される可能性もあります。
Visual C++ 2008 Feature Pack について調べてみてください。
650:デフォルトの名無しさん
08/06/25 08:01:23
Win32APIだけでもCOMは使えるんじゃなかったっけ?面倒なだけで。
MFCってのは、やろうとおもえば出来るが面倒だ、ってのを
わかりやすく、扱いやすいようにしたものだと思ってただ
651:デフォルトの名無しさん
08/06/25 08:11:34
やればできるといっても現実的にはどうか
アセンブリ言語でWindowsアプリを作るみたいにつらい
652:デフォルトの名無しさん
08/06/25 08:38:53
コメントで、
/*
*
*/
の部分が折りたためるのですが、「宣言」となります。
「宣言」の部分にコメントの概要を表示したいのですが、可能でしょうか?
可能なら記述の仕方を教えて下ください。環境は2008EEです。
653:デフォルトの名無しさん
08/06/25 09:40:38
一度Win32アプリケーション プロジェクトでダイアログベースのアプリを作った後
MFCで同じものを作ると有難味がわかる。
654:デフォルトの名無しさん
08/06/25 10:07:11
MFCはゲーム作るには要らないな
>>644にとって、ただの回り道でしかない
655:デフォルトの名無しさん
08/06/25 10:25:37
ゲームつくるのにMFCほどクソなものはない
656:デフォルトの名無しさん
08/06/25 10:30:03
ゲーム作るならC#がいいな