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


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

★初心者にVisual C++を教えるスレ★ Part33



1 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 17:44:23 ]
Visual C++入門者・初心者からの質問を、
お兄ちゃんお姉ちゃん達が優しく、時には厳しく回答してくれるスレッドです。

■質問するにあたって
・エラーや警告のときはエラーメッセージを書きましょう。
・開発環境も書きましょう、特にWindowsForm、MFC、Win32アプリケーションの区別。
・できるだけ具体的に。

質問の仕方については次のページが大変参考になります。
www.hyuki.com/writing/techask.html

■回答するにあたって
・回答する場合はその答えに至るための「コツ」も書いてあげると良いでしょう。
 (MSDNのどの項目だとか、何のキーワードでGoogleするとか)
・ネタや煽りは軽く流しましょう。

過去スレ、関連スレなどは>>2-5辺り。

75 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 18:20:59 ]
C++勉強してみようと思うんですけど取り合えずは猫でも分かる〜を全部終わらせてみるってのが良いでしょうか?

76 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 18:24:25 ]
2Dシューティングゲームを作っているのですが、クラスの扱いに困っています。
敵の弾クラス(cBullet)を用意したのですが、それをうまく活かせません。
敵がそれぞれcBullet Bullet[100]といったように個別に弾を持ったのでは効率が悪い気がします。
一括して管理したいのですが、どういう構造にするとよいのでしょうか。

77 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 18:32:16 ]
>>75
自分がわかりやすいと思ったとこを参考にすればいい。
そこのやりかたが絶対唯一じゃないことさえ認識していればなんとかなるでしょ。

78 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 18:36:00 ]
>>76
自分の思った通りにやってみればいい。
画面上に存在できる弾の数だけグローバルで配列持ってもいいし。

79 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 18:45:14 ]
>>78
なるほど、まずはそれでやってみます。
ありがとうございました

80 名前:75 mailto:sage [2009/03/08(日) 20:32:46 ]
猫でも分かるー見てやってみたら最初っからつまづいた
VC++2008EEで説明してるサイト教えてもらえませんか・・・

81 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 21:03:39 ]
VCは初心者向けの情報は少ないし、あっても古い。
もしかしたらあるかもしれないが初心者用のサイトなんか興味ないから知らん

82 名前:デフォルトの名無しさん mailto:sage [2009/03/09(月) 00:30:43 ]
>>75
自分が作りたいと思ったものを作ってみるのが一番の勉強法

83 名前:デフォルトの名無しさん [2009/03/09(月) 00:38:45 ]
いや、それよりvc2008eeは入門サイトほとんど駄目だからつらいな
.netフレームワーク使うとこうなんのか?
スタンダード金出せば猫さん家も役に立つが
ソフトに金払う余裕ないだろうなぁ



84 名前:デフォルトの名無しさん mailto:sage [2009/03/09(月) 06:38:38 ]
スタンダード金出さないと使えないのはMFCとリソースエディタ
win32なら無料で使えるから猫が全然使えないわけじゃない
ただあそこは古すぎるからコンパイルエラーぐらい自力で解決できないと無理

85 名前:デフォルトの名無しさん mailto:sage [2009/03/09(月) 10:04:00 ]
ダイアログエディタが使えないのはちときついかな。
入門探すより、自分であれこれいじってみては。

86 名前:デフォルトの名無しさん mailto:sage [2009/03/09(月) 11:25:22 ]
>>84
なあ古すぎる癖にシェアウェアとか猫はふざけてるよな

87 名前:デフォルトの名無しさん mailto:sage [2009/03/09(月) 13:16:02 ]
VCEEで勉強するときは
#pragma warning(disable : 4996)

Unicode
あたりの情報は必須だな

そして、WinAPIでまた引っかかるとw

88 名前:デフォルトの名無しさん mailto:sage [2009/03/09(月) 14:09:59 ]
VCEEって、セキュリティが強化された関数は使えないのか?

89 名前:デフォルトの名無しさん mailto:sage [2009/03/09(月) 14:11:19 ]
使えるけどその関数を使った例題がほとんどないからでしょう

90 名前:デフォルトの名無しさん mailto:sage [2009/03/09(月) 18:33:00 ]
すみません、どなたか教えてください

親クラスA、子クラスBともに仮想関数func()が実装されているとします

