くだすれVisual C++(超初心者用)

このエントリーをはてなブックマークに追加
952デフォルトの名無しさん:2006/06/08(木) 17:48:47
CString ss = _T("ABC");
TRACE(_T("Data = %s\n"), ss);

これを、Unicodeビルドでやると、結果が
"Data = "
になってしまいます。マルチバイトビルドだと上手くいきます。
Unicodeビルドで上記の様なTRACEをやりたい場合、どのように記述すれば良いのですか?
953デフォルトの名無しさん:2006/06/08(木) 17:59:04
適当に%Sとか答えてみる。
954デフォルトの名無しさん:2006/06/08(木) 18:05:47
>>953
"Data = A"
となりました・・・
955デフォルトの名無しさん:2006/06/08(木) 18:20:28
>>952
適当にTRACE(_T("Data = %s\n"), static_cast<PCTSTR>(ss));
956952:2006/06/08(木) 18:31:24
>>955
ばっちりです
ありがとうございました
957デフォルトの名無しさん:2006/06/09(金) 10:39:37
VC++での構造についての質問です。

VC++ではドキュメントとビューのクラスを用いてプログラムしますよね。
データを管理するクラスA、ビューのクラスB、ドキュメントのクラスCが
あるとすると、UIのイベントが発生して、データを変更する必要が生じた
場合、このAのメンバ関数を呼び出すのは、Cから呼び出すのが一般的だと
解釈して良いのでしょうか。

Bのクラスが直接Aのメンバ関数を呼び出すような形だと、Bのイベント処理
部分は、Aの実装に深く依存してしまいます。
(ただし小さいプログラムならば、これでもいいのでしょうが)

UI(イベント)→B→C→Aみたいな順で処理が進むのが理想だと思うのですが。
Cはちょうどフックというか、緩衝になりますね。
958強いて言えばMFCか:2006/06/09(金) 11:09:15
>VC++ではドキュメントとビューのクラスを用いてプログラムしますよね。
いいえ、そうプログラムするのはあなたの勝手ですが、VC++にそんな制限はありません。
959デフォルトの名無しさん:2006/06/09(金) 11:35:47
>>957
俺はBとCの間にも緩衝をいれることがよくある
UI→B→イベント仲介者→C→A
仲介者(Mediator)にはAppクラスを使うのがお手軽
960デフォルトの名無しさん:2006/06/09(金) 12:28:45
>>958 言葉がたりませんでしたか。MFCを使うならば、といえばOK?

>>959 レスサンクス。
B-C間でイベントを仲介させるのはC→Aの処理の実装方法と何か関係が
ありますか?

Cの実装部分を変えれば、他のアプリに使いまわせるとか、そういう
概念でしょうか?
961デフォルトの名無しさん:2006/06/09(金) 13:24:00 BE:93168386-#
>>960
B-C間に仲介があると、ひとつのドキュメントに対して複数のビューが欲しいときに楽になる
からかと。
962959:2006/06/09(金) 13:31:36
いやC→Aをうまく実装してAを隠蔽できればそれでオッケー。
>>959は、そのあとのBとCの結合に関する話です。

>>961 それそれ
963デフォルトの名無しさん:2006/06/09(金) 14:08:58
>>961-962 おお、そうですね。

Aの変更が複数のビューにまたがって影響を及ぼす場合があるなら、
Cに処理を移す前に、1つのイベントで複数の処理に対処しなければ
ならない、ということですね。

ありがとうございます。
964デフォルトの名無しさん:2006/06/09(金) 15:34:49
環境:WinXpHome VC++6.0
下記のような、ワード等のファイルを関連付けされたアプリで開いた後、
CTRL+A→CTRL+Cを行い、クリップボード内のテキストを取得しようとしたのですが、クリップボード内に入っていませんでした。
keybd_eventがファイル起動完了より先に来てしまうのが原因なのでしょうか?
だとしたら、どう修正すれば良いのでしょうか?

SHELLEXECUTEINFO shelli;
ZeroMemory(&shelli,sizeof(SHELLEXECUTEINFO));

//SHELLEXECUTEINFO構造体に変数を展開。
shelli.cbSize = sizeof(SHELLEXECUTEINFO);
shelli.fMask = SEE_MASK_FLAG_NO_UI | SEE_MASK_FLAG_DDEWAIT;
shelli.hwnd = m_hWnd;
shelli.lpVerb = _T("open");
shelli.lpFile = gFilePath;///ワードのパスを格納
shelli.lpParameters = NULL;
shelli.lpDirectory = NULL;
shelli.nShow = SW_HIDE;
ShellExecuteEx(&shelli);//実行

keybd_event(VK_CONTROL, 0, 0, 0);
keybd_event('A', 0, 0, 0);
keybd_event('A', 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_CONTROL, 0, 0, 0);
keybd_event('C', 0, 0, 0);
keybd_event('C', 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);

//クリップボード内テキスト取得処理
(省略)
965デフォルトの名無しさん:2006/06/09(金) 16:09:14
MFCで自作で簡易HTMLレンダリングエンジンって出来ませんか???????
966デフォルトの名無しさん:2006/06/09(金) 16:13:11
できますよ
967デフォルトの名無しさん:2006/06/09(金) 16:14:29
教えてくだされ!!!!
御願いします.>>

