★初心者にVisual C++を教えるスレ★ Part5
■ このスレッドは過去ログ倉庫に格納されています
0001987
NGNGVisual C++ 初心者用スレッドです。
前スレ・関連スレは、>>2 ぐらい。
0708デフォルトの名無しさん
NGNGHWND hwnd;
hwnd=FindWindowEx(FindWindow("Notepad", NULL),NULL,"Edit",NULL);
SendMessage(hwnd,WM_SETTEXT,0, (LPARAM) "( ´∀`)");
という方法もあります
0709デフォルトの名無しさん
NGNG分からんのだったらkeybd_eventでも使えば?
0710デフォルトの名無しさん
NGNG一回作りました。
そのあとラジオボタンの数を増やそうと思って
そのラジオボタンをコピーして
それから貼り付けてボタン1、ボタン2と
いうコントロールIDに変更しました。
そしたら実行するとラジオボタンが2つともチェックされてしまい
ラジオボタンのチェックが一つに限定されることが
できなくなりました。どこがおかしいのでしょうか
0711デフォルトの名無しさん
NGNG日本語
0712デフォルトの名無しさん
NGNGクソレスしてないで答えろや。
0713デフォルトの名無しさん
NGNGIDの値を連続させる&グループ
0714デフォルトの名無しさん
NGNG右側に別のワークスペースを表示して参考にしながら
現在のワークスペースをコーディングとか。
0715デフォルトの名無しさん
NGNG色のラインを引きたいのですが
それはプログラムで書くしかできないのでしょうか。
それともスタティックテキストみたいに
簡単にラインを引くことはできるのでしょうか
0716デフォルトの名無しさん
NGNGプログラムで書いて下さい。
0717デフォルトの名無しさん
NGNGIDEの複数起動
0718
NGNG0720デフォルトの名無しさん
NGNGこんな奴に教えたく無いね。
0722デフォルトの名無しさん
NGNGその後メイン文でそれを使うにはどうすればよいですか?
typedef struct{
int a;
int b;
}KOUZOUTAI;
main()
{
KOUZOUTAI *K;
int i;
K = malloc(i * sizeof(KOUZOUTAI));
printf("%d", k[0].a );
↑ここに何を入れればKOUZOUTAIの中身をプリントできますか?
どうも自分&とか*の使い方がいまいちです。教えてください。
0723bloom
NGNG0724デフォルトの名無しさん
NGNGiの値が不定なので正常にメモリーを確保できません
さらにポインタがキャストされていないので、
エラーが出てコンパイルも出来ないことでしょう
中身を出力したければ確保したぶんだけループでまわして
メンバ一つ一つを指定してください
0725デフォルトの名無しさん
NGNG0726722
NGNGすばやいレスthx。ちょっと書き方が不十分でしたのでもう一度。
typedef struct{
int a;
int b;
}KOUZOUTAI;
main()
{
KOUZOUTAI *K;
int i = 3;
K = malloc(i * sizeof(KOUZOUTAI));
kansuu(K); ←何かの関数をよんでると思ってください。
printf("%d", k[0].a );
それと、キャストって何ですか?お願いします。
0727デフォルトの名無しさん
NGNGint j;
略
K = (KOUZOUTAI*)malloc(i * sizeof(KOUZOUTAI));
略
for(j=0;j<i;j++)
printf("%d %d\n",k[j].a,k[j].b);
0728デフォルトの名無しさん
NGNG0729デフォルトの名無しさん
NGNG0730デフォルトの名無しさん
NGNG0731デフォルトの名無しさん
NGNGライセンスの種類によっては可能だったと思われ。
0732デフォルトの名無しさん
NGNGいかがいたしましょう?
0733デフォルトの名無しさん
NGNG該当件数を表示するものを作りたいのですが、
レコードセットの値を変換して取得する方法がわかりません。
お助けください。
_ConnectionPtr pCn;
_CommandPtr pCm;
_RecordsetPtr pRs;
::CoInitialize(NULL);
pCn.CreateInstance(__uuidof(Connection));
pCm.CreateInstance(__uuidof(Command));
pRs.CreateInstance(__uuidof(Recordset));
pCn->Open(L"Provider=Microsoft.Jet.OLEDB.4.0; Data Source =test.mdb",
L"",L"",adOpenUnspecified);
pCm->ActiveConnection = pCn;
pCm->CommandText = "SELECT COUNT(*) FROM 帳票 WHERE 担当 LIKE '%佐藤%'";pRs = pCm->Execute(NULL,NULL,adCmdText);
ここからどうすれば良いでしょうか?
0734733
NGNG何とかなりそうです。
_variant_t vIndex = (long)0;
_variant_t vCount = pRs->GetCollect(vIndex);
long l = vCount.lVal;
0735デフォルトの名無しさん
NGNG鳥嶋宇宙科学技術研究所(TSTL)どんな研究所?
■▼■各放送局STL周波数【スタジオ⇔アンテナ】
がイパーイ出てきました。鬱です
0736デフォルトの名無しさん
NGNGテンプレートにダイアログぶち込んだのにリソースのヘッダーファイルが
作られていませんでした。そのためかDialogBoxを使っても
キャラ配列で名前を指定したり、MAKEINTRESORCEでダイアログ
ボックスのIDを生でぶちこんだりしても、IDを認識していないのか
ダイアログボックスを作れません。だれか対応策教えてください。
0737デフォルトの名無しさん
NGNGぶ、ぶちこむって、あんまり連呼しないで〜(*´д`*)
0738デフォルトの名無しさん
NGNGバ グ 込 み の ソ ー ス を プ リ ン ト ア ウ ト し て も
次 の 日 に は も う 使 い 物 に な ら ん だ ろ ( 爆 笑
0739デフォルトの名無しさん
NGNGアメリカンジョークですか?
0740デフォルトの名無しさん
NGNG0741名無し@沢村
NGNGSetLayeredWindowAttributes()
0742デフォルトの名無しさん
NGNGos XP
VCでプログラムを実行したあと、右上の×ボタンでウインドを消去
その後再びコンパイルしようとすると、LINK ERR 対象のファイルが使用中.....
これは終了処理が正しく行われていないからだと思われるのですが、
なにをしていない場合おこるのでしょうか?
windowsクラスは破棄しているのですが、それ以外にも defwndprocに何か渡さないといけないのでしょうか?
0743デフォルトの名無しさん
NGNG自己解決しました。
windowsクラスが破棄できていませんでした。
0744デフォルトの名無しさん
NGNGちなみに超絶初心者です
0745デフォルトの名無しさん
NGNG0746デフォルトの名無しさん
NGNG完全自殺マニュアル
0747デフォルトの名無しさん
NGNGSetBkColor使うと真っ白(真っ黒だっけ?)の
モノクロビットマップにBitBltしたときに
設定した色の部分だけ色が変わるのです。(確か黒)
そのモノクロビットマップをマスクに使って
転送するのです。
0748デフォルトの名無しさん
NGNGfor文で10回ループさせようと思ってるんですが、メンバ名にカウント変数[i]を反映させるにはどうしたら(・∀・)イイ?
int dat[10];
for(i=0;i<10;i++)
{
dat[i] = m_ed[i] ←こんなことがしたい…
}
厨でスマソ…
0749デフォルトの名無しさん
NGNGGetDlgItem(ID + i, ・・・・・・)とか
0750デフォルトの名無しさん
NGNG0751デフォルトの名無しさん
NGNGいや、それをループでやりたいってことだろ
0752デフォルトの名無しさん
NGNGレスthx!!
750さんの方が簡単にできそうなので、さっそく逝ってきまつ♪
0753デフォルトの名無しさん
NGNGいや、正直、収集できたらなんでもいいんで、さっそくやってみまつ…
ポインタ、見過ごしてました…(汗)
0754デフォルトの名無しさん
NGNGCEdit arrayEdit[10];
arrayEdit[0] = &m_ed1;
arrayEdit[1] = &m_ed2;
:
:
int dat[10];
for(i=0;i<10;i++)
{
dat[i] = arrayEdit[i]->GetLineCount();
}
みたいなことでいいのか?てっきり最初の
arrayEdit[0] = &m_ed1;の部分をループでやりたいのだと思って・・・
0755デフォルトの名無しさん
NGNG0756デフォルトの名無しさん
NGNGDDXつかっての話だったら、
DDX_Text(pDX, IDC_EDIT_NUM0, m_iNum0);
DDX_Text(pDX, IDC_EDIT_NUM1, m_iNum1);
みたいに自動生成されるところで
DDX_Text(pDX, IDC_EDIT_NUM0, m_iNum[0]);
DDX_Text(pDX, IDC_EDIT_NUM1, m_iNum[1]);
と手動で書く。 と漏れはやってる。
力尽く主義なら 更新関数とかで
const int* pT[]= { &m_ed1, &m_ed2, ... };
for(int i=0;i<MAXNUM;i++) dat[i] = *pT[i];
てな方針を提案。
0757デフォルトの名無しさん
NGNGint *dat[10]={&m_ed1,&m_ed2…}
の一行だけで、すべてはかたずきました…
ループは、その後のプログラムで使うんで、データ収集も、そのまんまそのループ内に入れようとしてただけなんですわ…
なにぶん、独学で本読みながら学んでるんで、まだまだわからないことだらけです…
(ノД`)シクシク
0758デフォルトの名無しさん
NGNGΣ(゜Д゜;≡;゜д゜)
も、漏れがやったのは、力づくなのか?そうなのか?(汗)
0759756
NGNG変数名いまさら変えたくないYO! という場合はこちら みたいな
ニュアンスでな… 正直スマソ
0760デフォルトの名無しさん
NGNGfor(int i=0; i<10; ++i)
dat[i] = this->GetDlgItemInt(ID_FIRST_EDIT + i);
0761デフォルトの名無しさん
NGNG0762デフォルトの名無しさん
NGNG書きながら、IDが連番であることを仮定したコードを書くのは
論理的に美しくないような気がして(´・ω・`)ショボーン となってしまいます。
0763デフォルトの名無しさん
NGNGVisual Studio.NET Standard Version2002を使ってManaged C++アプリケーションのコードを練習していて、いざコードを書き終わってビルドしたところ
「fatal error C1102:次の初期化が出来ません:クラスが登録されていません」というエラーがタスクに表示されました。そこをダブルクリックしたらstdafx.cppというところに飛ばされたのですが、
当方初心者のため、そこで何をしたらいいのかわからなくて問題を解決できないでいます。この問題を解決するにはどうしたらよいのでしょうか?
私の使っているOSはWindowsXPで教本には「ステップバイステップで学ぶVisualC++.NET実践講座Vol.1基礎編」を使っています。ステップ2の「animals」というプログラムを作っているときにこの問題が発生しました。
どうかご存知の方いたらよろしくお願いします。
0764デフォルトの名無しさん
NGNGソースを書いたら?
0765デフォルトの名無しさん
NGNGVC++Ver6しか持ってないので細かいとこが違うかもしれんが。
プロジェクト→プロジェクトへ追加→コンポーネント及びコントロール(P)
あたりで追加コントロールが必要なのかもね。
0766デフォルトの名無しさん
NGNG「ステップバイステップで学ぶVisualC++.NET実践講座Vol.1基礎編」が
いかなるものか、わからないけど、プリコンパイルヘッダを使用しないとかにしてみる。
0767763
NGNGすみません、書くべきソースがわかりません・・・
>>765
とりあえず一般C++のクラスを追加をいじってみたら「新しい構文要素を読み出すのに失敗しました構文エラーが考えられます」というエラーメッセージが出てきました。
>>766
プリコンパイルヘッダはどのようにして使用しないようにするのでしょうか?
結局勉強不足で、質問ばかりになってすみません・・・もっと勉強してきます。
0768デフォルトの名無しさん
NGNGクリンナップ時に、resource.hをExcelでソートしたりする香具師もいると思うが、ID_DLG1_EDIT1みたいな名前を付けとけば連番が崩れなくて安全だ。
漏れはDDX近辺にASSERT(ID_EDIT_1+1 == ID_EDIT_2);みたいなアホなチェックも入れて、厨房が壊したら本人が気付くようにしているぞ。
(自慢なのか?)
0769デフォルトの名無しさん
NGNG0770デフォルトの名無しさん
NGNG0771デフォルトの名無しさん
NGNGプリコンパイルヘッダは、コンパイルの高速化のために
コンパイルの途中結果をファイル化しておくもの。
ソースの一部変更などであればそのまま使えるが
ヘッダやソースの大幅変更した場合は破棄されて
再び作成される。
リビルドすれば、まっさらな状態からコンパイルできる。
もしかしたら、プロジェクトの作成方法がおかしいかもしれないので、
プロジェクトだけ別名で作成して、既に打ち込んだソースは別のところに
バックアップして、新しいプロジェクトのソースに貼り付けて見るといいかも。
0772デフォルトの名無しさん
NGNGフォントについて。
↓は合法なのでしょうか。
HFONT hOldFont = (HFONT) SelectObject(hDC, GetParent() -> GetFont() -> m_hObject);
↓は結構目にするんですが。
LOGFONT lf;
GetParent() -> GetFont() -> GetLogFont(&lf);
HFONT hFont = CreateFontIndirect(&lf);
HFONT hOldFont = (HFONT) SelectObject(hDC, hFont);
0773デフォルトの名無しさん
NGNGオーバーロードの利便性とはどのようなことなんでしょうか?
また、オーバーロードすることにより起こりえる問題点などありましたら教えていただきたいです。
0774デフォルトの名無しさん
NGNG勉強すれば自ずと分かるはずだから。
0775
NGNG0776デフォルトの名無しさん
NGNGSDKを用いたプログラムを勉強することにしました。
2つばかり質問させてください。
やはりゲームなどで用いる画像処理の効率は
SDKの方がいくらか高速になるのでしょうか?
あとSDKでのプログラミングでは
ClassWizardが使えないのですが
様々なサイトを調べても
あまりクラスを使って説明している人はいません。
SDKでクラスを用いるのは一般的でないのでしょうか?
0777デフォルトの名無しさん
NGNGどう比較するの?
ゲーム用の画像処理用のクラスがMFCにあるという前提?
だったら
>今までMFCを用いてプログラムを行っていましたが
いままで何もやっていないのと一緒
0778デフォルトの名無しさん
NGNG0779763
NGNGその方法を試みましたが結果は変わりませんでした。
「ステップバイステップで学ぶvisual C++.NET実践講座」には各ステップごとのプログラムの見本のプログラムが入ったCD−ROMがあるのですが、
その見本のプログラムをビルドしようとしても同じエラーが起こりました。Visual C++.NET Standard自体を再セットアップしたほうがいいでしょうか?
0780デフォルトの名無しさん
NGNGCD−ROMのサンプルをプロジェクトディレクトリごとLZHかZIPにでも
アーカイブしてどっかにうpしたらいかが?
それと、エラーメッセージをコピー&ペーストで書き込んだほうが良い。
エラーメッセージの種類(コード)がそれでわかる。
それと、ほんの最初のほうにでもプロジェクトの作成方法みたいなのが
書いてないの?
0781デフォルトの名無しさん
NGNGatof
0782デフォルトの名無しさん
NGNGプロジェクトの作成は一回しましたよ。Hello Worldですけど・・・それは正常に動作しました。
ビルドエラータスクに出てくるエラーメッセージは次のとおりです。
animals fatal error C1102: 次の初期化ができません : 'クラスが登録されていません
↑これをエラータスクでダブルクリックするとstdafx.cppの一行目に飛ばされます。
下記アプロダにてサンプルをうpしました。よろしくお願いします。
ttp://cgi.members.interq.or.jp/hokkaido/asato/upload/upload.cgi
0783763
NGNG0784デフォルトの名無しさん
NGNGもしリミットを超えたら新しく買いなおさないといけないのでしょうか?
2〜3ヶ月に1度は再インストールするので、ものすごく不安なんです。
0785デフォルトの名無しさん
NGNG割れ厨いってよし
0786デフォルトの名無しさん
NGNG0787デフォルトの名無しさん
NGNGマウスカーソルの座標をセットする命令って何でしたっけ・・・?
0788デフォルトの名無しさん
NGNG0xFFFF0E87
0789デフォルトの名無しさん
NGNG参考書の問題で「新規作成」→「リソーススクリプト」を作成して〜
とあるのですが、その本は古めなので.NETが載ってません。
.NETではどうやればよろしいのでしょうか?
リソーステンプレートというのを選んでもフォルダらしいものができるだけですし、
他も.rcらしいものは作成できなそうです。
ヘルプを見てもそれらしいものは見つけられません。
どなたかご教授お願いいたします。
0790787
NGNGSetCursorPos()で、座標数値を与えても、カーソルがモニター上の左上で固まってしまうのです。
なぜだろう・・・
0791デフォルトの名無しさん
NGNG0792787
NGNGためにし、SetCursorPos(400,300)とかして、
OnMouseMoveから呼び出して、
マウスクリックしている間、マウスを動かしてもカーソルが動かないようにしたいのですが、
プログラム自体が停止してしまうような挙動をします・・・。
0793787
NGNGそのままマウスクリック中、OnMouseMove内で、
SetCursorPosに座標Aを与えると、無限ループになるのかな・・・?
0794787
NGNG0795デフォルトの名無しさん
NGNG試してないからわからんが、
LButtonDownでGetCapture()して、キャプチャー中はWM_MOUSE_MOVEメッセージを
破棄というのはどうだろう?
0796デフォルトの名無しさん
NGNG0798デフォルトの名無しさん
NGNG.netは持ってないから勘で答えてみるけど、
__gc
ってやつを使う場合、コンパイルオプションに/clr を指定しないと
いけないみたいだけど、やってる?
参考
ttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vccore/html/vcrefEECOMCompilation.asp
0799デフォルトの名無しさん
NGNG.NET2003からだけど問題なくコンパイルできた
0800763.782
NGNG1.プロジェクトの [プロパティ ページ] ダイアログ ボックスを開く。
2.[構成プロパティ] フォルダをクリック。
3.[全般] プロパティ ページをクリック。
4.[マネージ拡張] プロパティを変更。
というMSDNに書いていた手順で変更すればよいのでしょうか?
だとしたら私のVisualC++.NETでは4番の[マネージ拡張]プロパティというのが出てこないのですが・・・
>>799
コンパイルできましたか・・・ご報告ありがとうございました。
0801デフォルトの名無しさん
NGNG0802デフォルトの名無しさん
NGNGまあ、勘なのでそんなもん。
ttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vcmex/html/vcgrfmanagedcprojecttypes.asp
の「Managed C++ アプリケーション」というやつでプロジェクトを作っとかないと4.が出ないとか?
でも2003で問題ないということは、関係ないかも。
0803763.782
NGNG問題が発生しているのは、まさにその「Managed C++アプリケーション」っていうやつで作っているプロジェクトなんですけど4.は出てこないです。
0804デフォルトの名無しさん
NGNGゲームってのはVBでもそうだけど基本的にイベントドリブンじゃなくて、
メインループを作ってその中をぐるぐる回すパターンが多い。
メインループとかいじるとMFCの意味無いじゃん。
だから必然的にSDKでやっちゃう。てかゲーム作成サイトなんてみんなそうでしょ。
まあ、最初MFCで作ってみるといいよ。みんなMFCで最初作ってあれこれ悩んで
SDKに移ったクチが多いと思うから。
こことかゲームの基本的な作り方の参考になると思うよ。
http://www.edit.ne.jp/~skyfox/axis/
上記HPの[AXIS ROOM] の [AXISゲーム製作入門(シューティング編)] てとこ。
今、ライブラリはDLできないけど、読めばなんとなくわかると思うです。
0805デフォルトの名無しさん
NGNGとりあえずC1102をMSDNで調べてみたら?
クラスというのがanimalクラスを指すのか、別のものを指すのか分からん。
0807デフォルトの名無しさん
NGNG板違い
■ このスレッドは過去ログ倉庫に格納されています