この時Aクラスのポインタ(A* pA)にBクラスのインスタンスのポインタを代入し
pA->func()
を呼び出した場合クラスAとBどちらのfunc()が呼ばれるのでしょうか

会社で実験しようと思ったんですが残業規制のせいで調べられなかったんでご存知の方ご教示くださいm(__)m

91 名前:デフォルトの名無しさん mailto:sage [2009/03/09(月) 18:36:29 ]
C++の質問ならC++スレでした方がいい

92 名前:デフォルトの名無しさん mailto:sage [2009/03/09(月) 18:40:32 ]
クラスA

93 名前:90 mailto:sage [2009/03/09(月) 18:43:24 ]
自己解決しました
クラスBですね

>>91
すみませんでした



94 名前:デフォルトの名無しさん mailto:sage [2009/03/09(月) 20:58:33 ]
環境
VisualC++.NET(2003)

MFCを使ったアプリケーションを作っています。
フォームにエクセルのような格子で区切られた表のようなコントロールを貼り付けたいのですが
Webで調べてMicrosoft DataGrid Control 6.0とかMSFlexGridを使えばいい野ではないかというところまでは分かったのですが、

・MSFlexGridなんてものが.NET frameworkコンポーネントにもCOMコンポーネントにも存在しない。
・.NET frameworkコンポーネントにDataGridがあるが、そもそも初めからチェックが入っている。
 それなのにツールバーには表示されてない。
 一旦チェック外して再びチェックしなおすとツールバーにそれらしきものが追加されたが非アクティブになってて使えない。
・そもそも.NET frameworkコンポーネントの中はほぼ全部チェックが入っているのに
 ツールバーに一切無いのが理解出来ない。
・一度間違えてデフォルトの「ボタン」のコントロールをツールバーから削除してしまったので、
 COMコンポーネントから探したが同じものが無かった(プロパティが別物だった)
 アイテムの追加と削除ダイアログでリセットボタンを押して直す事が出来たが、
 デフォルトでツールバーにあるアイテムはCOMコンポーネントじゃないなら一体何者なのか?

行き詰っています。どなたか教えていただけないでしょうか?

95 名前:デフォルトの名無しさん mailto:sage [2009/03/09(月) 21:12:11 ]
>>94
noribeat.s38.xrea.com/developer/03031501.html

96 名前:デフォルトの名無しさん mailto:sage [2009/03/09(月) 22:45:10 ]
>>95
ありがとうございます。

ですがリンク先の指定どおりにActiveXの挿入を行っても、
Microsoft FlexGrid Control, version 6.0が選択肢の中にありません。


97 名前:デフォルトの名無しさん mailto:sage [2009/03/09(月) 22:56:19 ]
>>94
そこらへんのVBランタイムを入れるとついてくることが多い。
MSFLXGRD.OCX入りのVB6ランタイムを探すんだ。

あとはこれで。
support.microsoft.com/kb/318597/ja

98 名前:94 mailto:sage [2009/03/09(月) 23:10:50 ]
自分のPCを検索して見ましたがMSFLXGRD.OCXは存在しないようです。
あと実行環境でレジストリへの登録が必要になるような面倒な作業をユーザーに強いたくない
(自分ですらめんどくさいのにもっと素人なら嫌気がさしてやめてしまうかもしれない)
のですが、そうなるともう自力でピクチャーボックスに描画するような形で作るしか無くなってしまうのでしょうか?


99 名前:デフォルトの名無しさん mailto:sage [2009/03/09(月) 23:40:09 ]
ブラウザのActiveXコントロールと同じだからインストールは楽だよ

100 名前:デフォルトの名無しさん mailto:sage [2009/03/10(火) 01:45:05 ]
>実行環境でレジストリへの登録が必要になるような面倒な作業をユーザーに強いたくない
ソフトのインストール時にREGファイルを食わせてやればいいだけ。
それをユーザに強いたら・・・そりゃダメだよな。

ま、Windowsの文字コード表程度の表なら、自前で作っても手間はそんなにかからないがね。

101 名前:デフォルトの名無しさん mailto:sage [2009/03/10(火) 17:07:09 ]
VC++2005でMFCアプリに名前空間名に"interface"って使えない?
c2059というコンパイルエラーになる。
/clrオプションは使っていないし、
非MFCアプリやstdafx.hをincludeしないとコンパイル通るし
C++/CLIで予約語になってるeventとか他の単語は
使えるから単なるバグですかね?