968デフォルトの名無しさん:2006/06/09(金) 16:15:47
HTMLをテキストに変換
テキストを描画
969デフォルトの名無しさん:2006/06/09(金) 16:33:53
ありがとう御座います
詳しく教えてください!!!
御願いします(泣)
970デフォルトの名無しさん:2006/06/09(金) 16:49:26
>>969
それはネタなのかっ!?
971デフォルトの名無しさん:2006/06/09(金) 16:54:01
>>970
ネタ・・・・
ジャ無いっすよう〜(T_T)
972デフォルトの名無しさん:2006/06/09(金) 17:04:03
HTMLを読み込む、<BR>タグを改行に、その他のタグを消去、
エディットコントロールに貼り付けてはいおーしまい。

とか、言われても知らんぞ
973デフォルトの名無しさん:2006/06/09(金) 17:05:05
まずはウィンドウに"Hello, world!"と表示するプログラムを作れ。
話はそれからだ。
974デフォルトの名無しさん:2006/06/09(金) 20:43:55
VC++ 2005のリソースエディタでボタンやテキストボックスなどを
正確に(かっこよく?)配置する方法はありませんか?
イメージとしてはC#のような。
975デフォルトの名無しさん:2006/06/09(金) 22:53:46
dialogを教科書通りの方法で作成したのですが、
いざ、フォーム中のボタンなどを右クリックしてClassWisardを起動し、新規クラスの追加をしようとすると、
「クラス"○○"のファイル(C:\Documents ....)を開けません。」
と表示され、結局追加されません。
一応、cppとhファイルは作成されているようなのですが、ClassWisardには追加されていないので、
メンバ変数の設定なども出来ず、困っています。
このような場合、どのようにすればいいのでしょうか。ご教授をお願いします。
976デフォルトの名無しさん:2006/06/09(金) 23:14:15
なぞなぞは苦手なんだな
977デフォルトの名無しさん:2006/06/10(土) 19:15:04
大学でVC++とセンサつかってゲームつくる授業がでた
面白そうだと思って色々妄想膨らましてたけど
いざ授業にでてみたら・・・
















Visual C++ 1.5.1
何コレ・・・orz
これって画像とか使えるの?・・・
978デフォルトの名無しさん:2006/06/10(土) 19:20:21
DLLから関数を呼ぶとき_declspecを使う方法とDEFファイル使う場合があると思うが、
おまえらはどっち使ってる?
もしくは、どう使い分けてる?
979デフォルトの名無しさん:2006/06/10(土) 19:29:11
>>977
昔のバージョンの方がapi少ないしソースも短くて読みやすいし
ドキュメントもしっかりしてて学習には向いてる。
今では入手困難なプレミアムつきのバージョンだな。
980デフォルトの名無しさん:2006/06/10(土) 19:48:26
でも、もしWin16だったら、それはそれで面倒事が多い気がする。
981デフォルトの名無しさん:2006/06/11(日) 01:17:14
スレ梅に質問いいです?
CPU情報を表示するソフトを作りたいのですが
CrusoeのCPUが判定できる 外部DLLってありますか?
982デフォルトの名無しさん:2006/06/12(月) 16:52:36
.netを使えばポトペタで作成できると聞いたのですが、
アプリケーションの実行速度はどうですか?javaと似たようなものですか?
javaはあのもっさり感が何ともいえない。
983デフォルトの名無しさん:2006/06/12(月) 17:43:44
>>982
.NETでポトペタはC#向きJAVAと比べるのもC#
984デフォルトの名無しさん:2006/06/12(月) 17:46:10
俺はJavaほどのもっさりはないと感じている。
985デフォルトの名無しさん:2006/06/12(月) 18:49:11
986デフォルトの名無しさん:2006/06/14(水) 15:05:03
うめとこ
987デフォルトの名無しさん:2006/06/14(水) 15:08:05
1
988デフォルトの名無しさん:2006/06/14(水) 15:08:42
2
989デフォルトの名無しさん:2006/06/14(水) 15:09:18
3
990デフォルトの名無しさん:2006/06/14(水) 15:10:13
4
991デフォルトの名無しさん:2006/06/14(水) 15:13:37
ご`ヽ、
ら,り⌒\ 
 /  ノ  ゙ヽ
{ /`Y´ _)
ヽ'^) >. )
992デフォルトの名無しさん:2006/06/14(水) 15:53:56
6
993デフォルトの名無しさん:2006/06/14(水) 16:01:07
7
994デフォルトの名無しさん:2006/06/14(水) 16:15:40
8
995デフォルトの名無しさん:2006/06/14(水) 16:17:40
9
996デフォルトの名無しさん:2006/06/14(水) 16:23:19
あげといてやるよ
997デフォルトの名無しさん:2006/06/14(水) 16:25:14
998デフォルトの名無しさん:2006/06/14(水) 16:26:02
999デフォルトの名無しさん:2006/06/14(水) 16:27:07
1000デフォルトの名無しさん:2006/06/14(水) 16:27:37
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。