102 名前:デフォルトの名無しさん mailto:sage [2009/03/10(火) 17:21:37 ]
最近変なやつ多いな
同一人物?

103 名前:デフォルトの名無しさん mailto:sage [2009/03/10(火) 17:29:53 ]
>>101
COM関係のヘッダのどれかで、#define interface structと定義されている。



104 名前:デフォルトの名無しさん mailto:sage [2009/03/10(火) 19:05:33 ]
#include <stdio.h>
int main(void)
{
printf("Hello!\n");
return 0;
}

#include <iostream>
int main()
{
std::cout <<"Hello!" << std::endl;
return 0;
}

見るサイトによって書き方が違うけど結果は似たようなのがでるんですけど
これはどういう違いがあるんですか?

105 名前:デフォルトの名無しさん mailto:sage [2009/03/10(火) 19:15:37 ]
C/C++

106 名前:デフォルトの名無しさん mailto:sage [2009/03/10(火) 19:26:37 ]
>>105
どっちがCでどっちがC++?

107 名前:デフォルトの名無しさん mailto:sage [2009/03/10(火) 19:31:56 ]
ggrks

108 名前:デフォルトの名無しさん mailto:sage [2009/03/10(火) 20:45:52 ]
スレを勃てるまでもないC/C++の質問はここで 8
pc11.2ch.net/test/read.cgi/tech/1235921779/

109 名前:デフォルトの名無しさん mailto:sage [2009/03/12(木) 14:22:28 ]
>>106
上がCで下がC++

110 名前:デフォルトの名無しさん mailto:sage [2009/03/12(木) 16:45:27 ]
Visual Studio 2005 Vistaです。
6つのピクチャボックスに表示させた6枚の画像
(横3枚の2段)から1枚を選択(ダブルクリック)して、
選択した画像を左上のピクチャボックスの表示し、
選択した以外の画像は消去する、
といったことはどのようにして実現できますでしょうか。

111 名前:デフォルトの名無しさん mailto:sage [2009/03/12(木) 17:33:54 ]
表示と消去ができるならクリックしたタイミングで好きなようにやればいい

112 名前:デフォルトの名無しさん mailto:sage [2009/03/12(木) 17:55:36 ]
>>110
・6つのピクチャボックスに SS_NOTIFY スタイルを付加する。
・あとは STN_DBLCLK メッセージが通知されたときに、親ウィンドウに対して
 InvalidateRect( NULL) を投げればいい。

それが 「初期の描画なのか」 「ダブルクリック後の描画なのか」 「どれが選択されたのか」
を判断する仕組みは、当然必要だがね。

113 名前:110 mailto:sage [2009/03/12(木) 18:40:15 ]
>>111 >>112
アドバイスありがとうございます。
なんとかできました。



114 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 20:10:04 ]
VisualC++.NET(2003)を使ってます。

今まで作ってたソリューションをセカンドマシンでもいじるために

 メインマシンの共有フォルダにソリューションのフォルダごとコピー
 ↓
 セカンドマシンにブリーフケース作ってそのフォルダを持ってくる。

という風にしようとしたのですが、メインマシンのソリューションをコピーした段階で
元々正常にビルドできて実行できてたものが正常に動きません。

コピー先ソリューションの動作
@開始ボタンを押すと毎回「プロジェクトの構成が変更されています。ビルドしますか?」のダイアログが出る。
・@でいいえを選ぶと何事も無く動く
・@ではいを選ぶと元々出なかったエラー「ビルドエラーが発生しました。続行しますか?」というダイアログが出る。
・BuildLog.htmを見ると 'CDHtmlDialog' : 定義されていない基本クラスが宣言されています。などを筆頭に
 ずらずらとエラーが出ている。
 これは元のフォルダでは出ない。

初心者でソリューションの構成ファイルなどのどこかに絶対パスがあるのか、見当も付きません。
プログラム自体は絶対パスを指定するような部分は有りません。
どなたか、解決のヒントでも教えていただけないでしょうか?

また、個人で2PCでプログラム開発する場合VSSのような物(多分有料ソフトですよね?)
を使わずに同期とったりバージョン管理する良い方法があれば教えて頂けないでしょうか?


115 名前:114 mailto:sage [2009/03/13(金) 20:48:02 ]
もう一度やってみたら上手くいきました。

何故なのか分かりませんが一回目にやったコピーでファイルがおかしくなっていたのかもしれません。


116 名前:791 + 792 mailto:sage [2009/03/13(金) 22:48:32 ]
エラーUZEEEEEEな状態助けてくださいな。

#include "stdafx.h"
#include <iostream>

int main()
{
int a;
int b;
int r;

cout << "割られる数は?(整数)";
cin >> a; // ここで数値を読み取っている
cout << "割る数は?(整数)";
cin >> b; // ここで数値を読み取っている
r = a % b;
cout << "割った余りは" << r << "だよ" << endl;
}

エラーはrror C2065: 'cout' : 定義されていない識別子です。
こんなのが endlだったりcinだったり6個あった。
ソースおかしい?

117 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 22:54:19 ]
>>116
名前空間(namespace)について勉強しろ

118 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 23:05:18 ]
>>116
stdafx.h を開いて

using namespace std;

と書け。

119 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 23:15:13 ]
>>118
それやっちゃうと名前空間を定義してる意味がなくなるので
あまり人にすすめることではないかと…


120 名前:791 + 792 mailto:sage [2009/03/14(土) 00:12:02 ]
ますます訳が分からなくなった。
namespaceで何処を囲えば良いのかさっぱり。
どこかで名前が被ってるからnamespace使えってことで合ってるんだよね?
知らない間にエラーが102個に増えた。

何処が駄目で何でnamespaceが必要なのかまだ理解できてない俺・・・

121 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 00:22:36 ]
ttp://homepage2.nifty.com/well/FirstProgram.html

stdafx.hなんて捨ててしまえと思わなくもない

122 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 00:39:30 ]
>>120
要は、std という名前空間をどこで使いたいか、だ。
int main() のなかだけで使いたいなら int main() の中に書けばいい。
int main() の書かれている cpp ファイルの中で使いたいなら、#include <iostream> の下あたりに書く。
いつでもどこでも使いたいなら stdafx.h に書く。(このときの注意点は >>119

123 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 05:28:15 ]
バカみたいな質問で申し訳ありません。猫でもで勉強してて今まで、VC++2008でCの勉強をやってたんですが、C++をやり始め、

1>.\ex01.cpp(1) : fatal error C1083: include ファイルを開けません。'iostream.h': No such file or directory

というエラーが出ました。これはiostream.hが標準ライブラリにないという事ですよね。
色々、ググってみたんですが、標準ライブラリの宣言で躓くなんてバカな奴はいないのか、
どこでダウンロードするのかどうやって標準ライブラリに追加するのかさっぱりわかりません。
教えていただけると助かります<m(__)m>



124 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 06:53:08 ]
C++初心者用のスレへ行った方がいい

125 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 07:21:13 ]
>>123
<iostream.h>は昔の存在。だから最近のVisual C++には入っていない。
<iostream>をインクルードして、coutとかcinとかはstd::cout、std::cinなどのようにstd::を付けろ。
詳しくは最近の入門書を読め。

126 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 07:57:31 ]
拡張子を.cppにしたときから
インクルードファイルは全て.h抜きを覚悟すべきだな

127 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 08:24:13 ]
>>123
猫でも…(ryは、難点として、標準ライブラリのインクルードがおかしいってのがある。
あきらめて書籍買え。その方が実りあるよ。


128 名前:791 + 792 mailto:sage [2009/03/14(土) 10:31:41 ]
int main(){
using namespace std;にしたら下のエラーが出たけど、ググったら解決した。
コンソールアプリケーションでプロジェクトを作らないと下のエラーが出る見たいだから
プロジェクトを作り直してやったらすんなり。
MSVCRTD.lib(crtexew.obj) : error LNK2019: 未解決の外部シンボル _WinMain@16 が関数 ___tmainCRTStartup で参照されました。
C:\Documents and Settings\Nanashi\My Documents\Visual Studio 2008\Projects\null1\Debug\null1.exe : fatal error LNK1120: 外部参照 1 が未解決です。
まだnamespaceの意味プーだけど、>>121が教えてくれたサイトを見たりして
理解できるようにがんばる
>>122もありがとう,助かったよ。

129 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 10:36:04 ]
デフォルトエントリポイント
コンソールアプリケーション→main
Windowsアプリケーション→WinMain
※マルチバイト文字セットの場合

130 名前:791 + 792 mailto:sage [2009/03/14(土) 10:58:01 ]
>>129
ありがとう。
int WINAPI WinMain( HINSTANCE, HINSTANCE, LPSTR, int)
でやってみたけど、デバッグはエラーないけど
デバッグなしで開始しても何も出てこない・・・
これはもう少しC++が分かるようになれば出てくるんだよね?
ちゃんとしたウィンドウとかダイアログが出せるようになるのが楽しみだ

131 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 11:13:00 ]
>デバッグなしで開始しても何も出てこない・・・
Windowsアプリケーションなんだから、ウィンドウを作らないことには何も出てこない。


132 名前:デフォルトの名無しさん [2009/03/14(土) 15:19:49 ]
ある環境をリンク中に、下記エラーが出るようになってしまいました。
>LIBCMTD.lib(dllcrt0.obj) : error LNK2019: 未解決の外部シンボル __imp__GetCurrentThreadId@0 が関数 __CRT_INIT@12 で参照されました。
PlatoformSDKの関数らしいですが、どのライブラリが足りないかご存じの方いませんか?

133 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 15:48:20 ]
CRT_INITで参照するものが不足するか?
環境の問題だろ



134 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 18:04:29 ]
>>130
C++ができるかどうかとWindowsプログラミングは全く関係ないぞ。
現に、猫でものWin32編は基本的にCだけでそういうことをやっている。

135 名前:791 + 792 mailto:sage [2009/03/14(土) 18:38:52 ]
>>131
確かにWindow作らなきゃ何も表示されなくて当たり前だった。

>>134
ごめん、まだC++否プログラミング始めて1日くらいしか過ぎてないんだ。すまない
Windowsプログラミングとは関係ないのか、猫でもにはWindowsSDKとかあったな。

if関数に少しだけ感動した,いろいろ応用が利きそうな関数だ。

136 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 18:54:15 ]
if関数は初めて聞いた

137 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 19:01:40 ]
VBAにiif関数があってそれのことかと思た

138 名前:132 [2009/03/14(土) 19:54:13 ]
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib
とパス指定すべきところを、
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib\x64
としてました。。。(笑

こんなんですごい時間かかった(汗

139 名前:123 mailto:sage [2009/03/14(土) 22:21:55 ]
ありがとうございますm(__)m

明日、本屋行って標準ライブラリ集でも買ってきて、猫で続きをやろうと思います。

140 名前:デフォルトの名無しさん [2009/03/16(月) 17:45:39 ]
入力支援がちっとも支援してくれません。
たまに入力候補一覧のリストボックスが出てきたと思っても、
必要なものを探すのにエライ手間がかかります。
どうしたらいいですか。

141 名前:デフォルトの名無しさん mailto:sage [2009/03/16(月) 18:49:28 ]
あれはMFCのためにある

142 名前:デフォルトの名無しさん [2009/03/17(火) 00:54:01 ]
初歩的な質問ですが、

どこかの設定を無意識に変えてしまったせいなのか
構成の種類をDLLにした場合でも、自動でLIBを作成してくれなくなりました
どこの設定をかえればいいのか教えていただけるとありがたいです。

VC++2008EEを使用しています。

143 名前:デフォルトの名無しさん mailto:sage [2009/03/17(火) 01:40:35 ]
自己解決しました

EXPORTを書き忘れてましたorz



144 名前:デフォルトの名無しさん [2009/03/18(水) 19:59:37 ]
窓の杜にあるようなソフトもvc++で作れますか?

145 名前:デフォルトの名無しさん mailto:sage [2009/03/18(水) 20:46:28 ]
>>144
作れます。初心者を脱出してC++とWinのAPIをめっちゃ勉強すれば。

146 名前:デフォルトの名無しさん mailto:sage [2009/03/20(金) 10:49:08 ]
sdkddkver.hを見る限り、_WIN32_WINNTを適当な値に設定して、
その他WINVER等の定義は任せてしまった方が良いのでしょうか。

147 名前:デフォルトの名無しさん mailto:sage [2009/03/20(金) 11:07:49 ]
ヘッダファイルの読み込み順序による。

148 名前:デフォルトの名無しさん mailto:sage [2009/03/20(金) 11:16:32 ]
ありがとうございます。たしかにそうかもしれませんね。
いつもwindows.hからインクルードしてたので、順番のことは気にも留めてませんでした。

149 名前:デフォルトの名無しさん mailto:sage [2009/03/20(金) 12:22:34 ]
始めようと思うんですが、公式ページの「Web インストール (ダウンロード)」をクリックしても
エラーページに飛ばされてダウンロードできません。
同じ症状の方いますか?

Firefoxのエラー文によると
>サイトアドレスは有効なようですが、接続を確立できませんでした。

150 名前:デフォルトの名無しさん mailto:sage [2009/03/20(金) 12:36:09 ]
Visual Studio 2008 Part 15
pc11.2ch.net/test/read.cgi/tech/1233853864/

151 名前:デフォルトの名無しさん mailto:sage [2009/03/20(金) 12:57:54 ]
download.microsoft.comに繋がらないようです。
自分だけ?

152 名前:デフォルトの名無しさん mailto:sage [2009/03/20(金) 13:08:15 ]
と今日の日記に書いておこう

153 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 12:56:07 ]
コメントを関数の前に書くと
その前の関数のグループになってしまいます
コメントがグループの初めになるように任意に修正する方法はないでしょうか
ご存知の方お願いします



154 名前:デフォルトの名無しさん [2009/03/24(火) 21:57:11 ]
Microsoft PressのVisual C++.NET実践講座 Vol.1基礎編の本には、
Console::WriteLine(S"Hello World");
のようにダブルクォートで囲った文字列の前にSが付いていて、それについて
何の説明も書いてないけど、このSって何。

155 名前:デフォルトの名無しさん mailto:sage [2009/03/24(火) 22:04:42 ]
わかったSystem::String*だ

156 名前:デフォルトの名無しさん [2009/03/25(水) 02:18:26 ]
visual cで作られたアプリケーションがあるのですが、
これを改造して自分のほしい機能を付け加えています。

自分で追加した変数やマクロなどとそうではない箇所とで、識別子(関数名、変数名、マクロ名)を明確に分けたいのですが、
新たに追加した部分にルールをつけるだけでなく、
改造元の識別子のすべてに対して、「kaizoumoto_」「KAIZOUMOTO_」のような接頭語をつけたいと考えました。
そのようなことを一括で行うことは可能でしょうか。
改造元から現在の状態までの間の追加は失われてかまいません。(改造元があって、それの識別子を一括で変更したいです。)

というか、Visual Cと全然関係ないですか。すみません。
ご存知でしたら、Helpをお願いします。

157 名前:デフォルトの名無しさん mailto:sage [2009/03/25(水) 10:34:11 ]
VC++のエディタウィンドウの行間をひらげることってできますか?
フォントやエディタの設定項目を調べて見ましたが、うまくできませんので、お願いします。

158 名前:デフォルトの名無しさん [2009/03/26(木) 12:45:11 ]
>>156
正規表現

159 名前:デフォルトの名無しさん mailto:sage [2009/03/26(木) 12:46:58 ]
>>157
ひらげるってw

160 名前:デフォルトの名無しさん mailto:sage [2009/03/27(金) 06:41:15 ]
2008 Express Edition使ってて外部エディタで編集してるから
これのエディタは見るだけにしたいんだけど
編集禁止状態に出来ない?

161 名前:デフォルトの名無しさん mailto:sage [2009/03/27(金) 09:02:01 ]
>>160
閉じられるって。

162 名前:デフォルトの名無しさん mailto:sage [2009/03/27(金) 09:14:25 ]
俺が思うに閉じたら見られないのではなかろうか

163 名前:デフォルトの名無しさん mailto:sage [2009/03/28(土) 05:06:11 ]
VS2005, XPでWin32プロジェクトを作成中です。
CreateWindowでウィンドウをつくり、さらにCreateWindowでボタンを追加しました。

マウスによる指定とカーソルキーによって、
メインウィンドウのある領域でカーソルが移動するようになっています。
(WM_LBUTTONDOWN, WM_KEYDOWN)

しかし領域外につくったボタンを押すと、
マウスによるカーソルの移動は受け付けるものの、カーソルキーを押しても反応がありません。
一度ウィンドウを非アクティブにし、再びアクティブに戻すと動作は正常に戻ります。
ボタンはWM_COMMANDで処理を行わずとも、押した時点で動作がおかしくなってしまうようです。

ご教示お願い致します。



164 名前:デフォルトの名無しさん mailto:sage [2009/03/28(土) 12:44:29 ]
カメラ目線

165 名前:デフォルトの名無しさん mailto:sage [2009/03/28(土) 15:38:35 ]
一応、ソースプログラム出さない?

166 名前:デフォルトの名無しさん mailto:sage [2009/03/28(土) 17:19:50 ]
ソースもなにもカーソル戻すだけだろ

167 名前:163 mailto:sage [2009/03/28(土) 17:57:29 ]
全体を添付した方が望ましいのでしょうか 宜しくお願い致します

case WM_COMMAND:
switch (LOWORD(wParam)){
case Button25: break;
default: return DefWindowProc(hWnd, message, wParam, lParam);
}break;
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
Rectangle(hdc,xwidth*(xx+1),ywidth*(yy+1),xwidth*(xx+2),ywidth*(yy+2));
EndPaint(hWnd, &ps);
break;
case WM_LBUTTONDOWN:
x = LOWORD(lParam); y = HIWORD(lParam);
if(x>xwidth && x<xwidth*(member+1) && y>ywidth && y<ywidth*(member+1)){
xx = x/xwidth-1; yy = y/ywidth-1;
InvalidateRect(hWnd, NULL, TRUE); UpdateWindow(hWnd);
}break;
case WM_KEYDOWN:
switch(wParam){
case VK_RIGHT: if(xx<member-1) xx++; break;
case VK_LEFT: if(xx>0) xx--; break;
case VK_DOWN: if(yy<member-1) yy++; break;
case VK_UP: if(yy>0) yy--; break;
}
InvalidateRect(hWnd, NULL, TRUE); UpdateWindow(hWnd);
break;

168 名前:165 mailto:sage [2009/03/28(土) 20:13:06 ]
case Button25: を押したら、break; の前にコントロールを戻すために何かするんじゃないか。
何の関数呼べばいいのかわからないけど、ここまでだ。

169 名前:デフォルトの名無しさん mailto:sage [2009/03/28(土) 20:49:47 ]
ソース見る必要あったのか?

170 名前:デフォルトの名無しさん mailto:sage [2009/03/28(土) 20:59:43 ]
>>163です

SetFocus( hWnd ); でした!
解決致しました。ありがとうございます!

171 名前:デフォルトの名無しさん mailto:sage [2009/03/29(日) 13:15:48 ]
1. マネージC++のインターフェイスは、純粋仮想関数だけを持つ抽象クラスみたいなものか。
2. マネージC++のシールクラスは、自分の作った知的財産であるクラスを「お前らなんかに
  継承してパクらせてやるわけにはいかん」ためにあるのか。
3. マネージC++の例外の__finnallyブロックは、例外の有無に関係なく実行するということ
  だが、そんなのなくても、いずれの場合もcatchブロックの次を普通に実行するみたいで、
  どのように違いがあるのかよくわからん。
4. 派生クラスで基底クラスのメンバー関数をオーバーライドできるのは、別に仮想関数でな
  くても可なのか。
5. 4が正しいと仮定して言う。派生クラスのアドレスを、基底クラスのポインターに代入して、
  そのポインターを使って、派生クラスでオーバーライドされたメンバー関数を呼び出した
  ときの扱いはどうなのか。非仮想関数なら、基底クラスのメンバー関数を呼び出して、仮想
  関数なら、派生クラスのメンバー関数を呼び出すのではないかと思うが、それで正しいか。


172 名前:デフォルトの名無しさん mailto:sage [2009/03/29(日) 13:33:33 ]
誤爆です

173 名前:デフォルトの名無しさん mailto:sage [2009/03/29(日) 13:48:12 ]
違う誤爆ではない。
邪魔しないでくれ。



174 名前:デフォルトの名無しさん mailto:sage [2009/03/29(日) 13:53:52 ]
あっ、確か__finayllyはreturnされると呼び出し元に戻る前に、そのブロックが
実行するってことか。何かに書いてあったような記憶が。

175 名前:デフォルトの名無しさん mailto:sage [2009/03/29(日) 13:57:23 ]
あっ、良く確かめずに書いてすみません
ちゃんと調べてから書き直します






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

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

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