5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

VisualC++ 相談室【9】

1 :kng ◆XTitdn3QI6 :02/11/10 11:59
VisualC++関連の話題を扱うスレッドです。

前スレ
http://pc3.2ch.net/test/read.cgi/tech/1022499000/l50

2 :デフォルトの名無しさん:02/11/10 12:08


3 :デフォルトの名無しさん:02/11/10 13:17
>>1
あとでホテル来てね

4 :デフォルトの名無しさん:02/11/10 16:46
自分で作ったstatic link libraryを使用しようと思っているのですが、
特に気をつけなければいけないことはありますか?

例えば、色々なソースを見てみると
・debug版とrelease版を分ける
ということをしている物を見つけることができました。

.hファイルを全部集めてincludeし、.libファイルをリンク
するだけでよいのでしょうか?

5 :4:02/11/10 17:00
最後の方の書き方がわかりにくいので付け加えます

例えば、static link libraryが内部的に使用するクラスを
cpp側でincludeしていた場合、使用する側はそれも
includeしなくてはならないのでしょうか?
簡単に表してみると下のようなイメージです

staticlib.h
classAについての定義のみ

staticlib.cpp
#include "inneruse.h"としてこれを使用

user.h
#include "staticlib.h"
#pragma comment(lib, "staticlib.lib")
#include "inneruse.h" // ←必要かどうか?

user.cpp
staticlib.hのクラスclassAを使用

また逆にuser.cppで直接使わなければならないもの
<string>や"windows.h"などはインクルードの必要はるのでしょうか?

6 :デフォルトの名無しさん:02/11/10 17:25
dllをコンパイル時に組み込むことはできますか(exeのみで渡したい)
できるなら方法を教えてください。よろしくお願いします。

7 :デフォルトの名無しさん:02/11/10 17:26
VCの設定について質問です。

独自クラス(.h、.cpp)を作りました。そのクラスをプロジェクトで使いたいと思い、
[オプション]のディレクトリタブでインクルードファイルの場所にその独自クラスがあるパス
を指定し、独自クラスの.hをincludeし、実際に独自クラスのインスタンスを作ってみたのですが、
コンストラクタとデストラクタの外部参照未解決でリンクエラーとなってしまいます。
どうやら実装部分である.cppファイルを見つけられていないようです。

いちいちプロジェクトに .h、.cppファイルを追加しなければ使えないのでしょうか?

8 :デフォルトの名無しさん:02/11/10 17:29
>>5
やってみればいいんじゃ・・・

9 :デフォルトの名無しさん:02/11/10 17:33
>>6
できない

10 :6:02/11/10 17:43
>>9
そんなこといわないでよろしくお願いします。

11 :デフォルトの名無しさん:02/11/10 17:44
>>10
どうやら条件はいくつかあるけど出来るみたい。
http://www2.strangeworld.org/uedakana/sahra6138.jpg

まぁ、MSにDL3はあるんで何とかなるでしょう。


12 :デフォルトの名無しさん:02/11/10 18:07
VC++6.0である場所の変数の値が知りたくてprintfを使ったのですが
Win32アプリでは標準出力がだせなくこまっています。

ソースファイルの特定の場所で変数の値を知るにはどうすればいいでしょうか?

13 :デフォルトの名無しさん:02/11/10 18:12
>>11
最近ご活躍のようですな。
URL でばればれ。

14 :デフォルトの名無しさん:02/11/10 18:21
>>13
strangeworldでjpgだからね。

15 :デフォルトの名無しさん:02/11/10 20:38
>>11みたいな奴は、ム板をもってしてもアク禁にできんのか?

16 :sage:02/11/10 20:45
VC++5.0 のprfessionalとEnterpriseとで
出来ることの違いを知りたいのですが。

Enterpriseは、単にprofessionalに、いろいろな機能を
付加したものと考えてよろしいんでしょうか。
それとも、会社でのイントラネット用につくられたEditionで、
professionalでの個人向けの機能は省かれたものと考えて
よろしいんでしょうか。

17 :デフォルトの名無しさん:02/11/10 20:48
XPのスタイルに対応する方法は?
紹介しているページがまだ無い!?

98/ME/2000で動かないってのは無しで
manifestはだめね…

18 :デフォルトの名無しさん:02/11/10 20:58
ここでいいのかな
NTDDKダウンロード出来ません。
CD注文するしかないのですか?

19 :デフォルトの名無しさん:02/11/10 22:21
VC.netの話なのですが、ダイアログボックスのコントロールで、ラジオボタンをグループにして、
DDXで管理するにはどうすればいいのでしょうか。

20 :デフォルトの名無しさん:02/11/11 00:43
>>17 に便乗。
http://www.microsoft.com/japan/msdn/windows/windowsxp/xptheming.asp
この通りにやっても、うまくいかず...
SDKは一応 Feb2001以降(Nov2001)が入っているんだが(;´Д`)

21 :デフォルトの名無しさん:02/11/11 00:54
>6
 たとえば、DLLをリソースとして持っといて、
実行時に書き出して、LoadLibraryする手もあるし、
面倒なら、DelayLoadすればいい。
 あるいは、「可能だが実用的ではない」でいいなら、
WindowsのLoadLibraryに相当するものを作っちまって、
リソースから直接MyLoadLibraryすることもできよう。

22 ::02/11/11 21:45
>19
ラジオボタン1をA
ラジオボタン2をB
と仮定すると
ダイアログエディタ上でAの「Group」をTrueにセットして
Aの右クリックからめんバ変数の追加
値タイプ=Value
型=bool
これでできる。
VC6なら三つ以上のラジオボタンをintに割り当てれたけど
.NETはわからない、というか知らない。
というかこちらが教えて欲しいくらいだ。

23 :デフォルトの名無しさん:02/11/12 19:05
あるテンプレートライブラリを使おうとしていたのですが、
エラーが出ます。エラー自体は仕方のないこととして、
そのインクルードファイルがどこで使われているのかを確定するために
インクルードスタックの表示を出したいのですが、方法が分りません。
どうすればgccのようにエラーにそのようなものを表示させることが
できるのでしょうか?

環境
IDE VisualC++6.0
コンパイラ、ヘッダ 最新のPlatformSDK、.netSDK

24 :デフォルトの名無しさん:02/11/16 16:16
VC6とVC++.NET使っているのですが、
インクルードディレクトリがそれぞれいくつかあるのですが、
これをexportやimportできないんでしょうか?
どなたか知っている方いましたら教えてください。


25 :デフォルトの名無しさん:02/11/16 16:28
6 ならツールのオプションでインクルードパスを追加できるところがあっただろう。
.NET は知らない。

26 :24:02/11/16 17:09
>>25
そのことは知っていたんですが、
やはりそこから1個ずつ登録していくしかないみたいですね...。
ありがとう。


27 :デフォルトの名無しさん:02/11/16 17:11
VS.NETのMSDNデラックスっていうのを買って登録したら
OSやらサーバーやらオフィスやらいろいろ送られてきたから、
何人かで分けて使ってるけど、これって違法じゃないよね?
マイクロソフトから何か言われた人いる? 

28 :デフォルトの名無しさん:02/11/16 17:25
>>27
デラックスなら大丈だろ。
バージョン情報で20桁くらいの番号が
表示されていると思うけどなんて書いてある?

29 :デフォルトの名無しさん:02/11/16 17:27
>>27
単発質問スレ市ね

30 :デフォルトの名無しさん:02/11/16 17:28
>>27
逮捕しますた

31 :デフォルトの名無しさん:02/11/16 17:50
>>27
ここで訊かずに使用許諾書を読めよ。
確か、MSDN ライブラリだけはチーム内に限りピーコ可能、それ以外は
ライセンス者以外使用禁止みたいに書いてないか?

32 :デフォルトの名無しさん:02/11/17 17:33
VC++.NETで、自作したメニューのコマンドハンドラを作りたいのですが
ビューやドキュメントクラスのプロパティウィンドウの
「イベント」タブの「メニューコマンド」以下には自作IDが表示されない(ツールバーにのみ登録の時)か
表示されても32776と、素の番号で表示されてしまいます(メニューバーに登録の時)。
当然ここからハンドラを追加しようとすると"On32776"となってしまい、激しく鬱です。

一応メニューバーからコマンドハンドラの追加をすれば出来るのですが不便でなりません。
どなたか解決法・対処法をご存じでしたら教えてください。


33 :デフォルトの名無しさん:02/11/18 13:43
age

34 :デフォルトの名無しさん:02/11/18 17:20
C++の簡単な文法のみ学んだ状態でVC++.NETを購入しました。
でも何がなにだかさっぱりわからーんヽ(`Д´)ノウワァン
とりあえずヘルプをつついてみてるんですがまずHello Worldまでの道のりさえ見えてきません。
どこかにWinあぷりを作るまでの道のりを記してないでしょうか?
ポインタお願いします。

35 :デフォルトの名無しさん:02/11/18 19:37
猫でも出来るプログラミング
http://www.kumei.ne.jp/c_lang/

でもまー、Hello, Worldとか試すならプロジェクトをコンソールアプリで作ればいいだけだが。

36 :34:02/11/18 20:14
>>35

感謝。
ここVC6との橋渡しをかいてくれてるのでこことVC6関連のページを見て頑張ってみようと思います。

それとこんなのあったんでつね・・
「お勉強ページ勝手にリンク」
http://pc3.2ch.net/test/read.cgi/tech/967778156/13

37 :デフォルトの名無しさん:02/11/21 22:22
>>34
数年前、それまで使っていたTurboC++のIDEが動作しないパソコンが出てきて
しかたなく、VC++に切り替えた。
しばらくの間、逐次処理の考えたでWindowsを捕らえようとして苦しんだぞ。
C++に慣れる事も大切だけど、まずは、Windowsプログラムになれることだと思う。


38 :デフォルトの名無しさん:02/11/22 00:31
ID

39 :デフォルトの名無しさん:02/11/22 02:17
VisualStudio.netのC++を使っていますが、
ソースコードをコンパイルしてアセンブルしたソースコードをテキスト形式で出力するオプションは何でしたっけ?


40 :デフォルトの名無しさん:02/11/22 02:46
VC6 では /FA?? だった

41 :デフォルトの名無しさん:02/11/22 02:49
>>39
ソースコードをコンパイルしてアセンブルしたソースコードなんてのは激しく意味不明だが、
ヘルプ引けば一発で解決すると思われ。
コマンドプロンプトでcl /?とか。

42 :デフォルトの名無しさん:02/11/22 03:20
>>40,41
/FAでできました 
ありがとう

43 :デフォルトの名無しさん:02/11/22 09:53
何の気なしに cl と bcc のデフォのアセンブル出力を見比べると、
bcc の方が素直で読みやすいね。

44 :デフォルトの名無しさん:02/11/22 10:08
>>43
最適化出来てない・・・?

45 :デフォルトの名無しさん:02/11/22 17:11
>>43
その分遅くてコードサイズもでかいんじゃないか?
VC++ がさほど優れているとは思わないが、bcc はそれに劣る。

46 :デフォルトの名無しさん:02/11/22 18:47
コンパイラが吐くコードが読みやすい必要は無いと思うが・・・

47 :デフォルトの名無しさん:02/11/22 20:26
別に優れてるとも言ってないとおもうが・・・

48 :デフォルトの名無しさん:02/11/22 20:38
主文を無視して副文だけ拾われても困るのだが・・・

49 :43:02/11/23 03:30
いやさ…bcc って直球勝負な出力するなあ、っていうか…
その時、思ったことをそのまま書いたまでで、
優劣抜きの感想なんで、その辺はご容赦を。

50 :デフォルトの名無しさん:02/11/23 03:38
了解したが、それなら最初にそう述べるべきだった。

51 :デフォルトの名無しさん:02/11/25 00:00
勝手に優劣に結びつけようとしてる方がどうかと

52 :デフォルトの名無しさん:02/11/25 00:50
午前零時に昔話をいきなり始めるのもどうかと

53 :デフォルトの名無しさん:02/11/25 18:40
そういえばTurboC++for Windowsは、コンパイル馬鹿っ早だったなぁ。
勉強目的にはあっちの方が良かった記憶がある。

54 :デフォルトの名無しさん:02/11/25 19:15
最近のマシンでは、コンパイル速度なんて意識すらしない。

55 :デフォルトの名無しさん:02/11/26 01:39
>>53
それは template ガンガン使えたか?

56 :デフォルトの名無しさん:02/11/26 19:14
VC7 でも名前空間メンバの宣言と定義を別にすると、
クラスビューが使えない。(鬱

57 :デフォルトの名無しさん:02/11/27 04:20
VC6でですが、
現プロジェクトのmain.cpp以外を
スタティックライブラリとして
生成したいのですが、

やっぱり
スタティックライブラリのプロジェクトを作って、
地道に全ソースをプロジェクト追加
しないとダメなのでしょうか?

階層がいっぱいあって、めんどくさいのです。
ビルド→構成→追加(コピー)
から、出来そうな気がするのですが。
出来ないでしょうか?

58 :デフォルトの名無しさん:02/11/27 04:36
dspファイルの構造をよく見れ。

59 :デフォルトの名無しさん:02/11/27 10:02
externよりinlineで最適化
DLLは遅くない(つーか速い)

# 漏れはMSの回し者ではないが

60 :デフォルトの名無しさん:02/11/27 13:15
>>59
「DLLは遅くない」 は理解できるが、「つーか速い」 ってどういう事だ?

61 :57:02/11/27 22:19
普通のプロジェクトと
スタティックライブラリのプロジェクト
を作って、
同じファイルを設定して比較してみました。

# TARGTYPE が 103と104で違ったり
通常は、LINK32= link.exe
ライブラリは、LINK32= link.exe - lib
あとは、
通常の方だけ #ADD BASE LINK32 で、たくさんリンクされてました。

普通のほうに構成を追加して、
(VC上や、dspをメモ帳で)パラメータ真似たり、
コピーしたりしてやったけど、エラーが出ます。
何かヒントください。

もしかして、出来ないのでしょうか?


62 :デフォルトの名無しさん:02/11/27 23:53
1 つのワークスペースには複数のプロジェクトを同居させられたと思うけど。
ドラッグドロップで。

63 :??:02/12/02 16:20
COMスレから誘導されてきました。

http://pc3.2ch.net/test/read.cgi/tech/981823340/682-683
についてわかる方、お教えいただけませんか?

64 :デフォルトの名無しさん:02/12/02 16:30
DLLのソースで
IFastString* __declspec(dllexport) CreateFastString(const char* psz);

アプリのソースで
IFastString* __declspec(dllimport) CreateFastString(const char* psz);

アプリのリンクで
wara.libを追加

65 :デフォルトの名無しさん:02/12/02 16:31

wara.DLLの場合な

66 :さいたまななし:02/12/02 16:42
VC++オおみやのそふまぷでげとー

67 :??:02/12/02 16:54
解決しますた。

------/*ifaststring.h*/------
#ifdef _EXPORTING
#define CLASS_DECLSPEC __declspec(dllimport)
#else
#define CLASS_DECLSPEC __declspec(dllexport)
#endif

class CLASS_DECLSPEC IFastString
{
public:
virtual void Delete(void) = 0;
virtual int Length(void) const = 0;
virtual char First(void) const = 0;
};

extern "C"
CLASS_DECLSPEC IFastString* CreateFastString(const char* psz);

でとおりました。

68 :??:02/12/02 16:54
>>64さんアドバイスありがとうございました。

69 :デフォルトの名無しさん:02/12/02 20:51
内蔵のエディタでタブを聞かせたいのですがどうすればよいのでしょうか?

70 :デフォルトの名無しさん:02/12/02 22:55
vc++なんですが、
d&dで落とされたパスから
ディレクトリかファイルかを判別したいんです。
上手い方法はないものでしょうか?

他スレで質問したらここに逝けと・・・




71 :デフォルトの名無しさん:02/12/02 23:04
>>70
GetFileAttribute()

72 :デフォルトの名無しさん:02/12/03 16:31
インデントとか自動成型してくれるショートカットなんだっけ?

73 :70:02/12/03 21:41
>>71
ありがとう。

ちなみにフルパスからファイル名や拡張子を抜き出すのに
端から調べて¥とかの位置から割り出して抜き出してんですが、
アホですか?

74 :デフォルトの名無しさん:02/12/03 22:07
>>73
自前でやりたくなかったら_splitpath()使え。

75 :70:02/12/03 22:25
ちょっと調べてみたんですが、さっぱりですな。使い方わかりません。
もうちっと勉強が足らんみたいですね、俺も。
自前でやるのに問題ないんなら自前でいいんですけど、楽しいし。

76 :デフォルトの名無しさん:02/12/03 23:06
>>75 もちろんバグ無しっていう自信があるなら問題無いがな

77 :70:02/12/03 23:37
なるほど。
じゃあ使い方勉強してきます。
ありがとう。

78 :デフォルトの名無しさん:02/12/03 23:53
>>72
ヘルプメニューからキーボードショートカット一覧

79 :デフォルトの名無しさん:02/12/04 02:13
>>75
_splitpath()の使い方が理解できないようでは他の関数もろくに使えないと思うけどね。

80 :デフォルトの名無しさん:02/12/04 13:56
VC++6で使える
Granola みたいなアドインのつーる
ありますか ヽ(;´д`)ノ

81 :デフォルトの名無しさん:02/12/04 15:14
VC++6でむけるあまぐりはありまつか?

82 :デフォルトの名無しさん:02/12/04 18:16
>81
ネタがつまらんので首吊りの刑

83 :81:02/12/04 18:27
 ∧||∧
(  ⌒ ヽ
 ∪ 。ノ
  ∪∪

84 :71:02/12/05 01:47
>>73
PathFindExtension() PathFindFileName() を使えば簡単。

動作環境に注意。
Windows 2000, Windows NT 4.0 with Internet Explorer 4.0,
Windows 98, Windows 95 with Internet Explorer 4.0

85 :デフォルトの名無しさん:02/12/05 21:19
>>71
多謝!!!
非常に助かります。

86 :デフォルトの名無しさん:02/12/10 01:14
(,,ノ゚д゚)ノ

87 :デフォルトの名無しさん:02/12/10 01:16
(゚д゚ )
//


88 :デフォルトの名無しさん:02/12/10 11:25
⌒Y⌒Y⌒Y⌒Y⌒(。A。)

89 :デフォルトの名無しさん:02/12/10 18:19
             (゚д゚)ヌルポー

90 :デフォルトの名無しさん:02/12/11 01:07
  ∧_∧
  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >_∧∩
  _/し' //. V`Д´)/ ←>>89
 (_フ彡        /

91 :デフォルトの名無しさん:02/12/11 01:43
ttp://aa.2ch.net/mona/
ttp://aa.2ch.net/kao/
ttp://aa.2ch.net/aastory/
に要け

92 :デフォルトの名無しさん:02/12/11 01:57
>>91
キミは遅れているね。

93 :デフォルトの名無しさん:02/12/11 14:58
現在、MFCでアプリ作ってるが、ツールバーに表示する
ビットマップのやつをかっけーのに激しくしたい!

だけど漏れには絵の才能が無いぽ...

そんな漏れと同じあなた! あなたならどうしる?

つかいいとこあったら教えて〜

94 :デフォルトの名無しさん:02/12/11 15:04
絵云々ならその道の板のほうがよかろ。

95 :デフォルトの名無しさん:02/12/11 15:21
CSVファイルを扱う標準関数ってありますか?


96 :デフォルトの名無しさん:02/12/11 17:15
C/C++ 標準という意味なら、無い。

97 :デフォルトの名無しさん:02/12/11 17:57
Excelをたたくとか

98 :デフォルトの名無しさん:02/12/11 18:15
つーか、そんなに難しくないから自分で書いてみれ。

99 :デフォルトの名無しさん:02/12/11 18:43
Windows MeでVC++ 6.0を使っているのですが、
CPropertySheet::DoModalを実行すると
「ハンドルされていない例外は〜〜にあります。 0xC0000005 Access Violation」
と出て強制終了してしまいます。エラーメッセージが出るときと出ないときがあり、
一度でもエラーが出るとPCを再起動するまで同じエラーが出てしまいます。

どなたか対処法を教えていただけないでしょうか?

100 :100:02/12/11 21:10
>>99
ちょっとそれだけでは分からないけど、エラーの原因が CPropertySheetにある
のか CPropertytPage(を使ってるんだよね?)にあるのかを切り分けないと。

101 :99:02/12/11 21:32
>100
エラーが出る位置は、CPropertySheet::DoModal中の
    m_nFlags |= WF_CONTINUEMODAL;
→   HWND hWnd = (HWND)::PropertySheet((PROPSHEETHEADER*)psh);
    #ifdef _DEBUG
この行です。
ただ、プロパティページをCPropertySheet::AddPage()で追加しないと、
エラーは発生しないのです。なのでどちらに原因があるのか判断し辛いのです。

一度発生してしまえば、CPropertyPageからの派生クラスのコードを最小限まで削っても、
エラーが消える事はありません。PCを再起動するとまた正常に動く事もあるのですが。

102 :デフォルトの名無しさん:02/12/11 21:48
>>93
馬鹿め!死ね!

103 :デフォルトの名無しさん:02/12/11 21:52
酷いこと言うなよ

104 :デフォルトの名無しさん:02/12/11 21:55
>>101
>ただ、プロパティページをCPropertySheet::AddPage()で追加しないと、
>エラーは発生しないのです。なのでどちらに原因があるのか判断し辛いのです。

明らかにプロパティページに原因があると思うが・・・

105 :質問!:02/12/12 10:45
VC++で作成したアプリを配布する時、
どのインストーラー使ってますか?
インストール時に、ファイルの関連付けも行いたいので、
インストーラー探してるのですが・・・

106 :デフォルトの名無しさん:02/12/12 10:54
char 型の文字列を、CString型に変換するにはどうしたらいいでしゅか?

107 :デフォルトの名無しさん:02/12/12 10:59
>106
=演算子で暗黙の型変換(?)で普通に代入してますが


108 :デフォルトの名無しさん:02/12/12 11:57
ワーカースレッドというのをやろうとして、

'AfxBeginThread' : 2 のオーバーロードは 1 番目の引数を 'unsigned int (void *)' から要求の型に変換できません。(新しい機能 ; ヘルプを参照)

とでるんですがいったいどうすればいいですか?

109 :デフォルトの名無しさん:02/12/12 12:02
>>108
1番目の引数に unsigned int (void *) 型のデータを渡してください

110 :109:02/12/12 12:11
じゃねぇよ。
新で来る。

111 :デフォルトの名無しさん:02/12/12 12:22
>>108 こういう形になってないのでは?

AfxBeginThread ( worker_thread , ・・・);

UINT worker_thread ( LPVOID pPtr )
{
 ・・・


112 :108:02/12/12 12:39
>>111
それがそうなっているんですよ。
MSDEの記述と違うところがあるとすれば、
ダイアログクラスの内部に書いており、
ヘッダのプロトタイプ宣言で、
UINT MyThreadProc(LPVOID pParam); とし、
cpp内では、
UINT MyClass::MyThreadProc(LPVOID pParam)
{
// 適当な処理
return 0;
}
とし、同クラスの他の関数内から、
AfxBeginTread(MyThreadProc, pObj);
としています。

113 :デフォルトの名無しさん:02/12/12 12:47
>>112
それって同じ名前のメンバー関数と、普通の関数があるってこと?


114 :デフォルトの名無しさん:02/12/12 12:48
>>112
ダメじゃん

115 :108:02/12/12 13:02
>>113 >>114
どのへんがいけないのか教えてください。

116 :108:02/12/12 13:07
ちなみに、AfxBeginTread で、引数を
MyClass::MyThreadProc としても同様にだめです。

117 :デフォルトの名無しさん:02/12/12 13:14
>>115
static 指定してください。

118 :デフォルトの名無しさん:02/12/12 13:19
>>115
>> それって同じ名前のメンバー関数と、普通の関数があるってこと?
> どのへんがいけないのか教えてください。

まず質問に返答しろよ。

119 :108:02/12/12 13:34
>>118
ダイアログクラス MyClass 内に、MyThreadProc という関数はありますが、
これはメンバ関数なので、普通の関数はないです。

>>117
static というのは、どの部分に指定すればいいのでしょうか?

120 :デフォルトの名無しさん:02/12/12 13:40
>>119
UINT MyClass::MyThreadProc(LPVOID pParam)

メンバ変数で↑こういう関数だと、実際は↓こういう関数になるんだよ。

UINT MyClass::MyThreadProc(MyClass *this, LPVOID pParam)

だから、クラスの外に外に関数を作るか、staticをつけるか。

static UINT MyClass::MyThreadProc(LPVOID pParam)


121 :デフォルトの名無しさん:02/12/12 13:41
UINT MyClass:MyThreadProc()
を作ってreinterpret_castしても動くだろう。
激しくお勧め出来ないが。

122 :------------------さん:02/12/12 13:50
既出っぽいかな。SDI形式で最初のウィンドウサイズを
指定することってできたっけ??
おしえてください。

123 :デフォルトの名無しさん:02/12/12 13:54
>>122
MFC使ってるか使ってないかで答えが違うんだが。

124 :------------------さん:02/12/12 14:27
>>123
MFCです。

125 :デフォルトの名無しさん:02/12/12 14:33
>>124
http://www.microsoft.com/japan/msdn/library/ja/vclib/html/_mfc_CWnd.3a3a.PreCreateWindow.asp?frame=true

CMainFrame::PreCreateWindow()かな?

126 :デフォルトの名無しさん:02/12/12 14:39
VC++ 6.0でMFCを使ってプログラミングしています。

ボタンが押された場合、そのボタンを使えないようにしたい
(VBだとEnabledをFalseにする)のですが、
MFCの場合はどのようにすれば良いのでしょうか。

おそらくCButtonクラスだと思うのですが・・・

127 :デフォルトの名無しさん:02/12/12 14:42
>>126
CButtonの親のCWndにあるEnableWindow()を使えばできるよ。

128 :126:02/12/12 15:05
>>127さん
ありがとうございます。

使えないようにはなっていると思うのですが、文字の色は反転してくれないようです。
これも指定しなくてはいけないのでしょうか?

(VBだと文字色が灰色になるあれです)

129 :デフォルトの名無しさん:02/12/12 15:13
親と言うかスーパークラス

130 :デフォルトの名無しさん:02/12/12 15:15
>>128
m_btn.EnableWindow(FALSE);

うちは、WinXPでVC6だけど、上のコードで灰色になるよ。

131 :126:02/12/12 15:21
>>130さん
間違えてました。
メインウィンドウをEnableWindowしていました(;´Д`)

やり直してみます。

132 :126:02/12/12 17:02
できました!ありがとうございました!!

133 :108:02/12/13 11:35
static 宣言をしたらできました。
ありがとうございました。
ちなみにMFCでやってました。
static とか extern とか、使いどころがいまいちよくわからず難しいです。

134 :デフォルトの名無しさん:02/12/13 12:15
VC++7ってどう?
もう移行しても大丈夫なのかな?ライブラリバグってない?


135 :デフォルトの名無しさん:02/12/13 12:24
C#でよさそうなもんだがなぁ。

136 :デフォルトの名無しさん:02/12/13 12:46
.NETならC#でもなんでも好きなのでよい。
.NETのもWin32APIだけのも作るならVC++7。
.NETはいらないがWindows95をサポートするならVC++6。

バグのないライブラリは無い。

137 :デフォルトの名無しさん:02/12/13 13:00
VC++でケプラーの運動方程式をとくプログラムの作り方がわかりません

138 :デフォルトの名無しさん:02/12/13 13:03
>>137
宿題は自分でしる!

139 :デフォルトの名無しさん:02/12/13 15:57
PostMessage(WM_MY_MESSAGE, 0, 0);
ポストメッセージを使って、2番目の引数を用いて、
"あいうえお" などの文字列を渡したいんですが、どうすればいいでしょうか?

140 :デフォルトの名無しさん:02/12/13 16:03
>>139
char *s = "abc";
SendMessage(WM_USER, (WPARAM)s, 0);

SendMessage()なら簡単なんだけど。

141 :デフォルトの名無しさん:02/12/13 16:13
Post〜で渡すのは難しいね。
メッセージが処理されるまで帰ってこないSend〜なら生存期間をあまり気にしなくていいけど、
処理を待たずに帰ってくるPost〜だといつ処理されるかわかんないから…

142 :デフォルトの名無しさん:02/12/13 16:18
>>139

char str = new char[20];
strcpy( str, "あいうえお" );

PostMessage(WM_MY_MESSAGE, (WPARAM)str, 0 );


メッセージを受けた側で
char* hoge = (char*)wParam;
・・・
delete [] hoge;

こんなんで、いいのかな?

143 ::02/12/13 16:19
× char str = new char[20];
○ char* str = new char[20];

144 :デフォルトの名無しさん:02/12/13 16:23
>>142
勝手に解放するのは激しくやめて欲しい

145 :デフォルトの名無しさん:02/12/13 16:25
どこが難しいのか問い詰める気がおきない。

146 :デフォルトの名無しさん:02/12/13 16:26
PostMessageで、メッセージだけ渡して、文字列はATOM系のAPIで渡すって手もあるな。
でも、めんどうだな。

147 :デフォルトの名無しさん:02/12/13 16:27
違うプロセスにアドレス渡しても、
データセグメントとか違って読めなかったりしないのかな。
この辺がすごい気になる。

148 :デフォルトの名無しさん:02/12/13 16:38
GlobalAllocすれば?

149 :デフォルトの名無しさん:02/12/13 16:41
>>141
SendMessage()に渡すHWNDが他プロセス・他スレッドの場合
SendMessage()は実質PostMessage()になると思うからSendMessage()って
書いてても気をつける必要がある

>>147
char* str = new char[20];
のように普通の場所からとってる場合は無理

>>139
どのような使い方をするのか書くべきだが >>145 が手本となるような
答えを書いてくれるのだろう

150 :デフォルトの名無しさん:02/12/13 16:45
http://digikei.kir.jp/

151 :デフォルトの名無しさん:02/12/13 16:52
>PostMessage(WM_MY_MESSAGE, 0, 0);

引数の数から考えてMFCで単純にCWndの派生クラス内の話だと仮定してみたわけだが


152 :デフォルトの名無しさん:02/12/13 16:55
派生クラス内かどうかがどのように関係してくるのか知りたいわけだが

153 :デフォルトの名無しさん:02/12/13 17:09
普通のMFCアプリはCWndの派生クラスでウィンドウを作るからただそう表現しただけで
つまりごく普通の一般的なウィンドウの話であってプロセス外云々の話ではないと言いたかっただけなわけだが

154 :デフォルトの名無しさん:02/12/13 17:10
>>148
GlobalAlloc() ってプロセス越えられるの?

155 :デフォルトの名無しさん:02/12/13 17:44
Win16の頃は本当にGlobalだったけど、今は超えられれない。

156 :デフォルトの名無しさん:02/12/13 17:46
だよねえ・・・すぐに思い付くのは CreateFileMapping() くらいしか

157 :デフォルトの名無しさん:02/12/13 18:43
MFCのダイアログクラスを使ったんだけど、
デストラクタを宣言したいんだけどわかりません。
どうしたらいいでしょうか?

158 :デフォルトの名無しさん:02/12/13 19:02
よく他のアプリをみると、
-------------
Time=15
Speed=300
Pause=10
-------------
という感じのテキスト形式のファイルを読み込んで
各パラメータの設定をするのをみますが、これを
やるために参考になる例ってどこかにあるんでしょうか?


159 :デフォルトの名無しさん:02/12/13 19:06
GetPrivateProfileString() 系統の

160 :158:02/12/13 19:14
>>159
おお、こんな関数あるんですね。ありがとうです。
ではMSDN読みます。


161 :デフォルトの名無しさん:02/12/13 19:31
>>157
MSDN見てください

162 :デフォルトの名無しさん:02/12/13 19:33
>>157
見当違いだったら悪いか、終了時に何か処理したいならWM_DESTROYをとらえるべし。

163 :157:02/12/13 23:15
>>162
クラスの終了時、
~ClassXXX
みたなデストラクタに終了処理をいれるはずなんだけど、
ダイアログクラスは、CDialog クラスを継承しているので、
いまいちどう宣言したらいいかわからないんです。

164 :デフォルトの名無しさん:02/12/14 02:52
>>147
違うプロセス間でもOKなWM_COPYDATAという割と便利そうな
メッセージがありますよ。

165 :158:02/12/14 08:34
>>159
どうもでした。以下の事が解って、ちゃんとできるようになりました!

INIファイル,GetProfileInt(),WriteProfileInt(),
CxxxApp::InitInstanceに追記してEXEと同じフォルダのiniファイルを使わせる


166 :デフォルトの名無しさん:02/12/14 09:13
>>153
なぜ CWnd からの派生だと同一プロセス内にあることになるのか問い詰めたい。

167 :デフォルトの名無しさん:02/12/14 12:17
申し訳ない・・・。
これの意味がどうしても解らない→「+=」(カッコは除く)。
教えてたもれ。

168 :デフォルトの名無しさん:02/12/14 12:18
>>167
a += 2;

a = a + 2;

169 :167:02/12/14 12:22
>>168
ありがとう。
しかもスレ違いだった。。。
申し訳ない。

170 :デフォルトの名無しさん:02/12/14 12:40
申し訳ない・・・
これの意味がどうしても解らない→SetWindowLong(hWnd , IDC_HINSTANCE , 12345);
教えてたもれ。

171 :デフォルトの名無しさん:02/12/14 12:54
(,,゚Д゚)∩先生質問よろしいですか?
for( ; memcmp( lpBuf,"FileName=",9 ) ; lpBuf++ );
と言うところでプログラムが落ちてしまいます。
どのように対処すればいいのでしょうか?

LPBYTE lpBuf
LPBYTElpFileBuffer = new BYTE[ dwFileSize ];
SetFilePointer( hFile,NULL,NULL,FILE_BEGIN );
ReadFile( hFile,&lpFileBuffer,sizeof( lpFileBuffer ),&ByteCount,NULL );
CloseHandle( hFile );
lpBuf = lpFileBuffer;

for( ; memcmp( lpBuf,"FileName=",9 ) ; lpBuf++ ); // ここで落ちる

172 :デフォルトの名無しさん:02/12/14 14:14
>>171
× ReadFile( hFile,&lpFileBuffer,sizeof( lpFileBuffer ),&ByteCount,NULL );
○ ReadFile( hFile, lpFileBuffer,dwFileSize,&ByteCount,NULL );

> LPBYTE lpFileBuffer
は配列じゃなくてポインタなのでそこでsizeofは無意味だ。

> for( ; memcmp( lpBuf,"FileName=",9 ) ; lpBuf++ ); // ここで落ちる
ついでに、もしファイル内に FileName= というのが無かったらそのまま突っ走って落ちるのでやめれ。

173 :デフォルトの名無しさん:02/12/14 14:45
>>172
ご指摘ありがとうございます。
sizeofには気が付いたのですが、&lpFileBufferの’&’のせいでした。
元々配列で準備してたのをnewで確保するようにしたとき消し忘れていたようです。
>ついでに、もしファイル内に FileName= というのが無かったらそのまま突っ走って落ちるのでやめれ。
独自仕様のファイルなのでそれはないのですが、
for( DWORD i = 0 ; i < dwFileSize ; i++,lpBuf++ )
{
if( !memcmp( lpBuf,"FileName=",9 ) break;
}
の様にした方がいいですか?

174 :172:02/12/14 15:26
std::search を使うか、
せめて for( long i = 0 ; i < (long)dwFileSize-9 ; i++,lpBuf++ )
をオススメしたい。

> の様にした方がいいですか?
と俺は思う。仮に不測の事態が発生してそのファイルが壊れてたみたいな場合まで想定して
チェックしておけば、その時にページ違反で落ちるのでなくて、「かくかくしかじかな理由で
エラーとなりました」的な表示をして強制終了、くらいにはできる。
その方があとあと問題が起きたときに発見しやすいので。

175 :171:02/12/14 17:47
MSDNでsearchを調べたのですが、いまいちわからなかったので
>せめて for( long i = 0 ; i < (long)dwFileSize-9 ; i++,lpBuf++ )
>をオススメしたい。
こちらを使わせて頂こうと思います。
ありがとうございました。

176 :デフォルトの名無しさん:02/12/14 17:56
>>166
CWndの派生クラスでPostMessage(WM_MY_MESSAGE, 0, 0);
とやればそれはthis->PostMessage(WM_MY_MESSAGE, 0, 0); を意味するからじゃん?

177 :デフォルトの名無しさん:02/12/14 18:11
CRichEditCtrlの現在の行間(pixel単位)の取得の仕方教えてくんなまし。

178 :デフォルトの名無しさん:02/12/14 19:26
>>176
CWnd::FromHandle(hWnd)->PostMessage(WM_MY_MESSAGE, 0, 0);
っていうのも考えらなくもない。

ま、どこにメッセージを投げるのか >>139 が書いていないのに、訳知り顔で
他プロセス云々いうのはどうかと思った。

179 :デフォルトの名無しさん:02/12/14 19:48
>>178
>>139はCWnd::FromHandle(hWnd)->はなくてPostMessage(WM_MY_MESSAGE, 0, 0); しか
書いてないわけだからthis->と仮定するのが自然だと思うんだけどなぁ。
まぁ本人が>>139以降登場してないからどうでもいいっちゃどうでもいいんだけど。

180 :デフォルトの名無しさん:02/12/14 20:20
>>175
VC5/6使用の場合
search ではなく
serch  で検索しる
外してたらすまそ

181 :デフォルトの名無しさん:02/12/14 20:43
>>180
単にVC++6.0付属のMSDNライブラリ中のSTLアルゴリズムの解説がわかりにくいだけじゃないか?
あれ、動作の解説としては正しいんだろうが、なにがやりたいのかは……

182 :180:02/12/14 21:24
そかSTLの話だったな
すまそ

183 :180:02/12/14 21:26
しかもserchではなくbserchだったか(欝山車能

184 :デフォルトの名無しさん:02/12/15 03:07
MSDN の C++ リファレンスは、C リファレンスと同じ人に書き直して欲しい・・・。

185 :デフォルトの名無しさん:02/12/15 16:02
Visual C++.NETって
Window2000のService Pack3じゃ正常に動作しないんですか?


186 :デフォルトの名無しさん:02/12/15 17:16
動いてるってコトは俺のVC++.netは偽者だったのか…

187 :デフォルトの名無しさん:02/12/15 18:01
SDI環境で作業したいのですが
強制的にでも設定する方法はありませんか?

188 :デフォルトの名無しさん:02/12/15 18:06
>>187
ウインドウ全部分離させたら?(w

SDIなんて使いにくいだけだっつーの。
ほとんどが最初っからMDIかMDIに切り替えてるだろ。

189 :デフォルトの名無しさん:02/12/15 19:30
プログラム言語を何も知らないのですが、C++の入門書みたいなもので
いいのはないでしょうか?よくある本は「C言語を少し知っている人向け」みたいなのが多いです。
通販で購入しようと思っています。

最終的にはDirectXを使えるようになりたいです。

190 :毛の生えたブリーフ:02/12/15 20:44
高橋麻奈「やさしいC++」(ソフトバンク)

誤植がありますので以下を参照してください。
http://www.bekkoame.ne.jp/~manachan/

C++は広大な言語仕様ですが、この本程度の知識があればたぶんDirectXを
使いこなせると思います。分かりやすいし、コンパクトな本だからいつでも
どこでも持ち運んで勉強できます。おすすめです。


191 :デフォルトの名無しさん:02/12/15 20:46
宣伝は話半分に聞いておきましょう。

192 :デフォルトの名無しさん:02/12/15 20:58
>>190
なんだか良さげですがVisualC++でOKですよね?
C++としか、かいていませんが。

193 :デフォルトの名無しさん:02/12/15 21:04
>>192
失礼しますた。
ttp://bookweb.kinokuniya.co.jp/imgdata/large/4797311843.jpg
を見たらVisualC++対応と書いてますた。
今から買います。ありがとうございますた。

194 :忘れた……:02/12/15 21:35
#include <vector>
class honya
{
 public:
  honya();
  virtual ~honya();
 protected:
  vector < int > m_intlist;
};

VC++6.0ですけど。とやっても”構文エラー : ';' が '<' の前に必要です。”
とかでるんですけど、何故でしたっけ??

195 :忘れた……:02/12/15 21:36

vectorの行で出ます。

196 :デフォルトの名無しさん:02/12/15 21:47
>>194
#include <vector>
これじゃないの?エラーの原因。
何かこれを見る限りじゃ他にもあやしい所は歩けど。

197 :デフォルトの名無しさん:02/12/15 21:52
>>196
怪しさ大爆発だろ。
ネームスペースが明らかにおかしい。
using namespace std;
とするか、
std::vector<int>とすべき。

198 :忘れた……:02/12/15 21:54
あ、ネームスペースでしたか。。スマソ

199 :デフォルトの名無しさん:02/12/16 00:20
Visual C++.NETインストールして立ち上げたら、
Alert!っていう警戒ダイアログが出まくるんだけど何で?

あと、立ち上げるとノートンにも引っかかるんだがそれもなぜだかわからん・・。
どなたか、なぜなのかご存知の人いません?

200 :デフォルトの名無しさん:02/12/16 04:08
ゴルァ!windows.h!なんだこれは!

#define small char

小一時間ハマったじゃねーか!!!!!
いくらなんでもこれはないだろう・・・

201 :デフォルトの名無しさん:02/12/16 09:37
>>200
[F12]知らんのか?

202 :デフォルトの名無しさん:02/12/16 10:59
F12知っててもこういう普通に使う単語が登録されてるとわかりにくいやね。

203 :デフォルトの名無しさん:02/12/16 12:32
おすえて。

CFileで、
Createでは開くんだけど、アペンドオープン出来ない。
フラグがわかんねぇっす。
CFile::modeNoTruncate|CFile::modeReadWrite 
でいけるかと思ったけど、ダメだった。
賢いヒトおすえて。

204 :デフォルトの名無しさん:02/12/16 12:53
>>203
その方法で Open して SeekToEnd() じゃない?

205 :203:02/12/16 13:05
>>204
おおっ!!
いけたぁ。ありがとう。
そっかぁ、アペンドオープンなら、
ファイルポインタはファイルエンドになると思ってたよ。
どうも、Cの癖が抜け切れてないな。

マジで助かりました、ありがとう。

206 :------------------さん:02/12/16 16:23
MFCです。「プリントアウト」について質問なんですが、
SDIならばフォントサイズを訂正してやればもうすぐ印刷できるのですが、
CFormView(SDIのなかにコントロールボタンやPICTがあるやつ)
の場合で例えばPICT1を印刷したい場合どうすればいいのでしょうか。

207 :デフォルトの名無しさん:02/12/16 16:26
>>206
OnPrintで頑張れ

208 :デフォルトの名無しさん:02/12/16 16:38
どどどどどどないやねん!w

209 :デフォルトの名無しさん:02/12/16 18:49
どどどどど童貞ちゃうわ!

210 :デフォルトの名無しさん:02/12/16 21:38
どどどどどどうだかな(藁

211 :デフォルトの名無しさん:02/12/17 10:24
いや、まじで教えてくれw。
どうやってプリントアウトするんだ?

212 :デフォルトの名無しさん:02/12/17 10:47
で、童貞なのか?

213 :デフォルトの名無しさん:02/12/17 14:02
質問変えます。
SDI形式の場合OnDraw関数の中身を印刷しますよね。
こてをあとから追加してメニューバーを押すとなにか表示ってのつくたんだけど
そのOnDrawXyz()ってのがあるとします。この中身を印刷するには
どうしたらいいのですか?ちょっと緊急でおながいします。ちなみに童貞じゃないですはい。

214 :デフォルトの名無しさん:02/12/17 14:04
画面表示は何もかも全て OnDraw にまとめろ>>213

それ以外の部分では何をどう描くかだけ覚えておいて、
実際の描画は OnDraw で行う、というのが普通。

215 :デフォルトの名無しさん:02/12/17 15:22
バカですいません。やはり見た目的にかっこいい先に書いた
CFormViewの方の印刷方法がしりたいです。
PICT1のなかにかかれたものを印刷するには・・

216 :デフォルトの名無しさん:02/12/17 15:58
質問;
初歩中の初歩ですいません。SDI形式のドキュメントクラス
の「ファイル保存」でたとえばプログラム内で計算したA
という数値データを保存したいのですが、ファイル保存って
どうやってやるのですぁ?

217 :デフォルトの名無しさん:02/12/17 15:59
>>216
C++スレ逝きのヨカーン

218 :デフォルトの名無しさん:02/12/17 18:38
質問するスレ変えるので>>216は忘れてください。削除

219 :デフォルトの名無しさん:02/12/17 18:42
>SDI形式のドキュメントクラス
この部分からしてCArchiveの使い方を質問してるのだろうから
ここかMFCスレで良いと思ったが、結局クラスの使い方だから
MSDNライブラリ読めと言われる罠。

220 :アマグラマー:02/12/18 00:10
VC6 使いの皆さんいらっしゃいますか?
VC.NET framework 入れるかどうか迷っているので、
皆さんの意見を聞かせてください。



221 :デフォルトの名無しさん:02/12/18 00:14
>>220
>VC.NET framework
VC++.NETと.NET Frameworkをつなげちゃったわけか・・・

222 :デフォルトの名無しさん:02/12/18 18:59
SDIで、CSplitterWndで複数のViewを持たせてます。ActiveなViewをボーダーで囲むなどして強調表示したいんですが、どうしたら良いでしょうか?

223 :デフォルトの名無しさん:02/12/18 19:06
>>222
OnDrawでフォーカスがある場合に枠線を書く。

224 :デフォルトの名無しさん:02/12/18 19:16
>>222
OnActivateViewで
if(bActivate){
ModifyStyle(0, WS_BORDER, SWP_FRAMECHANGED);
}else{
ModifyStyle(WS_BORDER, 0, SWP_FRAMECHANGED);
}
な感じ。

225 :デフォルトの名無しさん:02/12/18 19:19
>>224ばっちりできました。アリガト!>>223ごめん。ListViewやら使ってるんで、OnDrawのなかでは描画できないのであった。でも、サンクス。

226 :157:02/12/19 12:49
自己レスですがダイアログクラスでのデストラクタの宣言方法がわかりました。
public: に、
virtual ~MyClass();
と宣言して、
MyClass::~MyClass(){}
に処理を記述する。
ところで、virtual っていうのはいったいなんなんでしょうか?

227 :デフォルトの名無しさん:02/12/19 13:02
仮想関数を知らんのか?

228 :デフォルトの名無しさん:02/12/19 13:46
仮想関数と火葬関数の違いは。

229 :デフォルトの名無しさん:02/12/19 14:09
>>215
どーもこーも、日本語が分かりづらい。
CStaticのメンバにGetBitmap()ってのがあるから、
それをOnPrintで渡ってきてるCDCでBltBltかませるようにすればいいんじゃない?
簡略して書けば、
CDC memDC;
memDC.CreateCompatibleDC( pDC );
memDC.SelectObject( m_wndPict.GetBitmap() );
pDC->BitBlt( 省略, &memDC, 省略 );
リソースリークとかオラしらねってコードだが。

230 :デフォルトの名無しさん:02/12/20 12:21
>>228
Destructor と、DeathTructorみたいなもの。

231 :226:02/12/21 01:35
>>227
よくわかりませんが、つけるのが作法ってことでいいでしょうか。

232 :デフォルトの名無しさん:02/12/21 01:42
MFCの前に最低限C++の入門書を読んでおいた方が良いと

233 :デフォルトの名無しさん:02/12/21 13:44
MFCとかATLのソースみると、
ASSERT使ってるみたいだけど
これってRelease環境では実行されてないと思うんだけど
内部エラー検出にはASSERT使って、
入力したデータのチェックには例外使って欲しい...。

234 :デフォルトの名無しさん:02/12/21 13:47
#include <plot10.h>

ってしたんですが、インクルードファイルplot10.hを開けません。そんなファイルはないですよ。
ってエラーになったんですが、このファイルだけ追加とかできますか?

235 :デフォルトの名無しさん:02/12/21 14:05
>>234
そのファイル(ライブラリ)の出所が分からないと、なんとも。

236 :デフォルトの名無しさん:02/12/21 14:35
>内部エラー検出にはASSERT使って、
>入力したデータのチェックには例外使って欲しい...。
ASSERT は例外投げてなかったっけ

>>234
"plot10.h" でないの?(テキトウレス)

237 :234:02/12/21 14:41
>>235
出所とは?

>>236
意味が分かりません。

238 :デフォルトの名無しさん:02/12/21 14:49
>>237
>出所とは?

ああ、かんちがいだった。

プロジェクトの設定で、インクルードパスが設定できるよ。

もしくは、そのヘッダーファイルをインクルードしてるファイルと同じディレクトリにおいて
#include "plot10.h"
と書き換えるか。

239 :デフォルトの名無しさん:02/12/22 16:37
VC++6.0Pro + WinXPで、CStringArrayクラスの配列に、
1件数文字程度の文字列を10万件格納。
これをクイックソート用の関数で五十音順に並べ替えるとき、
同一文字列の数が一定数以上だとスタックオーバーフローが起きる。
10万件中、同一の文字列が数百件程度なら大丈夫だけど、
数千件単位になると急に怒られる。
同一文字列がない、あるいは100件程度なら20万件扱っても平気っぽいのに。

オーバーフローが起きるタイミングは、
クイックソートで「キー」にするための文字列を配列から取得しようとしたとき。
数百〜数千回ほど再帰呼び出しを繰り返して、そこそこ階層が深くなったところで起きる。

240 :デフォルトの名無しさん:02/12/22 17:10
>>239
ふーん、で、それがどうかしたのか ?

241 :デフォルトの名無しさん:02/12/22 17:22
>>239
当たり前ということに書いてて気付かないのだろうか。

242 :239:02/12/22 17:45
>>241
回答ありがとう。
ごめん、わからん。
何が当たり前でどうダメなのか教えてもらえると助かるよ。

243 :241じゃないけど:02/12/22 18:35
「スタック使いすぎちゃってオーバーフローが起きました。」
「じゃあスタック大きくすれば。」

とか、そんな話?

244 :デフォルトの名無しさん:02/12/23 00:36
再帰使えばそうなる罠

245 :デフォルトの名無しさん:02/12/23 10:02
最近の容量という概念がわかっていないパソ初心者のようなものか

246 :239:02/12/23 10:15
>>243
すまぬ、言葉足らずの質問だった。
うん、スタックを大きめに設定すれば解決はするのだけれど、
原因がわからないのがすっきりしない。
クイックソートって、比較結果が同じ値を扱うときは計算量が増える?
たとえば同じ256個の数値をソートするにしても、
1〜256まで全ての値があるのと10〜250までの10の倍数があるのとでは、
後者の方が手順が増えるものなのかな。

もうVCの話題じゃないな。

247 :デフォルトの名無しさん:02/12/23 12:25
関数がどのように呼び出されるのかを勉強すれ。

248 :デフォルトの名無しさん:02/12/23 12:26
>>246
同じ値がたくさんあると増えるだろね。
後半は意味が判らん。10〜250まで10の倍数は25コじゃないのか?

まー、とにかくクイックソートのアルゴリズム知らないなら勉強汁。
スレ違いなのでききたきゃ移動汁。


249 :デフォルトの名無しさん:02/12/23 12:32
>>231
たとえば、Aというクラスがあって、そこから派生したBという
クラスがあるとするわな。それで、

B *pB = new B;
A *pA = (A *)pB;
delete pA;

なんつーことをする時に、Bのデストラクタが仮想関数になって
いないと、delete時にクラスBのデストラクタが呼ばれない。Bの中で
メモリをアロケートしてたりすると、そこでリークしてしまう罠。
全然VC++の話じゃないが、まぁそういうことだ。デストラクタは
virtual指定しておくべし。

250 :デフォルトの名無しさん:02/12/23 19:23
VC++.netってVC++6にあった
最近使ったファイルと最近使ったワークスペースは無くなっちゃったんですか?

251 :デフォルトの名無しさん:02/12/23 21:59
「最近使ったファイル」は無くてもいいが、
「最近使ったワークスペース」は残して欲しい。

252 :デフォルトの名無しさん:02/12/23 22:18
>>251
そだね。でもnet持ってないからいーや。

253 :デフォルトの名無しさん:02/12/23 23:55
>>249
231じゃないが、仮想デストラクタの意味がはじめて分かった気がした。
ありがとん

254 :デフォルトの名無しさん:02/12/26 17:32
ここでいいのか悩んだんですが・・・。 心優しい方の叱咤を期待して。

VCではき出した実行ファイルを色々な環境にもっていって動作させ、
その中のfloatやdoubleの計算結果がOSやCPUで違う、なんてことは
あり得るのでしょうか。 DirectXのマトリクス演算等は使用せず、
数学関数のみ使っています。 やっているのは、弾道計算のようなものです。

P3, AthlonXP, Celeron で違うようなんです・・・ 微妙に・・・

何かヒントでもいただければと思います。 どうか、よろしくお願いします。

255 :デフォルトの名無しさん:02/12/26 18:11
「ある」 としか言いようがないが・・・。
epsilon でもかませればある程度和らぐとか。

256 :デフォルトの名無しさん:02/12/26 18:29
>>255
え?どういう理由で結果が違ってくるの?OSによって、x86系のFPUの
仮数部の精度の指定が違うとか?

257 :デフォルトの名無しさん:02/12/26 19:11
CPU によって違う。
精度の問題ではなく、同一の回路を作ることができない。
それぞれの CPU の回路は企業秘密で、完全にそっくりに作ることができない。

という事が予想できるが、P3 と Celeron で違うのはどういうことかナー?

OS 依存の数値演算ライブラリを使用していなければ、OS は関係ない。

258 :デフォルトの名無しさん:02/12/26 21:01
OSごとの違いと言えば、こういう話もあるわけだが。
ttp://www.jp.freebsd.org/QandA/HTML/587.html

259 :デフォルトの名無しさん:02/12/26 21:01
>>257
それ、本気で書いてるの?インプリメントが違っても、異なる
計算結果になんかなるわけないでしょう。なるとしたらそれはバグ。

> OS依存の数値演算ライブラリを使用していなければ、OSは関係ない。

あのね、x86のFPUは仮数部の精度を24/53/64bitのどれかに
設定できるの。たとえば、FreeBSDではデフォルトで53bitに
なってるために、long double(64bit)で充分な精度が得られな
かったりするんだが。

>254
何らかのバグがいるんじゃないの?

260 :254:02/12/26 21:26
ふむ。 難しいですね・・・。
DirectXは使っていないと書きましたが、他の部分では使っているので、
もしかしたら影響を受けているのかも知れませんね。

FPUの仮数部精度をC/C++からせっていしてやることはできるのでしょうか。
DirectXのデバイス生成の時にどうこう、って話をどこかで見たような気が
するのですが・・・


261 :デフォルトの名無しさん:02/12/26 21:48
>>260
MSDN眺めてたら _control87、_controlfp なんかがあった。あと

Microsoft ランタイム ライブラリは数値演算コプロセッサ (またはエミュレータ)
のデフォルトの内部精度を 64 ビットに設定します。このデフォルトは、計算の
中間結果が実行される時の内部精度にのみ適用され、引数、戻り値、変数のサイズ
には適用されません。プログラムを LIB/FP10.OBJ とリンクすることでこのデフォ
ルトをオーバーライドし、チップ (またはエミュレータ) の精度を 80 ビットに
戻すことができます。FP10.OBJ は、リンカのコマンドラインで LIBC.LIB、
LIBCMT.LIB、および MSVCRT.LIB より前に指定する必要があります。

なんて記述もある。よーわからんけど。

262 :254:02/12/26 21:59
>261
ありがとうございます!

あとは、CreateDeviceの時にD3DCREATE_FPU_PRESERVE ですかね。
色々試してみます。 ありがとうございます>ALL

263 :デフォルトの名無しさん:02/12/26 22:00
X-Yプロッタ・ルーチン使いたいんですが、

"plotc.exe"は内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチファイルとして認識されていません。

となってしまい、うまくできません。
解決法をどなたか教えていただけないでしょうか?
plot10.hなんて最近使わないんでしょうか…?

264 :デフォルトの名無しさん:02/12/26 22:33
>>263
1. plotc.exeにパスが通ってない。
2. 何か根本的なことを間違えている。

つーか、ヘッダーファイルをインクルードする場合普通はDllかLibがあると
思われ。

265 :263:02/12/26 23:27
>>264
レスありがとうございます。

うちのVisualC++ではxyプロットルーチンが使えなかったんで、
plot10.hとplotc2f.libを各々フォルダに入れてやってみたんです。
しかし、うまくグラフが出ない。ってことは.dllが足りないと言うことでしょうか?


266 :デフォルトの名無しさん:02/12/26 23:52
Visual C++6.0プログラミング―MFCによるWindowsプログラミングの基本と実践からATLによる技法まで Programmer’s PAGE
http://page3.auctions.yahoo.co.jp/jp/auction/c28302205
6.0だけどいいんじゃない?

267 :デフォルトの名無しさん:02/12/26 23:56
char* の数値を intにキャストしたいのですが、どうしたらよいのですか?

268 :デフォルトの名無しさん:02/12/27 00:03
>>267
どうしたらよいって何?
ソース書けってこと?

269 :デフォルトの名無しさん:02/12/27 00:05
>>267

char* pchar;

・・・

(int)pchar;

270 :デフォルトの名無しさん:02/12/27 00:16
「char*の数値」ってポインターアドレスを指しているのか
charの実体を指しているのかわかりづらい表現だな。

271 :デフォルトの名無しさん:02/12/27 00:21
char* hoge1="10";
char* hoge2="20";

int res = (int)hoge2 - (int)hoge1;

で差を求めたいんです

272 :デフォルトの名無しさん:02/12/27 00:25
>>271
「atoi」っていうかスレ違い。

273 :デフォルトの名無しさん:02/12/27 00:41
>>271
これじゃあポインタの差を取ってないか?

274 :デフォルトの名無しさん:02/12/27 00:42
値の差を取りたいのですが・・

275 :デフォルトの名無しさん:02/12/27 00:44
int res = atoi(hoge2) - atoi(hoge1)

276 :デフォルトの名無しさん:02/12/27 00:44
ポインタの値
文字コードの値
数値の値
この3つを明確に区別してね

277 :デフォルトの名無しさん:02/12/27 00:48
メッセージボックスでその値を表示しても表示されないのですが・・

MessageBox(hwnd,(LPCSTR)res,(LPCSTR)"差分",MB_OKCANCEL);

278 :デフォルトの名無しさん:02/12/27 00:51
そりゃ表示されんわな

279 :デフォルトの名無しさん:02/12/27 00:52
がーん

280 :デフォルトの名無しさん:02/12/27 00:58
>>279
>>276 を3度嫁

281 :デフォルトの名無しさん:02/12/27 01:00
じゃあsprintfを投入しる!
使い方は自分で調べるぁ

282 :どうよ?:02/12/27 01:00
>>277
char s[80];
wsprintf(s,"res = %d",res);
MessageBox(NULL,s,"差分",MB_OK);

283 :デフォルトの名無しさん:02/12/27 02:30
>char s[80];
なんで 80にしたのか、すげー気になる

284 :山椒:02/12/27 03:07
唐突な話で恐縮なんですが、もしご存知の方がいらっしゃったら
教えて下さいです。(低姿勢)
例えば、あるWebページにActiveX(COM)を埋め込んだとします。
で、そこで公開しているなんらかのメソッド(あるいはプロパティ)に
「JavaScriptで作成したオブジェクト」を引数として渡したとします。
この時、ActiveX側からこの参照(型はたぶんVARIANT)を通じて、
「JavaScriptで作成したオブジェクトのメソッド」を呼び出す事は可能
でしょうか。

285 :山椒:02/12/27 03:10
ちなみに、「JavaScriptで作成したオブジェクト」ってのは、以下のような物を指します。

// 例
function CFoo() {
this.privateArg = null;
this.setMethod = function(a) {
this.privateArg = a;
};
this.getMethod = function() {
return this.privateArg;
};
}


286 :デフォルトの名無しさん:02/12/27 03:13
>(低姿勢)
激しくむかつくんだが。。。

287 :山椒:02/12/27 03:17
で、埋め込んだActiveX(COM)のメソに...

// これはJavaScript側
var oFoo = new CFoo();
{COMのインスタンス}.SetSomeMethod(oFoo);

こんな感じで参照を渡す。
...ちなみになんでこんな事してるかと言うと、要するにDHTMLとして
Webページ上に書かれたなんらかのパーツを処理する部分がJavaScriptで大量にあり、
それを、別の処理を行うCOMから連動させて制御したいという事なんです。
厳しいスかね。

288 :山椒:02/12/27 03:19
>>286
>激しくむかつくんだが。。。

...すんませーん、特に意味は無いです。申し訳無い。

289 :デフォルトの名無しさん:02/12/27 03:20





















っで?

290 :これって:02/12/27 03:24
WebProgネタじゃねぇの??とも思ったけど、たぶんWebProgでは、
扱って無い系の話かもしれないようなそうでもないようなっていうか
users.gr.jpにでも行った方がいいのでは?

291 :デフォルトの名無しさん:02/12/27 03:41
>>282
_itoaじゃ駄目か?

292 :デフォルトの名無しさん:02/12/27 04:26
IEコンポーネントのJavaScriptを呼ぶ方法はあるが、ちょっと違うな…。
ttp://www.codeguru.com/ieprogram/JSCalls.html


293 :デフォルトの名無しさん:02/12/27 05:03
>>291
可搬性が低い。
wsprinftも低いが。
sprinft使え。

294 :山椒:02/12/27 05:04
>>292
こんな時間にレスありがとうございます。

そうなんですよね。「IEのコンポーネントなら」コントロールできるんですよね。
でも今の悩みは、「JavaScriptで作成された独自オブジェクト」内を
操作できるか、って事なんです。

COM側から、この参照は「(JavaScriptの)Objectを継承して作られたCFoo」の「インスタンスのポインタ」
って事を理解し、そのメソッド(あるいはメンバ全て)にアクセス(vtableに対するポインタのポインタみたいに)
できるのか、って事なんです。

..やっぱ無理かなぁ..。つーか、インタプリタの作成したオブジェクトって時点ですでに
「逝ってよし」なんでしょうか...。

295 :デフォルトの名無しさん:02/12/27 10:12
>>263
そもそも、そのplot.exeだのplot10.hって何だよ。それのマニュアル
をちゃんと読んだのか?どうもVC++と何の関係も無い質問をする冬厨が
増えてるようだな。

296 :デフォルトの名無しさん:02/12/27 11:37
>>295
まぁ仕方ない。冬だから。

297 :デフォルトの名無しさん:02/12/27 12:48
>>294
JavaScriptのオブジェクトって、IDispatch (正確には IDispatchEx)
インターフェースを公開してるから、CComDispatchDriverでラップ
してInvokeすればいいんじゃない?


298 :デフォルトの名無しさん:02/12/27 14:13
BMPを読み込もうとしたんですがgraph.hがわからないとか言われました。

VC++ではBMPを読み込めないのでしょうか?

299 :デフォルトの名無しさん:02/12/27 14:31
読めますよ

300 :デフォルトの名無しさん:02/12/27 14:45
>>298
問題はどんな形でBMPを読ませようとしているかだな。

301 :デフォルトの名無しさん:02/12/27 16:15
Windowsのプログラムのソースって、何十行もあるけど
あれは覚えないといけませんか

302 :301:02/12/27 16:18
スケルトンのことです。

303 :デフォルトの名無しさん:02/12/27 16:19
>>301
暗唱してください。
コピペなんてプログラマの風上にも置けません。

304 :デフォルトの名無しさん:02/12/27 16:27
コピペというかWizardが作ってくれますた。

305 :301:02/12/27 16:42
どうやって覚えますか

306 :301:02/12/27 16:51
やっぱりひたすら打つしかないか

307 :デフォルトの名無しさん:02/12/27 17:09
int MessageBox(HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT uType);

こいつの第四引数 MB_OKCANCELなどで使いたい時、
[OK][キャンセル] ではなくて、[OK][Cancel]にすることってできますか?

308 :デフォルトの名無しさん:02/12/27 17:10
>306
左脇えぐりこむようにな

309 :デフォルトの名無しさん:02/12/27 17:12
>>307
caption書き換えるだけでいいだろ?
なんで関数まで持ち出す必要あるんだ?

310 :307:02/12/27 17:16
>>309
すみません、どこで書き換えるのかわかりません。
そんなに簡単なんですか。じゃもう少し自分で調べます。
関数を全部書いたのは、MessageBoxにもいくつかあるかな、
と思ったからです。

311 :301:02/12/27 17:17
あぁ…やっぱりだめだ。
全然覚えることができない。
だいたいCALLBACKってなんだよ!Instanceってなんだよ!
UINTってなんだよ!Whndってなんだよ!
新しい言葉ばっかりで意味不明だ…
どの本を読んでも意味を理解しようとするなって書いてあるし。
理解できないと覚えれるわけがないじゃないか!!

312 :297:02/12/27 17:18
>>294
CHogeObject::SetSomeMethod( IDispatch* pDisp)
{
CComDispatchDriver jsObj(pDisp);

CComVariant varRet;
jsObj.Invoke0( L"getMethod", &varRet);

// privateArg が string とすると。
varRet.ChangeType(VT_BSTR);
CComBSTR arg = V_BSTR(&varRet);
}

こんな感じで出来ると思う。

313 :デフォルトの名無しさん:02/12/27 17:22
初心者スレもMFCスレもWin32APIスレもCOMスレも内包するこのスレは最強だな

314 :デフォルトの名無しさん:02/12/27 17:27
ウインドウのスケルトンのソース教えてください

315 :デフォルトの名無しさん:02/12/27 17:30
>>311
意味が分からないのは、覚える覚えない以前の問題。

316 :デフォルトの名無しさん:02/12/27 17:31
>>310
MessageBoxEx の wLanguageId を指定すればいけるんじゃ?

...と思ったらダメぽだったよ。

317 :307:02/12/27 17:33
>316
はい、俺も今やったけどダメでした・・・

318 :デフォルトの名無しさん:02/12/27 17:33
>>315
だって意味がわからないんだもん

319 :デフォルトの名無しさん:02/12/27 17:35
ペゾルド本読み

320 :デフォルトの名無しさん:02/12/27 17:38
>>310
目的のコントロール(この場合ボタン)を右クリックしてメニューを出して、
プロパティをクリックすれ。
キャプションっていうのがあるからそこ書き換える。
…初心本すら読んでないのかよまったく。

321 :デフォルトの名無しさん:02/12/27 18:13
>>311
まず猫にでも行ってこい!

322 :デフォルトの名無しさん:02/12/27 18:18
>>309 >>320
??MessageBoxですよ? むしろ MessageBoxを自作しろということかな?

323 :デフォルトの名無しさん:02/12/27 18:21
>>322
自作すれ。

324 :デフォルトの名無しさん:02/12/27 18:41
ダイアログの中のピクチャボックス(256×256)の左上の座標を(0,0)
に設定したいです。ピクチャボックスを動かしても(0,0)にしたいです。
どうすればよいでしょうか?
BOOL CAboutDlg::OnInitDialog()
{
CDialog::OnInitDialog();

MoveWindow(IDC_FIGURE, 0, 0, 256, 256);

TODO: return TRUE;
}
ここまでできたんですが、まだ座標がさだまりません



325 :デフォルトの名無しさん:02/12/27 19:02
#include <graph.h>

を打ち込んでもコンパイルできません。
どこから拾ってくれば良いのでしょうか?

326 :デフォルトの名無しさん:02/12/27 19:13
>>322
つーかなんで、[OK][Cancel]にしたいのよ?

327 :322:02/12/27 19:18
>>326 あ、俺は >>307=310 じゃないよ

328 :デフォルトの名無しさん:02/12/27 19:38
メディアプレーヤーを指定した時間に再生できるように設定するコードを書きたいのですがVCでできますか?
よろしくお願いします。

329 :デフォルトの名無しさん:02/12/27 19:45
>>325
マルチうざい

>>328
タイマつかって1分ごとに時間をチェック→ShellExecuteとか。

330 :デフォルトの名無しさん:02/12/27 19:53
ダイアログの中のピクチャボックス(256×256)の左上の座標を(0,0)
に設定したいです。ピクチャボックスを動かしても(0,0)のままになるようにしたいです。
どうすればよいでしょうか?頼みますから教えてください・・


331 :デフォルトの名無しさん:02/12/27 20:17
>>327
あ、そうなの。まぁどうでも良いけど。

332 :デフォルトの名無しさん:02/12/27 20:27
MSからデバッグシンボルというものをダウンロードしてインストールしたんですが、
(kernel32.dbgとかがある)

これで、VCのコールスタックとかにシンボル情報が出てくれないんでしょうか?
なんかよくわかってませんが、おねがいします。

VC6 Win2000

333 :デフォルトの名無しさん:02/12/27 21:41
>>330
左上の座標を(0,0)っていうのはダイアログの左上隅に配置したい
ていうこと?


334 :デフォルトの名無しさん:02/12/27 21:47
RPGを作ろうとしてます。
画面表示などは解るのですが、スクリプト部分がわかりません。
どなたか教えてくださいませんでしょうか

335 :332:02/12/27 21:50
COFFのエクスポートでできました。ヽ(´ー`)ノ

336 :デフォルトの名無しさん:02/12/27 22:06
>>334
何を教えるの?
全部?

337 :デフォルトの名無しさん:02/12/27 22:21
VCのDAOとACCESSでデータベース検索プログラム作ってるんだけど
ACCESSの特定のカラムを抜き出そうとしたとき
「このコレクションには項目がありません。」って言われました。
コンパイルは通るんですが実際に検索はできません。
これってどういうことでしょう?


338 :デフォルトの名無しさん:02/12/27 22:21
SDKって最新版をDLしてインスコした方がいいの?


339 :山椒:02/12/27 23:43
>>297 319
遅レスですいません、ありがとうございます!!
へー、JavaScriptで作成されたオブジェクトって、IDispatch持ってたんですか。
ていうか、CComDispatchDriver でラップできるような(要するにCOM部品な)
ヤツだったんですね。

早速試してみます。ありがとうございました。


340 :デフォルトの名無しさん:02/12/28 06:06
リソースエディタで作ったダイアログのソースをVC++上でみることはできないのでしょうか?

341 :デフォルトの名無しさん:02/12/28 06:39
多分できないけど、そんな必要があるの?
外部のテキストエディタで見ればいいのに。

342 :デフォルトの名無しさん:02/12/28 07:05
AppWizard -> MFC AppWizard(exe)
で生成されるものに手を加えずにコンパイルしても・・・

fatal error c1083: プリコンパイル済ヘッダーファイルがオープンできません。
'Debug/test.pch': No such file or directory
cl.exe の実行エラー

このエラー自分なりに調べたけどどうにもなりません。
ファイルの読み専属性とか環境変数とか、
特に変更もしてないし・・・
どなたかご教授下さい

Visual Studio 6.0 Enterprise VC++ 6.0
Win2000 Server + SP3 + Pre-SP4

343 :デフォルトの名無しさん:02/12/28 07:15
>>341
いや見れるぞ
修正も出来る
開いてるとちゃんと再読込もかかる

344 :デフォルトの名無しさん:02/12/28 11:17
OSをWin98からWinXPに変更したのですが、
システムリソースとう概念がなくなり(?)1ユザーとしては大変有難いのですが
開発者としてはWin98対応の為のリソースリークのチェックができなくなりました。

そこで質問ですがWinXP上でアプリのシステムリソースのチェックをするという事は可能でしょうか?

Visual Studio 6.0+WindowsXP Pro

345 :デフォルトの名無しさん:02/12/28 12:45
>>342
設定がおかしくなっているんだろ。
インストールしなおせば。

346 :342:02/12/28 13:20
>>345
unisatll 掛けて Program Files\Microsoft Visual Studio 手動削除し、
再ンストールをカスタム、製品など色々試しましたが駄目です。
インストール直後で設定がおかしくなるとも思えないし。

347 :デフォルトの名無しさん:02/12/28 13:36
そういえばXPとVC6.0でなにか問題があるとか聞いたことがある。
Microsoftのページにいけばなにかかいてあるんじゃないの。

348 :デフォルトの名無しさん:02/12/28 13:56
>>342
pch ファイルが壊れているとか。
リビルドしたりとかディスク空き容量とかは?

349 :デフォルトの名無しさん:02/12/28 14:20
>>342
メニューのプロジェクト->設定から
「C/C++」タブの「プリコンパイル済みヘッダー」カテゴリを選択し、
そこのラジオボタンをいろいろいじってためしてみよう。

350 :デフォルトの名無しさん:02/12/28 14:30
webからHPを拾ってきて解析したいので、httpプロトコルを面倒見てくれるソースが欲しいです。
どなたかご存知ありませんか。
フリーの外部プログラムでもかまわないです。

351 :デフォルトの名無しさん:02/12/28 14:50
>>350
MFCにならあるけど。
SDK使ってる?

352 :デフォルトの名無しさん:02/12/28 15:14
http自体は単純だから自分で書いてみるべし、と言ってみるテスト。

まずは RFC参照するべし。
「魔術幻燈HTML研究室」ttp://hp.vector.co.jp/authors/VA014833/

↑ここに日本語訳版がある。

353 :デフォルトの名無しさん:02/12/28 15:16
HTTPに関してはWinInetで充分だと思うが。

354 :デフォルトの名無しさん:02/12/28 15:24
HTTPに関しては手作業で十分だと思うが。

355 :デフォルトの名無しさん:02/12/28 15:25
>>352
それってHTML関係でhttpではないのでは?

356 :デフォルトの名無しさん:02/12/28 15:32
どーでもいいがhttpプロトコルって冗長だな。

357 :352:02/12/28 15:41
>>355
あ、スマソ。素で間違えた。(恥

http://www.wakhok.ac.jp/~maruyama/W3serv/document/node95.html#SECTION001230000000000000000

↑ここにとりあえず丁寧な説明があるYO。

358 :342:02/12/28 16:01
>>348
中間ファイル *.pch が生成されてないようです・・・
HDD空き容量はGB単位で空いてます。

>>349
これから試してみます

359 :342:02/12/28 16:11
>>349
”プリコンパイル済ヘッダーを使用しない(N)”
を選択したところ問題は解決したように見えます。
有難う御座います。

OS環境によって pch の使用に制限とかあるのでしょうか?
又、これを使用しないにして他の問題は無いのでしょうか?
ヒントになるキーワードだけとかURLだけでもいいので宜しくお願いします。

360 :デフォルトの名無しさん:02/12/28 16:22
VCなんてまだやってるの?プ!
素直にC#いっとけ。

361 :デフォルトの名無しさん:02/12/28 16:32
>>360
正直、C#はキモい。ていうか隠蔽されすぎ。
なので、個人的にはまだVC(..というかC++)の方が好き。


362 :デフォルトの名無しさん:02/12/28 16:33
>>361
正直、MFCはキモい。ていうか隠匿されすぎ。


363 :デフォルトの名無しさん:02/12/28 16:38
いちいち釣られんな冬厨ども。

364 :342:02/12/28 17:23
>>359
pch について調べたところ、恥ずかしい質問でした。

修行してきます・・・

365 :デフォルトの名無しさん:02/12/28 17:51
>>351
MFCでどういうのがありますか?
>>353
WinInetの使い方を教えてください。

調べてみて、CInternetSessionとかCHttpConnectionとかがそれっぽかったのですが、
ヘルプで検索しても出てこないし、
MFC/include/ にafxinet.hもないです。
ほんとにないのか、みているところが根本的に違うのか。。。な?
実際はどういうのがどこにあるか教えてください。

366 :デフォルトの名無しさん:02/12/28 18:17
CString hoge = m_String ;

CStringの hogeを char配列の変数に代入したいんですが、どうしたらよいですか?

367 :デフォルトの名無しさん:02/12/28 18:30
>>366
UNICODEにしてないなら、
char s[100000000000];
if(sizeof(s) + 1 < hoge.GetLength())
 strcpy(s , hoge);

368 :367:02/12/28 18:31
逆でした
if(sizeof(s) > hoge.GetLength() + 1)

369 :デフォルトの名無しさん:02/12/28 19:06
>>350
MFCなら
CHttpFileもつかうのかも。
手っ取り早くいくなら
ttp://codeguru.earthweb.com/internet/httpViaProxy.shtml
とか?
どっちもつかったことないけど。

370 :デフォルトの名無しさん:02/12/28 19:17
>>353
InternetReadFileで検索すれ。

371 :デフォルトの名無しさん:02/12/28 20:59
>>367
>char s[100000000000];
こんなに確保できるかよ(w

372 :デフォルトの名無しさん:02/12/28 21:33
なぜこれを使わない?
URLDownloadToFile(NULL,"http://www.hoge.com/", "hoge.html", 0, NULL);

373 :デフォルトの名無しさん:02/12/28 21:54
CAsyncSocket::Create()で第一引数を0にしたのですが、
選択されるポートが1025〜5000でした。
どうして5001〜は選択されないのでしょうか?
ご存知の方ご教授お願いします。
実行環境が良くないのでしょうか?


374 :デフォルトの名無しさん:02/12/28 21:55
>>373
システムに聞いてくれ。って感じ?

375 :デフォルトの名無しさん:02/12/28 22:38
>>365
CInternetSession
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vclib/html/_mfc_CInternetSession.asp
CHttpConnection
http://www.microsoft.com/japan/developer/library/vcmfc/_mfc_chttpconnection.htm
つかぐぐれやゴルァ!

376 :デフォルトの名無しさん:02/12/28 22:40
とか言いながら優しいな

377 :307:02/12/28 23:27
>>307です。物凄い遅レスになりますが。

>>320
まあ、>309のレスを見る限り、徹底的に勘違いされてるなぁとは
思ってましたけどもね。いくらなんでもダイアログエディタでcaption
書き換えるくらいは解りますよ…。
自作すれ、というのが回答ならば、それはそれでありかもしれませんが。
でもレスくださってありがとうございました。本当に。
>>326
エンドユーザが海外だからです。

378 :307:02/12/28 23:36
http://www.mtakahashi.com/old/a1575.html
ここの A1561の記事を読むと、英語版Windowsで実行させると
自動的に Cancelになりそうな気もしますが。
ていうか、海外に出すっていうのに英語版Windows持ってないのかよ!
といわれそうですね。会社小さいし、ソフトはあまりやらないトコなので…。
年明けたら申請してみます…。

379 :デフォルトの名無しさん:02/12/29 00:02
つか、メッセージボックスくらいなら自分で作ればいいだろうが。

380 :デフォルトの名無しさん:02/12/29 00:34
>>377
英語版のVC++使えば良いんじゃないの?知らんけど…

381 :307:02/12/29 00:41
>379
もちろん、メッセージボックスならほとんどコードを書くこともなく
自作できるわけですけどね。でも、もしも>>316のような手段で
変えられるならそっちを使うほうが良いに決まってますよね。
絶対に無理、といことがはっきりしてるなら自作でもいいですけど
そうは思えないのでここで聞いてみました。

382 :307:02/12/29 00:46
>>380
日本語で自動生成されるコメントの問題もありますしね。
ソースを公開するから、それがベストなんですけど、
英語版VCはさすがに買ってもらえないかもしれません。
英語版Windowsくらいならたぶん大丈夫だと思います。
今の予想では、>>316のように書いておいて、英語版Windowsで
走らせればCancelと表示されるのではないかと。
もしかしたら>>316も必要ないかもしれないですが。


383 :デフォルトの名無しさん:02/12/29 00:54
英語版Winならdllも英語版だと思うんだがどうよ?

384 :デフォルトの名無しさん:02/12/29 01:02
>>382
だけどそんなに気にするほどのもんかね?
例えば海外ソフトとかをダウンロードして使用する時、メッセージボックスや、ファイル選択ダイアログが、
日本語表示になっていることがあるからたぶん普通にMessageBoxを使っても問題な誘うな気がすんだけどな。

385 :デフォルトの名無しさん:02/12/29 01:40
>>384
コモンコントロールのファイル選択ダイアログとかはWindowsの言語に依存するよ。

386 :デフォルトの名無しさん:02/12/29 01:50
メッセージボックスの場合は user.exe の言語に依存っぽい。バイナリを見ると。

387 :デフォルトの名無しさん:02/12/29 03:11
>>344
GUIリソースの使用量を調べるAPIがあった気がする。
GetGUIResourcesだったかな?

>>377-378
直接質問には関係ないけど、複数言語のリソースをrcファイルに
入れる方法を調べとくといいかもしれませんね。
MFCのヘルプにあったと思います。

388 :デフォルトの名無しさん:02/12/29 03:13
>>344
W2kから変わってなければタスクマネージャのプロセスでハンドルだのリソースだのの使用量が見れる。

389 :デフォルトの名無しさん:02/12/29 14:27
Win98SE VisualStudio6.0 SP5
Platform SDK をアップデート(2002 oct 版)したところ
ビルド時にRC.exeにエラーが発生して、
「このWindowsのバージョンでは実行できません」
と出ます。M$の便乗商法に引っかかったような感じです。
正常にビルドするにはどうしたらよいのでしょうか。?


390 :デフォルトの名無しさん:02/12/29 20:41
>>389
俺も 98SEに PSDK 2002July 入れたんだけど、そういう風にはならんかったな。
前のバージョンの RC.EXE が
  \Program Files\Microsoft Visual Studio\Common\MSDev98\Bin
に多分残ってると思うんで、
  ツール→オプション→ディレクトリ
で実行可能ファイルの検索順変えたらいいんじゃないかな。

391 :デフォルトの名無しさん:02/12/30 09:27
リソースエディタで作成した.rcファイルを
プロジェクト - プロジェクトの追加 - ファイル で追加すると、
ResourceFileではなくて、FileViewのSourceFileのところに
追加されるのですが、これはみなさんそうですか?

環境:Win2000Pro、VC++6.0(SP5)

392 :デフォルトの名無しさん:02/12/30 09:49
>>391
やってみた。確かなそうなるね。
でも、その後ドラッグドロップで OK でしょ。

393 :392:02/12/30 09:52
つーか、よく考えたらリソーススクリプトは SourceFile でいいんじゃん。
コンパイルされるんだから。

ResourceFile はアイコンとかビットマップとかの、リソースの実体ファイルが
入るんでしょ。

394 :デフォルトの名無しさん:02/12/30 09:54
IDEから入ったやつらは、こういうことで悩むんだなww

395 :デフォルトの名無しさん:02/12/30 09:58
>>394
うるさいなー。おまえキライ!

396 :デフォルトの名無しさん:02/12/30 10:08
>>395
そんなこと言わんとmakeでも勉強しとけ。

397 :デフォルトの名無しさん:02/12/30 11:04
>>394
HD?

398 :デフォルトの名無しさん:02/12/30 11:08
>>397
バカ?

399 :デフォルトの名無しさん:02/12/30 11:27
Wizard使ったって.rcはFileViewに追加されてるっつの。

つーか道具の使い方なんだからIDEから入ろうがそうでなかろうが関係ないと思われ。
単に>>391が使い方知らなかっただけだろ。

400 :デフォルトの名無しさん:02/12/30 12:13
>>399
道具の仕組みを直感的に把握する能力も大切だと思われ。

401 :デフォルトの名無しさん:02/12/30 12:44
つーか、SourceFile も ResourceFile も単にプロジェクトにデフォルトで
作られるフォルダというだけで、あとはどうにもでカスタマイズ可能なんだ
よな。

402 :デフォルトの名無しさん:02/12/30 13:28
>>400
だからそれにIDEから入ったかどうかは関係ないだろって話。

403 :389:02/12/30 14:20
>>390
レスありがとうございます。
変更して今のところ問題ないみたいけどアップデートした
ことになるんだろうか?と思ってみたり。

404 :デフォルトの名無しさん:02/12/30 15:12
んでIDEって何?

405 :デフォルトの名無しさん:02/12/30 16:52
ツールの使い方についての質問ですけど、
ワークスペースの
Classview
Resourceview
Fileview
を切りかえるショートカットキーってどれなんでしょうか?

406 :405:02/12/30 18:12
さっきからずーっとキーボードマップ見てるんですけど、ぜんぜんわからない・・
初心者スレ逝ってきます・・・

407 :デフォルトの名無しさん:02/12/31 00:09
>>406
無い。が答えだと思うんだけどね。

408 :デフォルトの名無しさん:02/12/31 01:07
>>407
つーか必要ないし。

409 :405:02/12/31 01:57
>>407
まじで!!
>>408
必要だとかんじないすか?つっか必要だと思ってるの俺だけか・・・スレ汚しすまそ。

410 :デフォルトの名無しさん:02/12/31 02:18
>>409
いや、俺も欲しいなと思うときはあるにはある

411 :デフォルトの名無しさん:02/12/31 10:37
>>409
うん。マジで要らん。検索、置換、大文字・小文字変換くらいしか使ったこと無いし。
でもVC++使ってて突然Insertが切り替わってしまうのがチト難点。
あれってInsertキー以外のキーでも変わるみたいだな。確認してないからどのキーか知らんけど。


412 :デフォルトの名無しさん:03/01/01 15:23
リソースに 32x32 と 16x16 の2つのイメージを含むアイコンを
組みこんだのですけど、それをどのようにして読みこむのが
一般的なのでしょうか?

API の LoadImage() を使っています。

(IDI_AN_ICON が読みこもうとしているアイコン)
lHIcon = (HICON)::LoadImage(
    aInstance, MAKEINTRESOURCE(IDI_AN_ICON), IMAGE_ICON,
    32, 32, LR_DEFAULTCOLOR);

とすると、32x32 のアイコンを読みこめるのですが、パラメータの
desired size を (16, 16) にしても、16x16 のアイコンを読みこんで
くれないようなんです。

あと、

lHIcon = (HICON)::LoadImage(
    aInstance, _T("IDI_AN_ICON"), IMAGE_ICON,
    32, 32, LR_DEFAULTCOLOR);

としても、返ってくるアイコンハンドルは NULL なんですけど、
どうしたら、文字列を指定してリソースにあるアイコンをロードする
ことができるのでしょうか。
猫わかとかVC++でやるSDKとか見てやったんですが、どうも
自分ではうまくいかないんです。

413 :412:03/01/01 16:55
すいません、>>412にある方法でできました・・。
アイコンをロードしようとしていたメモリ DC の「幅」が足りなかった
だけですた・・。俺の時間を返して。

でもまだ文字列を指定してリソースをロードすることができません。
引き続きアドバイス募集中です。

414 :デフォルトの名無しさん:03/01/06 12:56
>>413
素じゃできません。
IDI__〜って#defineされた数値ですよ。
自分でそういうルーチンを書けばできますが。
(IDと文字列の対応を配列に持って検索する)

415 :デフォルトの名無しさん:03/01/06 17:05
>>414
レスどうもありがとうございます。
「素」じゃできないというと、VC++ のリソースの追加から
挿入したリソースでも、resource.h を編集して文字列を
キーとして指定しなければいけないということでしょうか?

--- resource.h ---
(略)
#define IDI_AN_ICON 101
(略)
---

という具合の resource.h を、ソースファイルに #include しています。

http://www.kumei.ne.jp/c_lang/sdk4/sdk_317.htm
・・とここまで書いてみて、↑のリンク先を見てみたのですが、
もしかしてリソースエディタで、キーを IDI_AN_ICON ではなく、
"IDI_AN_ICON" のように指定しなければいけないということ
なんでしょうか。・・うんたぶんそうだ・・。

416 :デフォルトの名無しさん:03/01/06 20:30
>>415
>"IDI_AN_ICON" のように指定しなければいけないということ
>なんでしょうか。・・うんたぶんそうだ・・。
半分正解。MAKEINTRESOURCEマクロを使って
MAKEINTRESOURCE(IDI_AN_ICON)
と書けばOK!


417 :412,415:03/01/07 01:39
>>416
ガイシュツです・・。

418 :デフォルトの名無しさん:03/01/07 02:15
lHIcon = (HICON)::LoadImage(
aInstance, MAKEINTRESOURCE(IDI_AN_ICON), IMAGE_ICON,
16, 16, LR_DEFAULTCOLOR);

これで 16×16 のアイコンがロードできたと思うけど・・・。

419 :デフォルトの名無しさん:03/01/07 03:46
>>415
素で出来る。
同じ物をID番号と文字列で同時には使えないが。

リソースエディタを使って文字列IDにしたい場合は、ダイアログの
プロパティのID指定で、"TESTDIALOG"の様にダブルクォーテーション
で括る。文字列長制限は知らんが。
そうすればresource.hに#define 〜 のようなID番号が自動生成
されない。

もう気が付くと思うが、ID番号指定から文字列指定にしたい場合は
resource.hにある#defineを削ればOK。逆もまた同じ事。

また、これが出来るのはダイアログやアイコン等のそれ単体でロード
出来る物に限ると思われ。
ダイアログ上のコントロール等はID番号以外は無理な筈。

420 :412,415,417:03/01/07 09:19
>>419
ご丁寧にありがとうございました。試してみたところ、
ID に指定できる文字列の長さは 247 文字までみたいです。
ダブルクオーツを含めると 245 文字までです。
みなさんのおかげで、もうアプリは完成いたしました。
どうもありがとうございました。
(全部数値の ID を使ってます。こじれるのが怖くて
 >>419 さんの方法を試す気力がないです。申し訳ない・・。
 リソースへシーケンシャルにアクセスするので、俺のアプリの場合
 数値の方が楽ですた。)

421 :デフォルトの名無しさん:03/01/08 15:15
VC++6 でアプリ作ってます。で、
エクスプローラでhoge.exeを洗濯して
「プロパティ」表示させたときに出てくる
「ファイル バージョン」「説明」「著作権」「会社名」「商標」「清拭バージョン」
…などは、どこに書けばいいんですしょうか?
リソースエディタを使うんでしょうか? ・・・・・(;´Д⊂ ウエーン。ワカンナイヨウ。


422 :デフォルトの名無しさん:03/01/08 15:57
リソースの中にVersionってフォルダがないかい?

423 :421:03/01/08 16:32
>>422  (´∀`)ありがとう☆
「Version」フォルダは未だなかったけど、
「ソソースの挿入」で種類が選べるンですね。
助かったっす ♥


424 :421:03/01/08 17:58
ところで、ビルド番号とか自動インクリメントしてくれるマクロとか
ttp://codeguru.earthweb.com/devstudio_macros/build_number.shtml
↑ここに載っているけど、ここの板は極めて見づらいっす。

Sub プロシージャが投稿されているけど、ちょっとずつ修正されていて、
けっきょく最終的にどうなるんだyp! (;´Д⊂ ウエーン

試してみたけど、インクリされた番号の部分が、EXEファイルの「プロパティ」では
確認できなかったし。てか、俺が貰って動かしたスクリプト地震のバージョンが
わかんない ('・ω・`) しょぼん

やっぱ、シェアウェアの「BuildMan」とか使うのが便利でよいんでしょうか?

425 :IP記録実験:03/01/08 22:29
IP記録実験
http://qb.2ch.net/test/read.cgi/accuse/1042013605/

1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。

27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?

38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。

73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。

426 :デフォルトの名無しさん:03/01/09 00:37
喜念パピコ♪
って、喜んでる場合じゃないか。
ほんとに全鯖で記録すんの?
それは、利用者が簡単に見れちゃったりする?

427 :デフォルトの名無しさん:03/01/09 00:41
あっちこっちで自演始めちゃったよ・・・(^^;

428 :デフォルトの名無しさん:03/01/09 00:58
>>302
ポイズン

429 :デフォルトの名無しさん:03/01/09 01:19
ひろゆき、余ったIPくれっ

430 :デフォルトの名無しさん:03/01/09 01:31
>>538
ワラタ

431 :IP記録実験:03/01/09 01:59
IP記録実験
http://qb.2ch.net/test/read.cgi/accuse/1042013605/

1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。

27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?

38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。

73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。

432 :デフォルトの名無しさん:03/01/09 02:05
IP開示のガイドライン制定を

433 :デフォルトの名無しさん:03/01/09 02:20
スレ違いの板違いは出て逝け
気違いどもめ

434 :デフォルトの名無しさん:03/01/09 02:46
>>1さん
IPを記録しないでくださいお願いします

435 :デフォルトの名無しさん:03/01/09 03:33
Freenetはとりあえず現時点で幻想が現実になったものだべ。

436 :デフォルトの名無しさん:03/01/09 12:26
響子さん・・・

437 :デフォルトの名無しさん:03/01/09 23:58
pc3にも入れてくれ

438 :デフォルトの名無しさん:03/01/10 08:50
モルモットにされたのか

439 :デフォルトの名無しさん:03/01/10 10:10
>>73
判決確定な。

440 :デフォルトの名無しさん:03/01/10 10:50
マンドクセーから某氏が>>13の文章を正しく書き直してくれや。
それでいいじゃないの。

441 :デフォルトの名無しさん:03/01/10 11:18
  \ │ /
                 / ̄\   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
               ─( ゚ ∀ ゚ )< ひじひじひじひじ!
                 \_/   \_________
                / │ \
                  ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\ ∩ ∧ ∧ \( ゚∀゚)< ひじひじひじひじひじひじ!
ひじひざ〜〜〜〜! >( ゚∀゚ )/ |    / \__________
________/ |    〈 |   |
              / /\_」 / /\」
               ̄     / /


442 :デフォルトの名無しさん:03/01/10 12:05
>>354
いや。それこそがネットのポジティブな力であり、多くの人が2ちゃんに
惹き付けられた魅力だと思うのよ。
でも、それは参加者の力量が高くなくては不可能な話であって、
今の2ちゃんねらーにはその力量が決定的に欠けているのよ。

443 :デフォルトの名無しさん:03/01/10 12:34
>>841
そりゃトマトだ。

444 :デフォルトの名無しさん:03/01/10 13:28
>アクセスログってなに?

人を馬鹿にするな!

445 :デフォルトの名無しさん:03/01/10 15:49
ガ━━(゚Д゚;)━━ン!

446 :デフォルトの名無しさん:03/01/10 17:16
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| マスター、もう一杯
\_   _________________
   | /
    ∨
日 ▽ U [] V
≡≡≡≡≡≡≡  ∧ ∧    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 V ∩ [] ∨目 (゚Д゚,,)   < そんなに飲んでいいのかい?アンタまだ保護観察付きだろ?
__ △ヒック______|つ∽__ \_____________________
 ∠●ノ▽
― □  ―――――――
  <\  
 ━┳━   ━┳━

おでんマンもたまには酔いたいときがある…

447 :デフォルトの名無しさん:03/01/10 23:38
IP見られちゃうのかー。
恥ずかしいよ。助けて。

448 :デフォルトの名無しさん:03/01/10 23:43
char* の数値を intにキャストしたいのですが、どうしたらよいのですか?

449 :デフォルトの名無しさん:03/01/10 23:45
ところで、アホーの投票祭り無いの?
俺は「2ちゃんねるってなに?」に投票してきたけど。

450 :デフォルトの名無しさん:03/01/10 23:51
>>448
ふつーにこうだが・・・

int i;
char *c,s
c=&s;
i=(int)c;

451 :デフォルトの名無しさん:03/01/10 23:54
173 :名無しさん@3周年 :03/01/09 22:20 ID:FDWl1Tso
ひろゆきは自宅に押しかけた暴走族に土下座した人だよ。
暴力団に脅されたら山奥に連れ出されるまでもなく玄関先で二つ返事で請け負うんじゃない?

権力には抵抗するけど、暴力には滅法弱い、それがわれらのひろゆき


452 :デフォルトの名無しさん:03/01/11 00:00
今からこのスレッドは87氏を応援するスレッドになりました(^_^;)

453 :デフォルトの名無しさん:03/01/11 02:09
MFC(VC6.0)で、IE6.0などと同じ形式のファイル保存ダイアログはどのようなクラス、
または方法で出せるのでしょうか? いろいろ調べても分かりませんでした。

454 :デフォルトの名無しさん:03/01/11 02:12
>>453
質問があいまいでわからません。(あなたの環境は?)

455 :デフォルトの名無しさん:03/01/11 02:18
>>454
VC6.0でMFCを使って、IE6.0などのように左側に「マイドキュメント」や
「デスクトップ」のアイコンあるファイル保存ダイアログを出したいのです。
CFileDialogでは、普通によく見るファイル保存ダイアログが出てしまいいます。

456 :デフォルトの名無しさん:03/01/11 07:53
>454
とりあえず2つほど
http://www.codeproject.com/dialog/win2000fd.asp
http://www.codeproject.com/dialog/win2kfiledlg.asp

457 :デフォルトの名無しさん:03/01/11 09:20
┨←なんでこれ付けないの?→┠

458 :デフォルトの名無しさん:03/01/11 09:20
はぁ。もうテンプレ張るのやめた。

459 :デフォルトの名無しさん:03/01/11 09:57
======2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数: 139038人 発行日:2003/1/10

なにやら、連日メルマガだしてるひろゆきです。

そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、
全部のサーバに入れてみました。

重くなって落ちたりしてもご愛嬌ってことで。。。

んじゃ!

────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────

460 :デフォルトの名無しさん:03/01/11 10:50
(´∀`)

461 :デフォルトの名無しさん:03/01/11 10:53
>>455

CFileDialog dlg(TRUE);
dlg.m_ofn.Flags = OFN_FILEMUSTEXIST|OFN_PATHMUSTEXIST|OFN_HIDEREADONLY|OFN_EXPLORER;
dlg.m_ofn.lpstrFilter = _T("All Files (*.*)\0*.*\0\0");
if(dlg.DoModal()==IDOK){
...
}

上記のようにすると、Windows2000以降ではOutlookStyleBarが付いた
ファイルダイアログが表示されるね。
オブジェクトの構築方法によって異なるのかな?


462 :デフォルトの名無しさん:03/01/11 11:19
こぶ平の母親は昔「日本のお母さん代表」みたいな顔してたが、こぶ平が満足に箸も使えないことがバレてからは干されました。

463 :455:03/01/11 12:14
>>456
感謝。
一番簡単な方法は DoModalの前に、以下の1行を加えたら良いと分かりました。
ただし、2000以降でしか無理?

 dlg.m_ofn.lStructSize = sizeof(OPENFILENAME) + 12;


464 :デフォルトの名無しさん:03/01/11 12:16


465 :デフォルトの名無しさん:03/01/11 12:48
ボンタレンに改名汁!!!!

466 :デフォルトの名無しさん:03/01/11 13:04
>463
昔MSDNマガジンで見て詳しい内容覚えていないどあんまりいい方法じゃないみたいだよ。
9x系だけかもしんないけど。
↓でもAccess Violationが発生するようなこと書いてあるし。
http://www.experts-exchange.com/Programming/Programming_Languages/MFC/Q_20302083.html

467 :デフォルトの名無しさん:03/01/11 15:39
犯行予告スレをたてたと思われるやつが追い込まれて
何かしでかしそうです。放っておいていいのでしょうか?

125 名前:ありえない人  ◆y.GuoEaXhM 投稿日:03/01/11 11:31 ID:94ui+dnh
犯行予告できなきゃ2ちゃんに来る意味は無い。
俺は追いこまれるだけ追いこまれう自殺も本気で考えた。
でも本当に死者がでればワイルド吉田にも責任があったといっておく。
127 名前:ありえない人  ◆y.GuoEaXhM 投稿日:03/01/11 11:34 ID:94ui+dnh
俺本気で怒ってるよ。
もう俺終わりなんだな、って思うと。
こんな理不尽なことはねえな、っていってもみんなけらけら笑いやがる。
ここまでやられてもいままで殺しをやらなかった俺がおかしいんだろう。
128 名前:ありえない人  ◆y.GuoEaXhM 投稿日:03/01/11 11:35 ID:94ui+dnh
さよなら2ちゃんねる。
地獄行きの列車の切符ならもう手に入れてあるよ。
http://ex.2ch.net/test/read.cgi/entrance/1042189622/125-137


468 :デフォルトの名無しさん:03/01/11 15:45
殺人予告スレ発生。

【予告】小学生の登校を狙って・・・
http://live2.2ch.net/test/read.cgi/news/1042035002/

悪戯であることを祈る。

469 :デフォルトの名無しさん:03/01/11 21:42
VC6.0のVBScriptマクロで、エディター使用中に外部プログラムを
呼び出すことはできるのでしょうか?


470 :デフォルトの名無しさん:03/01/11 23:30
2ちゃんねるも現実ですよ。

471 :デフォルトの名無しさん:03/01/11 23:31
ちょっとお聞きしたいことがあるんですが、Jチャンネルで言われていた、掲示板はどのコーナーのどんな題名ですか?
知ってる人がいたら教えて下さい!!

472 :デフォルトの名無しさん:03/01/11 23:41
広末のまんこに俺のティムポ入れたい
広末のきつきつおまんこに中出し・・・(;´Д`)ハァハァ

て書いてもまぁ変わらんわけか
結局は今までと変わらんのだろ?
ただそういう事を書き込む歯止めみたいな感じなのかね

まぁK察かなんかはやりやすくなるんだろうけど

473 :デフォルトの名無しさん:03/01/12 02:20
そうか・・・。

474 :デフォルトの名無しさん:03/01/12 02:25
待ってます。よろしくお願いします。

475 :デフォルトの名無しさん:03/01/12 09:55
タ刊托イ

476 :デフォルトの名無しさん:03/01/12 09:56
11/26のメルマガでこんな事、言ってるけど
ちなみに、これってどこの板か非常に気になります!
某社って???
とりあえず、いつごろの書きこみにたいして?
しょうさい、きぼーん。

某警察(前回のM警察署じゃないです)からの要請で一つのスレッドと
某社の仮処分で三つのスレッドの書きこみのIPを保存してますです。
捜査関係事項照会書or裁判所の令状で開示しますので、
お心当たりの人は、親戚縁者への挨拶回りを済ませておきましょう。
( ̄ー ̄)ニヤリ




477 :デフォルトの名無しさん:03/01/12 17:11
VC7.0でDebugとReleaseの違いってなんですか?
いままでうまく(とりあえず)動いていたものが
Releaseにしてデストラクタで落ちるようになってしまいました。

478 :デフォルトの名無しさん:03/01/12 17:12
>>477
デバッグ情報ありなし。

479 :デフォルトの名無しさん:03/01/12 17:18
>>478
最適化の有無とか、スタックの整合性チェックとかもあるだろう。

>>477
どこかメモリを壊してるんだろうな。デバッグビルドで、メモリ関係の
チェック厳しくして試してみ?

ttp://www.codeproject.com/useritems/leakfinder.asp

480 :デフォルトの名無しさん:03/01/12 17:27
今まで計算とかシミュレーションとかするのに、
コマンドラインのCコンパイラでコンソールプログラムだけ作ってきたんだけど、
計算結果を絵に描いたりしてみたくなってきたんだけども、
サクサクプログラムできるwindows用の言語ってどれさ?
Cの文法がわかってれば、visualCは簡単かい?サクサクできる?


481 :デフォルトの名無しさん:03/01/12 17:30
>>480
N88 BASIC

482 :デフォルトの名無しさん:03/01/12 17:31
>>481
計算遅すぎ

483 :デフォルトの名無しさん:03/01/12 17:32
>>482
ほう。

484 :デフォルトの名無しさん:03/01/12 17:39
>>489
ありがとうございます。厳しく見てみます。

485 :デフォルトの名無しさん:03/01/12 17:46
>480
MATLAB

486 :デフォルトの名無しさん:03/01/12 19:50
>>480
>visualCは簡単かい?サクサクできる?
サクサクできるよ。ただしサクサクAPI(or MFC)覚えてな。

487 :デフォルトの名無しさん:03/01/12 20:33


488 :デフォルトの名無しさん:03/01/12 20:37
ShutOutというけど
ローカルルールに従った要請は受け付けてるんだから(^_^;)そうすればいいよ
列に並ばないで権利を主張する奴は許されない

489 :デフォルトの名無しさん:03/01/12 20:46
全部ポセイドンという罠(^_^;)

490 :山崎渉:03/01/13 18:32
(^^)

491 :デフォルトの名無しさん:03/01/13 21:02
>>480
たぶん,おまえさんが使っている「コマンドラインのCコンパイラ」とやらが
そのまま使えるだろう
リンクするときにgdi32.libを追加リンクすれ

#define STRICT
#include <windows.h>
#include <math.h>

main()
{
HDC hDC;
double r;

hDC = GetDC(NULL);
SetROP2(hDC, R2_NOT);
for(r = 0; r < 6.28; r += 0.01)
{
double x = cos(r * 3);
double y = sin(r * 2);
LineTo(hDC, 320 + x * 200, 240 + y * 200);
}
ReleaseDC(NULL, hDC);
}


492 :デフォルトの名無しさん:03/01/13 21:03
>>491
って言うかNULL論争起こるからデスクトップのDC欲しいならGetDC(0)にしと来なさいな。


493 :491:03/01/13 21:17
そんなん言い出したらキリないやん
mainの戻りは放置してるし
SetROP2も戻してない
危険な変換を暗黙キャストでやってる罠
MINIXに対するLinus君の批判みたいな
論点すり替えはいやづら

494 :デフォルトの名無しさん:03/01/13 21:23
>>493
総評:お前はもうちょっとまともなコード書け。

495 :491:03/01/13 21:31
>>494
だからそれは480の領分であって
手段の存在を尋ねてきた者に対して
なるべく希望に沿う答を示したまでのこと
本当はSTRICTを書くのさえためらったんだぜ

496 :デフォルトの名無しさん:03/01/13 21:45
>494はお門違い

497 :デフォルトの名無しさん:03/01/13 22:22
国だろうと神だろうと郷に(2ちゃんねる)入ったんなら郷に(削除ルール)従え
しゃしゃり出て2ちゃんに口出しすんな

以上!

498 :デフォルトの名無しさん:03/01/13 22:36
誰に言ってるんだ?
なんか新宿駅前のターミナルで不特定多数を叱りつけてるオヂサンみたいだぞ

499 :デフォルトの名無しさん:03/01/13 23:13
#define STRICT ってどういう効果があるんですか?

500 :デフォルトの名無しさん:03/01/13 23:36
>>499
ttp://www.microsoft.com/japan/developer/library/vccore/_core_using_strict_type_checking.htm

501 :デフォルトの名無しさん:03/01/14 01:25
ようわからんけど、Windows API で使われる型のチェックを厳格にするという事?

502 :デフォルトの名無しさん:03/01/14 02:31
パターン認識のスレで叩かれた1です
http://pc3.2ch.net/test/read.cgi/tech/1042478334/

VCで窓を作って、その中にユーザーがマウスでかきこみ、窓全体の情報を0,1情報で得る方法ってありませんか?


503 :デフォルトの名無しさん:03/01/14 02:34
>>502
VCのサンプルにあるがな。

504 :デフォルトの名無しさん:03/01/14 02:37
>>501
STRICTしないとHANDLEとかHBRUSHとかって全部void*扱いだったと思う
これをそれぞれ typedef struct __HANDLE {} *HANDLE;
とかして別々の型に見せるのがSTRICTの効果。

>>503
神降臨!!!

505 :デフォルトの名無しさん:03/01/14 02:43
>>502
何で叩かれたか理解したら、ちゃんと削除依頼だそうな。

506 :421:03/01/14 11:42
リソースの Version 情報(VS_VERSION_INFO)に
親の(?)ブロック(FILEVERSION などが書かれている)に、さらに
日本語のブロックも追加しました。

ところで、日本語のブロックの「FileVersion」を変更しても、
親の FILEVERSION には反映されないわけですが、
そしたら 日本語のブロックの「FileVersion」は、
ビルドした EXEファイルの「プロパティ」表示などしたときに
表示できるようにできるんでしょうか?

EXEファイルの「プロパティ」では、製品バージョン・ファイルバージョンとも
親の FILEVERSION, PRODUCTVERSION が表示されるのに、
LegalTrademarks とかは日本語ブロックのが表示される ((((゚Д゚))))ガクガクブルブル
納得しがたいです。 ('・ω・`) しょぼん



507 :502:03/01/14 16:34
>>503
 どのサンプルですか?

508 :デフォルトの名無しさん:03/01/14 16:46
using namespace std;

Visual C++6.0で↑のように記述するとよく
『存在しないか名前空間ではありません』
と出るのですが、どうすればこのエラーを回避することが出来るでしょうか?

509 : :03/01/14 16:57
CListCtrl クラスを使っています。
選択行が変わった時に処理を加えたいのですけど
どういうメッセージをキャッチすればいいですかね?

OnSelChange()みたいなのあればいいんですけどないですよね?

510 :デフォルトの名無しさん:03/01/14 17:16
>>509
LVN_ITEMCHANGEDをキャッチできなかったっけ

511 : :03/01/14 18:17
>>510 ありがと〜

512 :デフォルトの名無しさん:03/01/14 18:45
>>508
不要な場合にそう書かない。

513 :デフォルトの名無しさん:03/01/14 21:35
>>508

0x200の言うとおり
stdを何に使う気だったのか,「それ」をどこで#includeしたのかと3.6`秒ほど問い詰めたい

514 :デフォルトの名無しさん:03/01/15 00:03
>>507
何で叩かれたか理解したら、ちゃんと削除依頼だそうな。

515 :デフォルトの名無しさん:03/01/15 06:28
リソースエディタでメニューをつくるときに
項目の左にチェックがつけられるんですが、
アプリケーション上でこのチェックをつけたり消したり
するにはどうすればいいんでしょうか?SDKです。

516 :デフォルトの名無しさん:03/01/15 08:37
>>515
メニューってポップアップメニューのこと?
だったら、「SetMenuItemInfo」で出来んか?

517 :デフォルトの名無しさん:03/01/15 12:50
IrivineみたいにIEのツールバーにアプリを登録するにはどうしたらいいんですか?

518 :デフォルトの名無しさん:03/01/15 16:18
>>517
こんな感じ。
http://www.codeguru.com/ieprogram/band.shtml

519 :デフォルトの名無しさん:03/01/15 16:43
>>518
IDeskBandですな。サンクス。

520 :山崎渉:03/01/15 17:43
(^^)

521 :デフォルトの名無しさん:03/01/16 00:23
仮想関数の質問なんですが、VC7.0で
class A
{
public:
A(){APure();};
virtual ~A(){};
virtual int APure() = 0;
};
class B : public A
{
virtual int APure();
};
というコードを書くとリンクえらがでます。
error LNK2019: 未解決の外部シンボル "public: virtual int __thiscall A::APure(void)" (?APure@A@@UAEHXZ) が関数 "public: __thiscall A::A(void)" (??0A@@QAE@XZ) で参照されました。
なんで?

522 :デフォルトの名無しさん:03/01/16 00:54
>>521
仮想関数テーブルはコンストラクタで構築されるんで、
A::A()でAPure()を呼んだときはまだA::APure()を参照してる。
で、APure()が純粋なのでアラー。

523 :デフォルトの名無しさん:03/01/16 00:59
>>522
サンキュー。
でも、:のところでやっといてほしいなぁ。
使用なの?

524 :デフォルトの名無しさん:03/01/16 01:00
ダイアログのピクチャーボックスに描かれた絵をウインドウを閉じたり、縮小しても消えないようにしたいです。BITMAPINFOHEADERやStretchDIBitsを使えばいいのかなとおもうのですけど、やり方がいまいちわかりません・・教えてください//。
私が足したプログラムは次のだけです。
void CMy00000View::OnButton1()
{
// TODO: この位置にコントロール通知ハンドラ用のコードを追加してください

int x, y;

CWnd* h = GetDlgItem(IDC_FIGURE);
CRect r;
h->GetClientRect(r);
CDC* pDC=h->GetDC();
x = r.right/2;
y = r.bottom/2;
CPen p(PS_SOLID, 1, RGB(255, 255, 0));
CPen* oldp=pDC->SelectObject(&p);
pDC->MoveTo(0, y); pDC->LineTo(2*x, y);
pDC->MoveTo(x,0); pDC->LineTo(x, 2*y);
pDC->SelectObject(oldp);
h->ReleaseDC(pDC);


525 :デフォルトの名無しさん:03/01/16 01:16
>>523
仕様。

526 :デフォルトの名無しさん:03/01/16 08:08
どうしよう

527 :デフォルトの名無しさん:03/01/16 08:29
もないだろ。

528 :デフォルトの名無しさん:03/01/16 09:37
>>524
OnPaint でやってミソ

529 :524:03/01/16 10:06
ボタンを押した時に描画した画が、
フォームを最小化したり、他のウインドウが重なったりした時
消えてしまうのを解決したいです
CMy00000Viewクラスへ「WM_PAINT」のWindowsメッセージハンドラの追加はしました
OnPaintにOnButton1()の同じ処理を書きました
確かにできたんですが、まだ
大きなプログラムだと処理が遅く、ウィンドウを大きくしたら消える、少し動かさないと絵がでてこない
という問題がありました・・
それはどうすればよろしいでしょうか?



530 :524:03/01/16 10:09
http://netpassport-wc.netpassport.or.jp/~whiromo/OS2/program.html
このページがヒントのなるかと思ったのですがよくわからかったです・・

531 :デフォルトの名無しさん:03/01/16 10:57
>>529
マルチポスト氏ね

532 :デフォルトの名無しさん:03/01/16 11:05
>>529
じゃぁ OnDraw とかでもやってみれ。
というか、まず、どのメッセージで何をすればいいかを考えれ。
MFCがどういうことやってるか調べれば、これ以上ないくらいのサンプルになる。

ついでにマルチポスト稲

533 :509:03/01/16 11:21
度々スイマセン。

CListCtrlで SetCurSel や Scroll をいくらやってもダメなんですけど、
これらが有効にならない原因がわかる方いらっしゃますか?

534 :デフォルトの名無しさん:03/01/16 11:50
>>553
ダメって何が?

535 :デフォルトの名無しさん:03/01/16 12:16
VC6でCOM使ったクラスを作ってますが、
CoInitialize() の戻り値が S_FALSE の場合でも CoUninitialize() が必要ですか?

コンストラクタで CoInitialize() して、
デストラクタで CoUninitialize() したいのですが、クラスを複数作った場合がわからないので。

どなたかご教授お願いします。

536 :デフォルトの名無しさん:03/01/16 12:30
参照カウントを考えれば自明だと…

537 :509:03/01/16 12:33
>>534

SetCurSel やっても値は正常に返ってくるが
実際のCListCtrlには反映されないのですよ・・・Scrollも同じ。

データのある程度たまっているCListCtrlで、或る瞬間にある行へ
選択を移動させたいわけですよ。なので SetCurSel で選択状態にし
Scrollでその行まで飛べばいいかと思ったのですが・・・


538 :デフォルトの名無しさん:03/01/16 12:42
>529
>少し動かさないと絵がでてこない
絵を出したいタイミングがあるなら、そこで
InvalidateRect(NULL);
をしる。
OSに再描画を促すので、結果としてWM_PAINTが送られる。


539 :535:03/01/16 12:49
>>536
CoInitialize() にも参照カウントあるのですか?
てっきり AddRef() Release() だけかと思ってました。

どうもありがとうございました。

540 :デフォルトの名無しさん:03/01/16 14:06
VS6からVS.NETに移行したんですが、Profileって取れなくなったんですか?
メニューにも無いんですが・・・
関数の呼び出し回数とか時間が出てとても重宝してたんですが。


541 :デフォルトの名無しさん:03/01/16 14:09
VS?

542 :デフォルトの名無しさん:03/01/16 14:12
同じ質問どっかで見たな。MLだったかな。どっかのスレだったかな。<プロファイル

543 :デフォルトの名無しさん:03/01/16 17:15
BSTR を std::basic_string と組み合わせて使おうと思ったんだけど、
いろいろ考えていたら、頭パニックになった。

ひょっとして basic_string って 長さをプレフィックスにとる
文字列と相性悪いんだろうか。

544 :デフォルトの名無しさん:03/01/16 21:02
>>541
Visual Script

545 :WMI:03/01/16 22:31
板違いならすいません。
WMI(Windows Management Instrumentation)のオリジナルのプロパイダ
(ダイナミックDLL)を作ろうと思うのですが、どなたご存知の方いましたらご教授
おねがいします。

546 :デフォルトの名無しさん:03/01/17 16:22
>>545
ダイナミックDLLとはなんですか?

547 :デフォルトの名無しさん:03/01/17 16:39
ワラタ

548 :デフォルトの名無しさん:03/01/17 16:43
>>546
DDLLって事かな?
しかしこんなことに気づかんとは。
俺もまだまだ甘いな。

549 :デフォルトの名無しさん:03/01/17 16:49
mfc-MLに投稿したよりも質問内容をかなりはしょってるな

550 :デフォルトの名無しさん:03/01/18 00:31
ドライブレターを指定して、そのドライブのデバイス名を得る方法はありませんかねぇ。

551 :デフォルトの名無しさん:03/01/18 02:28
デバイス名って?

552 :デフォルトの名無しさん:03/01/18 15:33
>>551
ボリュームラベルのことだろうか・・・?

553 :デフォルトの名無しさん:03/01/18 16:26
>>551-552
\Device\HarddiskVolume1 とかのことだろ。

>>550
DWORD QueryDosDevice(
 LPCTSTR lpDeviceName, // pointer to MS-DOS device name string
 LPTSTR lpTargetPath,   // pointer to buffer for storing query results
 DWORD ucchMax      // maximum storage capacity of buffer
);

554 :デフォルトの名無しさん:03/01/21 10:00
コンソールアプリで "**% 解凍中"の**の字だけをインクリメントしていくには
どうしたらよいのでしょうか。

putcとかでは駄目だし。

555 :デフォルトの名無しさん:03/01/21 10:19
その都度同じ場所に”**% 解凍中”って出す。

556 :デフォルトの名無しさん:03/01/21 11:10
"**% 回答厨\r"

557 :デフォルトの名無しさん:03/01/21 11:14
初心者スレから誘導されてきました。
C#からC++へ移行してきたものです。

C++のIntelliSenseにはメンバの詳細を表示する機能が無いのでしょうか?
教えてください。



>>554
改行しないでキャリッジリターンってのはどうでしょうか

printf("解凍します\r\n");
for(int i=0; i<101; i++){
  printf(" 現在 %3d%% 解凍中 \r",i);
}
printf("\n");
printf("解凍しました\r\n");

558 :デフォルトの名無しさん:03/01/21 22:21
>>557
>C++のIntelliSense

語弊満載だな。

559 :557:03/01/22 08:31
>>558
ここは相談スレだろ。
ツッコミだけ厨には用はないですから。


IntelliSenseがVC++で詳細をださないのは
VC++が扱うライブラリに詳細が記述されてないからですか?
それともVC++には詳細を表示する機能はついてないのですか?
もし後者なら
[ツール]-[オプション]-[テキストエディタ]-[C/C++]-[全般]-[入力候補]の[自動メンバ表示(A)]の
[メンバの詳細を非表示]のチェックボックスがVC#やVBなどでは設定できるのにC++では設定できないのはその為かな

C#から呼び出した.Net Frameworkでは詳細が表示されるのに
C++から呼び出した.Net Frameworkで詳細が表示されないし


なんか手抜きっぽい気がするのですが

560 :デフォルトの名無しさん:03/01/22 09:18
素人なんですが。

ダイアログベースのアプリケーションにチェックボックスを張ったんですが、
これがチェックされてるかどうか判断するにはどうすればいいのでしょうか?

561 :デフォルトの名無しさん:03/01/22 09:57
>>560
エディットしてる状態でダイアログを右クリック→ClassWizardでクラスウィザードを出します。
チェックしたいボックスのコントロールIDを選び、変数の追加ボタンを押してBOOL型の変数を作成します。
あとは作成したBOOL型変数でチェックボックスの状態を調べることができるはずです。

562 :デフォルトの名無しさん:03/01/22 11:21
>>560
>>561だけだと、たぶん「チェックボックスの状態が変数に反映されないよ」っていってきそうだから補足

チェックボックスの状態を変数に格納するときはUpdateData(TRUE)ね
UpdateData(TEUE):コントロール→変数
UpdateData(FALSE):変数→コントロール

チェックボックス判定の例
UpdateData(TRUE);
if(m_check1){
 ・・・・・・・
} else {
 ・・・・・・・
}

563 :デフォルトの名無しさん:03/01/22 14:50
チェックボクース程度なら
 ((CButton*)GetDlgItem(IDC_CHECK_XXX))->GetCheck()
でよいような気も...

564 :デフォルトの名無しさん:03/01/22 15:17
BOOL bChecked = IsDlgButtonChecked(IDC_CHECK_XXX)
という手もある...

565 :デフォルトの名無しさん:03/01/22 15:19
まぁMFC使ってるかどうかもわからんわけだしな

566 :山崎渉:03/01/23 20:12
(^^)

567 :デフォルトの名無しさん:03/01/24 14:03
オフィスとかのヘルプでイルカがなんかしゃべるときに出てくるウインドウ
(ツールチップと同じ色のやつ)はどうやって作るんですか?

568 :デフォルトの名無しさん:03/01/24 14:07
SetWindowRgn()

569 :デフォルトの名無しさん:03/01/24 20:46
>>568
残酷だな。

570 :567:03/01/25 00:47
とりあえず、speak()というAPIで出る事がわかりました。

571 :デフォルトの名無しさん:03/01/25 12:38
積分記号はどうやって描くのか教えてくれ。

572 :デフォルトの名無しさん:03/01/25 12:39
>>571


573 :デフォルトの名無しさん:03/01/25 15:51
>>571
インテグラル→変換→∫

574 :デフォルトの名無しさん:03/01/25 18:58


575 :デフォルトの名無しさん:03/01/25 19:35
look & feelをOfficeXPライクにするサンプルコードきぼん

576 :デフォルトの名無しさん:03/01/25 20:47
荒らせ http://fruit.gaiax.com/home/nappa3/main


577 :デフォルトの名無しさん:03/01/25 20:48
いつからかビルドをすると変更したファイルが1つだけでもフルコンされる
ようになった。何が原因の分かる方いますか?

578 :デフォルトの名無しさん:03/01/25 21:25
>>577
変更したファイルが、全てのソースにインクルードされてるとか。

579 :577:03/01/25 21:44
>>578
原因分かりました。
PCの日付がずいぶん前にいつのまにか変更されていました(アホです)。
makefileの作成をし、nmake に -d オプションで分かりました。
お騒がせしました。


580 :デフォルトの顔無しさん:03/01/25 23:04
アッ ァ ァ・・

581 :デフォルトの名無しさん:03/01/26 01:06
こんばんは
VC++をはじめようと思っているのですが
まずどのようなことからはじめえたほうが効率的ですかね?
WEBで学習?本を買ってプログラムを書く?

皆さんはどのような方法でVC++を学習されましたか?



582 :デフォルトの名無しさん:03/01/26 01:17
>>581
できることから始める。
近道はない。

583 :デフォルトの名無しさん:03/01/26 01:21
なるほど・・
近道はないすか・・・
Perlの学習にも近道はありませんでした。
どのプログラムも同じですね(^^;

584 :デフォルトの名無しさん:03/01/26 08:07
>>581
まずC++を覚えろ。それができんとVC++も出来んぞ。

585 :デフォルトの名無しさん:03/01/26 12:43
>>581
VC++のヘルプにはちゃんとチュートリアルから言語仕様から全部載ってるから
まずはきちんと金を出して買え。

586 :デフォルトの名無しさん:03/01/26 13:16
windowsプログラミングを始めようかと思ってるんだけど
いまから始めるなら最初から.NETやった方が良いですかね?


587 :デフォルトの名無しさん:03/01/26 13:23
>>586
知るかんなもん!

588 :デフォルトの名無しさん:03/01/26 13:59
初心者はこんな糞スレにいないで

★初心者にVisual C++を教えるスレ★ Part3
http://pc3.2ch.net/test/read.cgi/tech/1038160750/l50

こっちへどうぞ

589 :デフォルトの名無しさん:03/01/27 17:42
少し前にWindows98で使っていたVisualStudio6.0をWindows2000にインストール
しようと思うのですが、MSEなど、明らかにVisualStudio6.0よりも新しい物がはいって
います。

そのままインストールしても大丈夫なのでしょうか。

590 :デフォルトの名無しさん:03/01/27 17:50
MSEってなんすか

591 :デフォルトの名無しさん:03/01/27 18:34
>>589
そんなことよりWindows2000は明らかにVisualStudio6.0よりも新しい

592 :デフォルトの名無しさん:03/01/28 13:34
明らかに死んで

593 :名無し@沢村:03/01/29 00:03
>>590
ヌヒよ、"Microsoft Exchange Server"のことだ。

594 :デフォルトの名無しさん:03/01/29 20:57
倍精度の乱数(srand48等)をVC++で使いたいのですが、どこかにライブラリ
など置いてないでしょうか?

595 :デフォルトの名無しさん:03/01/29 22:24
http://www.math.keio.ac.jp/~matumoto/mt19937.c

596 :デフォルトの名無しさん:03/01/29 22:32
MSEじゃなくてMESってこと?

597 :デフォルトの名無しさん:03/01/29 23:50
>595
ありがとうございます。この関数でいけそうです。

598 :デフォルトの名無しさん:03/01/30 14:57
Windows 2000 SP3のシンボルファイルはどこでダウンロードできますか?

599 :デフォルトの名無しさん:03/01/31 06:26
>>598
ttp://www.microsoft.com/ddk/debugging/symbolpkg.asp#Windows%20symbol%20packages
これか?

600 :文字列のBitBlt:03/01/31 08:07
TextOutやDrawTextで描画した文字列をBitBltしたいのですが、できますか?


601 :デフォルトの名無しさん:03/01/31 08:13
>>600
できます。

602 :デフォルトの名無しさん:03/01/31 08:51
DialogBoxアプリのClassWizardのコントロールメンバ変数の選択で
MFCクラスを継承した自作クラスが選べませんでした。
そこで、VCが書き出したヘッダのメンバ変数定義の型をこっそり自作クラスに変えたら
上手く動いている様ですが、大丈夫でしょうか?


603 :デフォルトの名無しさん:03/01/31 11:01
>>602
ClassWizardは、MFCのすべてを知ってるわけじゃない。

604 :デフォルトの名無しさん:03/01/31 15:55
>>603
class CMyEdit : public CEdit
とか作った時、CMyEditが別プロジェクトで
ClassWizardから見えないって話でしょ。CMyEditはMFCとは違う。
直に書き換えても問題はないが、別プロジェクトでも使いまわしたりするなら
コンポーネントギャラリに登録してそっから使ったほうが楽。

605 :デフォルトの名無しさん:03/01/31 19:18
>>604
タンクス。
コンポーネントギャラリも調べてみます。

606 :デフォルトの名無しさん:03/02/02 20:03
LPCTSTRや_TCHARの「T」って何の略なんでしょうか?
LPはLong Pointer だし CはConstってのは分かるんですけど、Tが分からないです。
ご存知の方はご教授お願いします。

607 :デフォルトの名無しさん:03/02/02 20:30
TEXTマクロと同じ意味では

608 :デフォルトの名無しさん:03/02/02 20:34
>>607
微妙だな。

defineでcharにもwidecharにもあるってやつっしょ。

609 :デフォルトの名無しさん:03/02/02 20:40
何の略って聞いてるからTEXTのTじゃないのって意味なんだが

610 :606:03/02/02 21:04
TEXTでしたか。盲点でした。

対応してくださった>607-609氏、ありがとうございました。

611 :デフォルトの名無しさん:03/02/02 21:25
>>606
ttp://www7.plala.or.jp/keny01/win32/01-04.html

612 :デフォルトの名無しさん:03/02/02 21:27
_getch()はCtl-Cは読み込まないってMSDNには書いてあるりますが、実際には
Ctl-Cも通常の文字として読み込んでしまいます。バグ?

613 :デフォルトの名無しさん:03/02/03 22:53
DirectX8がインストールされているマシンにDirectX7SDKを入れても大丈夫ですか

614 :デフォルトの名無しさん:03/02/04 00:20
>>613
だいじょうぶだいじょうぶ。

615 :デフォルトの名無しさん:03/02/04 20:28
>>614
嘘ばっかり言うなよー
DirectX SDKを入れる際は 当該バージョンの DirectX もインストールされるんで
確実におかしくなる
ライブラリファイルとインクルードファイルだけ抜き取って使うのが正解

616 :デフォルトの名無しさん:03/02/04 21:15
>>615
>確実におかしくなる

DirectX9の入ってる環境にDirectX8入れようとかしたことないの?君。

617 :デフォルトの名無しさん:03/02/04 21:28
つーか、そんな開発者が不安になってる開発環境で
作られたソフトをばらまくのかと小一時間。

618 :デフォルトの名無しさん:03/02/05 00:05
>>615
嘘ばっかり言うなよ・・・

619 :デフォルトの名無しさん:03/02/05 00:27
>>617
話を逸らしたと捉えて良いですか?

620 :デフォルトの名無しさん:03/02/05 00:36
Windowsってだけで不安たっぷり

621 :デフォルトの名無しさん:03/02/05 04:10
>>620
( ´,_ゝ`)プッ
ショボイ環境でプログラミングなんかするなよ

622 :デフォルトの名無しさん:03/02/05 16:22
エディターの背景色を替えたいんだけど、ツール→オプション→書式にある
やつだと、選べる色が少ないんだよね。
どっかレジストリとかにRGBで保存されてるなら、直接書き換えて
しまいたいんだけど誰か知りませんか。

623 :デフォルトの名無しさん:03/02/05 16:33
>>622
http://www.codeguru.com/tips/VisualStudioColors.shtml

624 :デフォルトの名無しさん:03/02/05 17:09
クソレス申し訳ないけど・・・

C言語ってC++のことですか?
優しく教えてください。w

625 :デフォルトの名無しさん:03/02/05 17:09
クソレス申し訳ないが・・・

C言語ってC++のことですか?

626 :デフォルトの名無しさん:03/02/05 18:39
C言語初心者です
自分でも勉強するために.NETを買おうかと思ってるんですが
買うとしたらVC++.NETとVisualStadio.NET(AC)どっちがお得ですかね
それと今慣れてるのはVC++6.0なんですけど.NETと使い勝手はだいぶ違いますか?
教えてくださいな

627 :622:03/02/05 18:43
>>623
さんくす。
ClassView,FileViewの背景色と、アウトプットウインドウの
「ビルド」「ファイルから検索1」のタブの色は白以外に
変更できないのかな?いろいろやったけどだめだった。
ソースウインドウと同じ背景色で統一したいんですけど。

628 :デフォルトの名無しさん:03/02/05 19:02
>>626
>C言語初心者です
>それと今慣れてるのはVC++6.0なんですけど
って、矛盾してない・・・

VC、VC++.NETからはじめたんだけど
巷のあふれてるVC6準拠のVC入門書いろいろ買ったけど
本の通りにやったらちっとも何もできない
ウィザードの作りがVC6とまるで違うNET・・・
使い方、結局Google検索した方がわかり易い・・・
何冊も入門書買うんじゃなかった・・・
リファレンスはばんばん買うべきだけど

629 :デフォルトの名無しさん:03/02/05 19:16
>>626
とにかく一番高いやつを買え!

630 :デフォルトの名無しさん:03/02/05 19:46
クソレス申し訳ないが・・・

C#の#って不協和音のことですか?

631 :デフォルトの名無しさん:03/02/05 19:48
>>628
>>629
レスどうも
値段調べてみたらVS.NETが安いところだと2万円前後なので
これを買っちゃおうと思います。
VC++6.0は慣れたといってもほとんど使いこなせてはいないので
それなら新しいソフトを勉強しなおしたほうがいいかなと思ったのでした

632 :デフォルトの名無しさん:03/02/05 19:48
>>630
単音なら不協もへったくれも無いと思うが。


633 :デフォルトの名無しさん:03/02/05 19:53
>>632
ふっふっふ、読みが甘い。Cと不協和音なのだよ明智君。

634 :デフォルトの名無しさん:03/02/05 19:55
>>629
http://www.yodobashi.com/enjoy/i.jsp?oid=2307948
の35万の奴?買えってこと?学生に・・・

635 :デフォルトの名無しさん:03/02/05 19:56
>>634
そんなもんにいちいち素レスすんな

636 :デフォルトの名無しさん:03/02/05 21:13
>>634
投資した額が大きければ大きいほど”やらねばっ!!”と思うようになるでよ。

637 :デフォルトの名無しさん:03/02/05 21:53
DeveloperStudioってVisualC++.NETについてるの?
いまVisualStudio.NETアカデミックを持ってるけど・・・

638 :デフォルトの名無しさん:03/02/05 22:20
>>637
名のある初心者とお見受けしたがどうか?

639 :デフォルトの名無しさん:03/02/05 22:53
アスキーファイルを読みたいので、次のようにしたのですが読めません・・
Serialize(CArchive& ar)ですどこか間違ってますかね・・?
CFile* fp = ar.GetFile();
int i;
double *tmp;
tmp = CCC;
for ( i=0; i<IMAGEDATA_SIZE; i++, tmp++)
{
ar.ReadString( tmp, sizeof( double ) );
     }

CCCはdouble型でデータを格納する場所です
IMAGEDATA_SIZEは256*256です

データの中身は9.352675144624524e+001、こんな感じのが256*256あります
doubleでは無理ですよね・・


640 :639:03/02/06 02:36
解決しました。ありがとうございました。

641 :デフォルトの名無しさん:03/02/06 08:15
ウィンドウを作成しないでGDCを使いたいのですが、
具体的にどうやるのでしょうか?
CreateDCで良いのですか?

642 :デフォルトの名無しさん:03/02/06 08:17
MFCでSDIアプリを作っているとき、
下の様にcs.Menu = NULL; とすることでメニューを消すことが出来ますが

BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
  if( !CMDIFrameWnd::PreCreateWindow(cs) )
    return FALSE;
  // TODO: この位置で CREATESTRUCT cs を修正して Window クラスまたはスタイルを
  // 修正してください。
  cs.hMenu = NULL; // メニューを消す
  return TRUE;
}

MDIアプリの時に同じ事をするとエラーになってしまいます。
MDIアプリでメニューを消すにはどうしたらよいのでしょうか?

643 :デフォルトの名無しさん:03/02/06 10:14
アスキーファイルを読みたいので、次のようにしたのですが読めません・・
Serialize(CArchive& ar)ですどこか間違ってますかね・・?
CFile* fp = ar.GetFile();
int i;
double *tmp;
tmp = CCC;
for ( i=0; i<IMAGEDATA_SIZE; i++, tmp++)
{
ar.Read( tmp, sizeof( double ) );
     }

CCCはdouble型でデータを格納する場所です
IMAGEDATA_SIZEは256*256です

データの中身は9.352675144624524e+001、こんな感じのが256*256あります
doubleでは無理ですよね・・


644 :642:03/02/06 11:01
>>642
×下の様にcs.Menu = NULL;
○下の様にcs.hMenu = NULL;

645 :デフォルトの名無しさん:03/02/06 13:47
>>642
エラーの内容を(ry

646 :デフォルトの名無しさん:03/02/06 14:35
>>642に加えて
1. IDR_XXXを削除(リネーム不可)

2. CMainFrameのOnCreateClientを以下のようにオーバーライド
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
  // TODO: この位置に固有の処理を追加するか、または基本クラスを呼び出してください
  
  return CreateClient(lpcs, NULL);
}

3. CMainFrameのLoadFrameを以下のようにオーバーライド
BOOL CMainFrame::LoadFrame(UINT nIDResource, DWORD dwDefaultStyle, CWnd* pParentWnd, CCreateContext* pContext)
{
  // TODO: この位置に固有の処理を追加するか、または基本クラスを呼び出してください

  return CFrameWnd::LoadFrame(nIDResource, dwDefaultStyle, pParentWnd, pContext);
}

647 :デフォルトの名無しさん:03/02/06 16:20
m_button1.SetButtonStyle( BS_CHECKBOX );
m_button2.SetButtonStyle( BS_CHECKBOX | BS_PUSHLIKE );

二つのボタンのスタイルをこんな感じに設定したのですが、
どちらも同じただのチェックボックスになってしまいます。

ヘルプにはBS_PUSHLIKE を指定することにより
チェックボックスの外見をプッシュボタンに変えるとあるのですが上手くいきません。

見た目がプッシュボタンのチェックボックスはどうやって作るのでしょうか?

648 :642:03/02/06 16:22
>>646
出来ました!
ありがとうございます!

649 :デフォルトの名無しさん:03/02/06 23:32
突然失礼します。
サーバ・クライアント間の通信についてです。

クライアント側で送受信スレッド(送受信で使っているのはWindowsSocket)を複数起動して、
一台の端末からサーバにアクセスをするというプログラムを作ってみたのですが…。
送受信スレッドの数が一定数を超えると、接続をサーバ側で受け付けていないのに、
各送受信スレッドの持つconnect関数からは0が返ってきてしまい、接続できたことになってしまうのです。
各送受信スレッドは接続出来ていないのに、送信を実行し、NULLを受信して処理を完了してしまいます。
(送受信スレッドの接続タイミングを遅らせれば処理は正常終了しますが、同時に実行することでサーバ負荷も確かめたいのです。)

これでは、送受信を行ったとは言えないので、どなたか良い対処知っていますでしょうか?

650 :デフォルトの名無しさん:03/02/07 00:38
多分ネットワークスレに逝った方がいいと思う

651 :デフォルトの名無しさん:03/02/08 01:30
MDIアプリケーションで印刷機能を使っています。
CViewの派生クラスで描画しているものを、
OnPaint()でプリンタに出力しています。
印刷プレビューではまったく問題なくモニタには表示されるのですが、
いざプリントアウトすると、何も印刷されなかったり、
途中まで印刷されて、残りは真っ白、などと言うことがしばしばあります。
途中の場合も、その場所は決まっていません。
再現性は無く、うまくいくときもあれば失敗するときもあり、
今ひとつ原因がつかめません。
アプリケーションそのものは、何事も無く印刷しているような
動きをしています。エラー等で落ちることもありません。
こういった不具合に考えられる原因に何か心当たりのある方、
いらっしゃいましたら、教えていただけませんか。
よろしくお願いいたします。

主な環境は、
VC++6.0(SP5)
Win2000 Pro.
です。

652 :デフォルトの名無しさん:03/02/08 01:34
>>651
CView派生なら、OnDrawなのでは?

653 :651:03/02/08 01:37
>>651 >>652
間違えました。OnPaint()じゃなくてOnPrint()です。
印刷方法が画面と異なるので、OnPrint()をオーバーライドしています。

654 :デフォルトの名無しさん:03/02/08 02:55
ウィンドウのDCに対してTextOutを行うときちんと描画されるのですが、
CreateCompatibleDCでウィンドウDCのコンパチで作ったDCには描画されません。

こういった不具合に考えられる原因に何か心当たりのある方、
いらっしゃいましたら、教えていただけませんか。
よろしくお願いいたします。

655 :デフォルトの名無しさん:03/02/08 03:03
>>651
プリンタドライバが原因じゃなくて?

656 :デフォルトの名無しさん:03/02/08 03:05
ほのかなコピペの香り

657 :651:03/02/08 15:35
>>655
とも思ったのですが、プリンターには依存しないみたいです。
NEC、エプソン、キャノンのプリンタでそれぞれ現象は確認しています。
印刷プレビューはうまくいくのに、何でその後の印刷処理は失敗するのだろうか?
不思議でなりません。

658 :デフォルトの名無しさん:03/02/08 15:38
>651
出来たり出来なかったりという現象は、たいていメモリがらみ。
CViewの派生クラスの生存期間を確認汁。

659 :デフォルトの名無しさん:03/02/08 18:34
ビルドする時に稀にVC自体が固まる事って有りませんか?
どうもビルド直前のファイルを保存する段階で固まってるみたいです。
おかげで今までも何回か固まってソースがあぼーんしてたんですけど
今回は1日かけて打ったコードがあぼーんしました。激しく鬱です。

原因や対応策など分かるのなら教えて頂けないでしょうか。
環境はWindows2000SP3 & VC++6.0SP4です。


660 :デフォルトの名無しさん:03/02/08 18:47
1日かけて打ったコードって・・・
それまで1回もコンパイルしなかったんだ

661 :デフォルトの名無しさん:03/02/08 18:53
>>659
ビルドする前に上書き保存しとけば良いジャン。
今に始まった訳でも無しwinの特にMS製のアプリ使ってる場合それはもう常識かと、

662 :デフォルトの名無しさん:03/02/08 19:00
>>661
その保存の時に固まってるんですよね。
とは言うものの実際に「全て保存」したときに固まった事は無いんですが
基本的にそれで保存しないので偶々遭ってないだけかも。

>>660
5、6時間程度ならザラです。

663 :デフォルトの名無しさん:03/02/08 19:10
ソース編集してすばやくビルド(F7)しようとしたら、
応答が無くなってソースファイルが消失したり(稀)、
ファイル保存のエラーメッセージが出たり(頻繁)
VCが落ちる(たまに)ってことはある。

俺の対策はWORDなどと同じでCtrl+S

664 :デフォルトの名無しさん:03/02/08 19:21
しかしレベル落ちたな
ここはPC初心者スレですか?

665 :名無しさん@Emacs:03/02/08 19:28
すみません、教えて下さい。
Visual C++ .Net って pro が無くって Standard しかありませんよね。
で、このStandardって昔の lerning みたいに商用利用禁止とかなんだ
かんだとうるさい制限あるんでしょうか?
VS.Net pro を買うのは馬鹿高いのですが、他の言語を使わなければVC.Net
Standard で事足りるものなのでしょうか?


666 :デフォルトの名無しさん:03/02/08 20:08
ストリングテーブルを使ってみたいのですが、

strcpy(hoge, ストリングテーブル内F_NAME);
fopen(ストリングテーブル内F_NAME ,"r");

のような事は、どんな関数を使えばいいですか?

667 :デフォルトの名無しさん:03/02/08 20:46
>>666
LoadString

668 :666:03/02/08 20:51
>>667
\(・∀・)/ アリガトン
やってみるよ。・・・何かコレ、使った覚えがあるなあ(;´д`)

669 :デフォルトの名無しさん:03/02/09 16:18
ちょっとお門違いな質問かもしれないが
ビジネスの現場で命名規則って、どれくらいの人が守ってるんだろう。
先頭にポインタの時p、正数ならnってのめんどいから
自分はやる気ゼロなんだけど。
あと自分でbool型定義するとき、みんな大文字のBOOL使って
TRUE,FALSE使うのかな。

670 :デフォルトの名無しさん:03/02/09 16:34
>>669
会社によりけりだと思われ。
社内で守れって言われたら守れば?
自分はいいかもしれないけど他の人がソース見たときに見やすいかどうかでしょ。

671 :デフォルトの名無しさん:03/02/10 00:07
うちの会社はその辺あんまりこだわってないけど、ループカウンタ用のi, jとかならともかく
普通の変数さえ一文字なのは勘弁して欲しい人はいる。マジやめれ・・・。

672 :デフォルトの名無しさん:03/02/10 00:28
マ板と微妙なラインで分かつ話題ですな

673 :デフォルトの名無しさん:03/02/10 01:17
VC使ってるってだけでVCの質問ではないな

674 :デフォルトの名無しさん:03/02/11 03:28
age

675 :デフォルトの名無しさん:03/02/11 09:44
質問させていただきます。

int型をchar型に変換するような関数は無いでしょうか?
当方、DelphiからVCに移ってきたものですが、
Delphiでいうinttostr関数のようなものを探しています。

676 :デフォルトの名無しさん:03/02/11 09:53
>>675
ランタイム ライブラリ リファレンスを参照

677 :デフォルトの名無しさん:03/02/11 09:56
>>675
http://www.microsoft.com/japan/developer/library/vccore/_crt_Run.2d.Time_Routines_by_Category.htm

678 :デフォルトの名無しさん:03/02/11 10:02
>>675
_itoa()

679 :675:03/02/11 10:52
>>676-678

初歩の質問に答えていただきありがとうございました!
お陰でDelphi時代と同じ手法が使えそうです。

680 :デフォルトの名無しさん:03/02/11 23:41
いろいろいじってるとパラメータヒントが
出なくなる時があるんだけど・・なぜ?
ワークスペース作り直すと出るようになるんだけど。

681 :デフォルトの名無しさん:03/02/11 23:59
>>680
仕様です。

682 :680:03/02/12 14:45
Σ(lll゚Д゚) ガーン!

683 :デフォルトの名無しさん:03/02/12 14:59
>>680
IntelliSenseのことだよな?

ショックを受けてる喪前さんに、
漏れが救いの手を差し伸べてやろう(藁

.ncbファイルを削除して作り直させてみな。

684 :デフォルトの名無しさん :03/02/12 16:09
Windowサイズいっぱいの長方形描きたく
引数に現在のウィンドウ領域の最大サイズ入れると
長方形の右下の座標がウィンドウのやや左よりになってしまい
ラインが見えてしまいます。
結果はウィンドウとたぶり長方形のラインは見えなくなると思ったのですが
これはなぜでしょうか

void CS21Wnd::OnPaint()
{
CPaintDC dc(this);

CRect sikaku;
GetClientRect(sikaku);

dc.Rectangle(sikaku.top, sikaku.left, sikaku.bottom, sikaku.right);

}

685 :デフォルトの名無しさん:03/02/12 16:22
ウィンドウの*ふち*の太さじゃね?

686 :684:03/02/12 16:24
どういうことでしょうか・・・

687 :デフォルトの名無しさん:03/02/12 16:41
矩形を描画すると右辺と下辺は数値より1ピクセル内側になるよ。

例えば5*3の長方形なら塗りつぶされるのは以下の■部分。

■■■■□
■■■■□
□□□□□

688 :デフォルトの名無しさん:03/02/12 16:46
VisualC++6.0でダイアログのイベントハンドラ追加できないエラーに
はまってます。

ダイアログエディタでダブルクリックすると
「新規メンバを追加できません」←なメッセージボックスがでて
ハンドラ追加してくれません。

何が原因なんでしょう?

689 :デフォルトの名無しさん:03/02/12 17:39
>>688
クラス定義部分どこかで文法エラーか、または何かコメントが消えてる。

690 :デフォルトの名無しさん:03/02/12 18:15
なるほど。回答ありがとうございます。
ソース調べてみます。


691 :684:03/02/12 18:31
>>687
ありがとうございました。


692 :デフォルトの名無しさん:03/02/12 18:56
WNDCLASSの中でプロシージャを指定するところがありますが、(WNDPROC lpfnWndProc)

void CCWnd :: WndClassSet(char *str){
 WNDCLASSEX wex;
 wex.lpfnWndProc = (WNDPROC)str;

}

これはもちろんコンパイルできませんが、
こんな感じで、プロシージャを指定する方法は無いでしょうか?

void CCWnd :: WndClassSet(WNDPROC proc){
 WNDCLASSEX wex;
 wex.lpfnWndProc = proc;

}

こんな感じでもいいのですが・・・
プロシージャの型はLRESULT CALLBACKです。

693 :デフォルトの名無しさん:03/02/12 19:45
>>692
まず試せ

694 :しょしんしゃ:03/02/12 21:40
リストボックスの水平スクロールバーについて質問です
(非MFC環境)
VCでリストボックスのプロパティの「水平スクロールバー」
をチェックしただけでは実際に現れない、LB_SETHORIZONTALEXTENT
で、幅を指定しろ、とのことはネットで調べてなんとかわかったのですが、
これをやっても何故か表示されません。

考えられる原因は何かあるでしょうか?
(リストボックスのプロパティは水平垂直スクロールバー以外いじってません)

695 :落伍者:03/02/12 21:53
OMANKO開閉中です

696 :落伍者:03/02/12 22:29
OMANKO開閉中です !!


697 :落伍者:03/02/12 22:30
OMANKO開閉中です !! !!


698 :デフォルトの名無しさん:03/02/12 23:01
>>694
ソース晒してみ。

699 :デフォルトの名無しさん:03/02/12 23:16
jdib32.dll のマニュアルに、
|BorlandC++以外のコンパイラをお使いの場合は,
|各自で,コンパイラに付属のimplib.exe(インポートライブラリ作成ツール)
|に相当するツールを使用して,jdib32.dllから,jdib32.libを作成してください.

と書いてあったので、VC6のヘルプで検索して確信が持てないまま、
>LINK /DEF:jdib32.dll /OUT:jdib32.lib を実行したところ、次のエラーが出ました。

|LINK : warning LNK4001: オブジェクト ファイルが指定されていません。ライブラリを使用します
|LINK : warning LNK4068: /MACHINE の指定がありません; IX86 をデフォルトとします
|jdib32.dll : warning LNK4017: MZP 文はターゲット プラットフォームでサポートされていません;
| 無視しました
|ライブラリ jdib32.lib とオブジェクト jdib32.exp を作成中
|LINK : fatal error LNK1104: ファイル "jdib32.lib" を開けません。
|LINK : fatal error LNK1141: エクスポート ファイルのビルド中に障害が起こりました。

どうやったら作成できるんでしょうか?


700 :692:03/02/12 23:21
>>693
分かる範囲で適当に試して済んでるなら書き込みませんよ。
上記のソース+何通りかは試してます。
ウインドウプロシージャは関数だからパラメータで渡す事はできないので、
分からんのです。

701 :デフォルトの名無しさん:03/02/12 23:42
>>692

char* s = (char*)(WNDPROC)WndProc;
WndClassSet(s);

もし、やりたいことが、

WndClassSet("WndProc");

みたいなことだとしたら、おまえにCは向いてないから別の言語選択しる。

702 :デフォルトの名無しさん:03/02/12 23:44
ちなみに

void CCWnd :: WndClassSet(WNDPROC proc){

でも充分いけるぞ。
(Windowプロシージャが仮想関数とかじゃなければな)

703 :しょしんしゃ:03/02/12 23:51
>>698
作成したダイアログボックス(チャット用のウィンドウの予定です)にあるリストボックスです

HWND hChatDlg;
hChatDlg=CreateDialog((HINSTANCE)hm,MAKEINTRESOURCE(IDD_CHAT),hWnd,(DLGPROC)ChatDlgProc);
SendMessage((HWND)GetDlgItem(hChatDlg,IDC_CHATLIST),LB_SETHORIZONTALEXTENT,(WPARAM)100,0);

IDD_CHAT はダイアログのIDでIDC_CHATLISTはダイアログ内のリストボックス
です。

もしかしてタイミングとかやばいんですかね?お願いします。。

704 :デフォルトの名無しさん:03/02/13 00:01
なぜWM_INITDIALOGでしょりしない?

705 :デフォルトの名無しさん:03/02/13 00:07
>>703 LBS_MULTICOLUMNになってない?

706 :しょしんしゃ:03/02/13 00:10
>>704
それもしてみてますがやっぱりバーは現れないです。。

707 :しょしんしゃ:03/02/13 00:16
>>705
それは、VCのリストボックスのプロパティのスタイルのところにある、
「複数列」というチェックボックスの部分でしょうか?

チェックはついていません

708 :デフォルトの名無しさん:03/02/13 00:47
>>703
・GetDialogItemはちゃんと有効なハンドルを返してる?
・リストボックスの幅は100より小さい?

709 :しょしんしゃ:03/02/13 01:28
>>708
うわっ わかりました。。。
リストボックスの幅に足りてませんでした。何やってんだろ、、、

ご迷惑おかけしました。ありがとうございます!!

710 :デフォルトの名無しさん:03/02/13 08:24
>>699
VCにはimplib.exe相当のものが存在しないので
VCでつくったDLLをBCで利用することは可能だが逆は不可能。


711 :デフォルトの名無しさん:03/02/13 08:38
getprocaddress使えばええやん

712 :699:03/02/13 23:30
>>710
回答ありがとうございます。
ダメでしたか。
マシンが高速化されてるし、DirectXもあるから、DIBは需要少ないんですね。


713 :デフォルトの名無しさん:03/02/13 23:46
>>712
自分でダミーのdll作って、lib作れば

714 :699:03/02/14 00:17
>713
初心者なので、ちょっとムリかも。


715 :デフォルトの名無しさん:03/02/15 00:57

 VC++の自作アプりを配布するときに、フリーで
ソースも付けたいと思ってるんですが、プロジェクトごと
圧縮して配布して良いもんなんですかね?

 別にウイルスとかヤバイのじゃないけど、シリアルとか
そのまま配っても漏れませんか?



716 :デフォルトの名無しさん:03/02/15 02:16
ハローワールドってなにですか?

717 :デフォルトの名無しさん:03/02/15 02:53
職安

718 :716:03/02/15 03:16
>>717
ありがとうございます。解決しました。

719 :デフォルトの名無しさん:03/02/15 11:45
VC++のデバッガで以下のエラーを教えてくれる方法知りませんか?

int a;

void main(void){

int b=1;

if(b==0) a=0;

b=a;       //<- ここで「”a”に初期値が与えられていません」なエラー

}


720 :デフォルトの名無しさん:03/02/15 11:46
>>719
コンパイラの警告レベルを4にしろ。
そして警告は全てエラーにする、を選択しとけ。

721 :デフォルトの名無しさん:03/02/15 18:55
インターネットを介した通信プログラムを作りたいと思うのですが
お手本になるようなオープンソースなプログラムってありますか?

722 :デフォルトの名無しさん:03/02/15 18:56
>>721
CSocketで調べれば良いんじゃない?


723 :デフォルトの名無しさん:03/02/15 19:02
>>721
unix

724 :デフォルトの名無しさん:03/02/15 19:02
>>722
検索しました。
いろいろみつかって何とかなりそうです。
頑張ってみます。

725 :721:03/02/15 19:16
うそだぴょーん、まったくわかんねーよ。
わかりやすいページがあったら教えてくれ。頼む。

726 :721:03/02/15 19:17
>>725は偽物ですので。

727 :デフォルトの名無しさん:03/02/15 19:33
>>726
はいはい、偽物さんは帰った帰った。

728 :デフォルトの名無しさん:03/02/15 19:34
VCスレでのUNIX発言を取り消そうと必死なのだろうか?


729 :デフォルトの名無しさん:03/02/15 20:33
>>726
ジサクジエンだろ?

730 :デフォルトの名無しさん:03/02/15 22:24
タイトルバー無しのウィンドウをアプリケーション本体の
ウィンドウよりも上につくろうとしてますが、てこずってます。

・CreateEx()でWS_EX_TOPMOSTを指定したが
 アプリケーションウィンドウよりは上にはならない。
・CreateEx()のpParentWnd,nIDを0にすると上にはなるが
 独立したウィンドウになるので
 タスクバーに含まれてしまい気持ちが悪い。
・pParentWnd,nIDを0にしてWS_EX_TOOLWINDOWを指定すると
 タスクバーに含まれないが、ウィンドウにタイトルバーがついてしまう。

CreateEx(WS_EX_TOPMOST,
     className, "", WS_CHILD|WS_BORDER,
     rect, GetDesktopWindow(), nID);
で、今、このようにデスクトップウィンドウを親に指定してやれば
望みどおりアプリケーションウィンドウよりも前面の
タイトルバー無しのウィンドウができたんですが
nIDにへたな番号を渡すと他のアプリと干渉しないかが心配です。
そもそももっとうまくやる方法はないのでしょうか?

731 :デフォルトの名無しさん:03/02/15 23:54
>>730
>タイトルバー無しのウィンドウをアプリケーション本体の
>ウィンドウよりも上につくろうとしてますが
なにがしたいの?

732 :730:03/02/16 00:17
スタートボタンにカーソルあわせると
ポップアップしたヘルプが出るじゃないですか。
ああいうのを作りたいんです。
それだけならHtmlHelp()を使えばいいですが
ウィンドウの中身に、いろいろなフォントをまぜて
表示したりビットマップ貼ったりしたいんです。
HtmlHelpだとそこまではできないようなので。

733 :デフォルトの名無しさん:03/02/16 00:22
ツールチップのことか?
なら、ツールチップ使えばいいじゃん。

734 :730:03/02/16 00:31
ツールチップ!?

・・・検索中・・・

ポップアップヘルプでググってたけど、なかなか求めてるのが
ひっかからなくて、おかしいなと思ってたら・・・
ちなみに手元の本にはツールヒントって書いてあって
ちゃんと説明もあった・・・出直してきます。(´・ω・`)ショボーン

735 :デフォルトの名無しさん:03/02/16 02:42
ウィンドウの中で円が壁に当たると反射させたいのですが
実行させると壁を突き抜けてどっか行ってしまいます。どこに間違いがあるんでしょうか。
コードが稚拙なのはご了承ください。
int xpos;
int ypos;
int xmov;
int ymov;
int size;
int win_xsize;
int win_ysize;
void CS27Wnd::OnPaint()
{
CPaintDC dc(this);
dc.Ellipse(xpos, ypos, xpos + 100, ypos + 100); }
int CS27Wnd::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
SetTimer(1, 10, NULL);
return 0; }
void CS27Wnd::OnSize(UINT nType, int cx, int cy)
{if (nType == SIZE_MINIMIZED)
{ return;
}
win_xsize = cx;
win_ysize = cy; }

736 :デフォルトの名無しさん:03/02/16 02:42
void CS27Wnd::OnTimer(UINT nIDEvent)
{xmov = +5;
ymov = +5;
if (xpos + xmov > win_xsize) {
xmov = -5; }
if (ypos + ymov > win_ysize) {
ymov = -5; }
if (xpos + xmov < 0) {
xmov = +5; }
if (ypos + ymov < 0) {
ymov = -5; }
xpos = xpos + xmov;
ypos = ypos + ymov;
Invalidate(); }

737 :デフォルトの名無しさん:03/02/16 03:27
>>736
各変数の初期値は適宜初期化されてるとして……

OnSize()で
win_xsize = cx;
win_ysize = cy;
ってなってるけど、●の大きさ考えてないよね?
あと、OnTimerで常に
xmov = +5;
ymov = +5;
してるのもどうかと思う。
この条件文だと、 xpos + xmov ( xpos + xmov )がはみ出るときしか跳ね返らない。

738 :デフォルトの名無しさん:03/02/16 03:31
↑は xpos + xmov ( ypos + ymov )の間違い。

一度跳ね返るとウィンドウ内に戻るから、跳ね返りの条件に当てはまらずにまた右下へ向かう。
その結果右下端でバウンドするのが最終結果だと思うけど。

OnTimerで方向ベクトル(xmov、ymov)を初期化するべきか、
実際の円が動く範囲は直径を考えるとどこからどこまでか、
ということがポイント。

739 :デフォルトの名無しさん:03/02/16 03:39
>>735-736
どうしても分からん頭持ってるならブレークポイントいれて見てみろや

740 :デフォルトの名無しさん:03/02/16 15:33
void CChildView::OnContextMenu(CWnd* pWnd, CPoint point)
{
  CMenu menu;
  VERIFY(menu.LoadMenu(IDR_MENU_POPUP));
  CMenu* pPopup = menu.GetSubMenu(0);

  pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, this);
}

上記のような感じで右クリックでポップアップメニューを出しているのですが、
UPDATE_COMMAND_UI をハンドルしてもチェックマークを入れることができません。
なぜなのでしょうか? どっかが根本的に悪い気がするのですが。


741 :デフォルトの名無しさん:03/02/16 18:31
>>740
TrackPopupMenuの最後の引数はメインフレームのウィンドウへのポインタだった気がする。

742 :740:03/02/16 19:46
>>741
ありがとうございます。
this → AfxGetMainWnd の修正で旨くいきました。



743 :736:03/02/16 20:07
>>737-739
有難うございました。

744 :デフォルトの名無しさん:03/02/17 00:56
char st1[]={"1","1"};//←エラー
char st2[]="11";//←OK

・・・なんで?


745 :デフォルトの名無しさん:03/02/17 00:58
>>744
疑問の余地もないと思うが

746 :デフォルトの名無しさん:03/02/17 01:00
>>744
char st1[]={'1','1'};かchar *st1[]={"1","1"};だろ(^_^;)

747 :デフォルトの名無しさん:03/02/17 04:08
>>746
ネタニマジレス(以下略

748 :デフォルトの名無しさん:03/02/17 05:34
>>747=ネタということにしたい>>744

749 :デフォルトの名無しさん:03/02/17 07:58
>>748=と言うことにしたい>>744


750 :デフォルトの名無しさん:03/02/17 10:52
int型の子息演算でオーバーフロー例外を投げさせる方法、またはインラインアセンブラ以外で
キャリーフラグを調べる方法はないですか。

751 :744:03/02/17 11:01
>>746
ありがとう。

いや、マジだったんだけど、前者は連結されると思ってたのね。
”と’の違いがよく分かってなかったから。今でもあんまりだけど。

いや、ホントごめんなさい。

752 :デフォルトの名無しさん:03/02/17 12:02
>>750
C#使う

753 :デフォルトの名無しさん:03/02/18 16:11
>>750
A < B + C ならば A - B < C
A < B * C ならば A / B < C


754 :ユウジ:03/02/19 01:57
VC++6.0 XPでMFCの環境です。

保存してあるテキストファイルを読み込んでエディットボックスに表示
させたいと思っています。
テキストを行ごとにそれぞれのエディットボックスに表示させたい
のですが表示することができません。
どのようなコーディングをすればよいのか教えていただけませんでしょうか。

755 :デフォルトの名無しさん:03/02/19 02:36
>>754
エディットボックスの配列を作って、
for (int i = 0; i < MAX; i++)

てっかんじで、Ebox[i] というエディットボックスに書き込むといいのでは。


756 :デフォルトの名無しさん:03/02/19 03:18
>>754
何をやった上でできないのか不明だから答えづらいけど、
クラスウイザードでオブジェクトを作成してエディットコント
ロールの操作はできているわけ?



757 :デフォルトの名無しさん:03/02/19 03:32
>>754
せめて途中経過や試したことくらい書けよボケ

758 :デフォルトの名無しさん:03/02/19 08:28
>>754
最後の行の日本語が間違ってるぞ。
「代わりに作ってください」だろ。






ツツシンデオコトワリイタシマス

759 :デフォルトの名無しさん:03/02/19 22:58
VC++6.0のファイル検索をするプログラムをダイアログベースで作成中です。
ファイル検索の進捗を表すプログレスバー付きダイアログに検索中断ボタンを設置したの
ですが、どうすればうまく機能させられるかわかりません。現在の処理手順は以下です。

モードレスダイアログをCreateし、AfxBeginThreadにてワークスレッドを作成。
//ワークスレッド
検索処理を行い、AfxBeginThreadに渡したダイアログのポインタを
通してSetPosを実行、検索終了したら終了フラグを立てて終了。
//メインスレッド
ワークスレッド作成後はダイアログをDestroyWindowさせない為、終了フラグが立つまで
forでループをする。

この手順だと検索中は中断ボタンのクリックを受け付けません。この手順自体に無理が
あるのでしょうか?



760 :デフォルトの名無しさん:03/02/19 22:59
こんなことになってるぞ。呆れた。と言うより笑ってしまった。とほほ・・・。

http://pakopako.misty.ne.jp/enter.cgi?id=fdeai

761 :デフォルトの名無しさん:03/02/20 01:22
>>759
>終了フラグが立つまで forでループをする。
さて、ダイアログはいつメッセージを処理するんでしょうね?

762 :デフォルトの名無しさん:03/02/20 22:12
リッチエディットコントロールについて質問です。
リッチエディットの任意の位置に文字列を挿入するにはどうすればよいのでしょうか。
SetWindowText()だと今まであった文字列が消えてしまいます。
調べたところEM_SETTEXTEXというメッセージでできるようなのですが、
このメッセージはどこにも定義されていないようです。EM_GETTEXTEXならあるんですが…
解決方法を知っている方いましたら、教えてください。

763 :762:03/02/20 22:36
自己解決しました。WM_REPLACESELというメッセージがありました。

764 :759:03/02/20 22:46
プログレスダイアログなるものを発見して解決しました。そんなものがあるとは知らず
素のダイアログにプログレスバーを貼り付けてました(´Д`)
>761
メッセージループはしていたのですが、キャンセルボタン押下時のメッセージ受付の
方法とかがわかりませんでした。


765 :デフォルトの名無しさん:03/02/21 11:43
共用体ってインテリセンス使えない?
LARGE_INTEGERのLawPart & HighPartが出てこないよ〜

766 :デフォルトの名無しさん:03/02/21 14:22
小数点以下の値を、指定した位置で四捨五入、切り捨て、切り上げするには
どうしたら良いのでしょう?
四捨五入だけだったら%3.2fとかって書けば良いのは分かるんですけど。
初歩中の初歩かと思うんですけど、教えてください。

767 :デフォルトの名無しさん:03/02/21 14:59
>>766
足して割ればいいやん。
//小数点2桁で四捨五入
a = floor(doublevalue * 100 + 5) / 100;
とか
//小数点1桁で四捨五入
a = floor(doublevalue * 10 + 5) / 10;
とか。

768 :デフォルトの名無しさん:03/02/21 15:24
みなさん、円周率の定数得るときどうしていまつか?


769 :デフォルトの名無しさん:03/02/21 15:28
>>768
手打ちでええやん。
const double PI = 3.14159265358979;

770 :デフォルトの名無しさん:03/02/21 15:37
>>767
負号に注意な。

771 :デフォルトの名無しさん:03/02/21 17:50
>>767>>770
参考しながらなんとか思い通りのモノが出来ました。
レスありがとうございました。

772 :デフォルトの名無しさん:03/02/22 01:34
あのCreateDirectoryって、最下層まで一気にフォルダ作ってくれないんですか?
例えば、c:\2ch\vc\test\readme.txtだとしたら、まず2ch作ってその下にvc作って…
としないとダメなんでしょうか?

773 :デフォルトの名無しさん:03/02/22 01:37
>>772
Delphiにおいで。

774 :名無し@沢村:03/02/22 02:12
>>772
SHCreateDirectoryEx()

775 :デフォルトの名無しさん:03/02/22 02:19
>>772
MakeSureDirectoryPathExists
imagehlp.hのインクルードとimagehlp.libのリンクを忘れるな。

776 :デフォルトの名無しさん:03/02/22 02:19
>>774
氏ねボケ

777 :デフォルトの名無しさん:03/02/22 02:53
>>776
文句があるなら理由を書け

778 :デフォルトの名無しさん:03/02/22 08:14
>>777
理由。

779 :名無し募集中。。。:03/02/22 15:00
独習Cに書いてらるmain(int argc,char argv[])関係のプログラムってVC++でちゃんと動きます?なんかエラー出るんですけど

780 :デフォルトの名無しさん:03/02/22 15:01
>>779
argv[]じゃなくて*argv[]

781 :デフォルトの名無しさん:03/02/22 15:02
>>779
エラーが出るならエラーメッセージくらい書いたら?

782 :779:03/02/22 15:05
どうもです、*argv[]でした。*argv[]で動かないです。エラーメッセージ出ないでエラー0、警告0で、実行したら強制終了するんです

783 :デフォルトの名無しさん:03/02/22 15:07
>>782
独習Cを持っていないからわからないけど、多分アクセス違反だな。
写し間違いはない?
あと、http://pc2.2ch.net/test/read.cgi/tech/1044938752/のスレの方がいいかも。

784 :779:03/02/22 15:11
どうもです、もうちょっと本読んで見ます

785 :デフォルトの名無しさん:03/02/22 16:13
VC++にて下記を実行すると

char szSound[100] ;
GetPrivateProfileString( "CLOCK", "SOUNDFILE", "あ", szSound, 100, "c:\Clock.ini" ) ;

szSoundには「あ」がせっとされます。
c:\Clock.iniは存在します。
セクション名もキー名もあっています。
SOUNDFILEキーには「c:/test.wav」を設定しているので
szSoundには"c:/test.wav"がセットされるハズだと
思うのですが何がいけないのでしょうか?
教えてください。

786 :tantei:03/02/22 16:14
★あなたのお悩み解決致します!!
●浮気素行調査
彼氏、彼女、妻、夫の浮気を調査致します!!
●盗聴器盗撮機発見
あなたの部屋に誰かが仕掛けているかも!!
●行方調査
行方不明になっている家族の消息を調査致します!!
●電話番号から住所割り出し
一般電話、携帯から住所を割り出し致します!!
●ストーカー対策
社会問題ともなっているストーカーを撃退致します!!
その他人生相談からどんなお悩みでも解決いたします!!
 直通  090−8505−3086
URL  http://www.h5.dion.ne.jp/~grobal/
メール  hentaimtt@k9.dion.ne.jp
   グローバル探偵事務局 



787 :デフォルトの名無しさん:03/02/22 16:21
>>785
文字列の中で\マークがどのような振る舞いをするか考えてみよう。
\は変換指定子に使われるんだよ。
ディレクトリの区切りは/を使うか、あるいは\\を使うようにしよう。

788 :785:03/02/22 16:28
>>787
ありがとうございます。

char szSound[100] ;
GetPrivateProfileString( "CLOCK", "SOUNDFILE", "あ", szSound, 100, "c\\Clock.ini" ) ;

「\\」にしたのですがやはりダメです。。
何でだろう。。

789 :デフォルトの名無しさん:03/02/22 16:30
>>788
× c\\Clock.ini
○ c:\\Clock.ini

単なる入力ミスかもしれんが、一応。

790 :785:03/02/22 16:36
>>789
ちゃんと「c:\\clock.ini」としているのですがダメなんですよぉ(T-T)

791 :デフォルトの名無しさん:03/02/22 16:55
書き込み権限がないとか。

792 :名無しさん@そうだ選挙にいこう:03/02/22 17:03
"あ"-修正->""

793 :デフォルトの名無しさん :03/02/22 17:13
char szSound[100];

GetPrivateProfileString( "CLOCK", "SOUNDFILE", szSound, szSound, 100, "c:\\Clock.ini");

794 :785:03/02/22 17:51
>>793
それでもダメなんですぅ。。(T-T)

795 :デフォルトの名無しさん:03/02/22 18:05
int型の変数にCString型の変数の値を入れたい場合は
どうしたらよいっすか?


796 :名無し@沢村:03/02/22 18:14
>>795
CString str;
int n; として

n = (int)(LPCTSTR)str;

797 :名無し@さん:03/02/22 18:18
DQNな質問で悪いんだけど・・・。

VC++勉強しよう思うんだけど、やっぱりCもC++もやったことない
(正確には、Cはデータの型とscanf,printfが使えるぐらい)
人間はまずC,C++を勉強しないと無理?
ちなみにプログラミング自体は初心者じゃないです。

798 :デフォルトの名無しさん:03/02/22 18:24
>>796
うまくいかないっす(^^;
CString str;
int n;

str = "0";
n = (int)(LPCTSTR)str;

ってやっても
nには 0が入らないっす。

799 :デフォルトの名無しさん:03/02/22 18:24
>797
無理


800 :デフォルトの名無しさん:03/02/22 18:25
>798
atoi

801 :デフォルトの名無しさん:03/02/22 18:25
>>797
地道にcとc++を勉強しましょう。
結局はそれが近道です。
そんなに時間はかかりませんから。

802 :デフォルトの名無しさん:03/02/22 18:26
>798
釣られたんだよ。


n = ::atoi( str );
でやってみ。

803 :デフォルトの名無しさん:03/02/22 18:29
>>797
今はどんな言語がつかえるの?

804 :デフォルトの名無しさん:03/02/22 18:30
>>800
>>802
ありがとうです。
うまくいきました。

今度は、CString型にint型の変数をセットしたいのですが
どうしたらよいですか?

805 :デフォルトの名無しさん:03/02/22 18:31
c:\\の前にも\\をつけてみたら?
つまり"\\c:\\Clock.ini"

806 :名無し@沢村:03/02/22 18:34
>>798
なんだ、そういうことか。
_tcstol()か_ttoi()だな。

>>797
ヌヒにはC++を知らないで "Visual C++" を使えると思った理由を問いたい。

807 :デフォルトの名無しさん:03/02/22 18:38
>>805
それでもダメでした。。。

808 :デフォルトの名無しさん:03/02/22 18:41
>>807
もう諦めろ!

809 :デフォルトの名無しさん:03/02/22 18:44
>804
str.Format( _T("%d"), n );

810 :デフォルトの名無しさん:03/02/22 18:46
DDKってダウンロードできないんですか?

811 :797:03/02/22 19:00
やっぱりそうか〜。みなさんアドヴァイスありがとうございます。
とりあえずC++の本買ってきます。

>>803
・・・・・・HSP(ボソッ)。お金がないんだよう。ヽ(`Д´)ノ
一応BASIC,CASLあたりも余裕です。当たり前か。
VBもちょこっとかじりますた。あ!そうそう、あとはTOWNS-GEA(以下略)

>>806
使えると思ったわけじゃないんだけど、VBなんかはBASICなんて名前が
付いてるけど、BASICとは全くの別物と言ってもいいような言語じゃ
ないですか。ある程度知識があればBASICはショートカットできそうだし。
そんな感じで、VC++もC++とはほとんど別物なのかな〜と・・・。

812 :デフォルトの名無しさん:03/02/22 19:05
>>811
一理あるな。VC++にもC++にない仕様がイパーイある。
でもC++のクラスについて理解しておかないと何も組めない罠。

813 :デフォルトの名無しさん:03/02/22 19:14
>>811
VCの場合は、CやC++のコードを組んでいって、ここぞと言うときに
MS独自の関数を使うという感じがします。
平屋の家を、2階建て3階建てに増築したようなもので、
分かりづいらいです。

814 :797:03/02/22 19:17
>>812
BASIC程度なら、勘でなんとかなりますしね。
う〜んその辺がVC++とVBの違うところか・・・。
pDC->TextOut(中略)
とかサッパリです。「pDC->」←なんじゃこれは!
勉強しよっと。目指せ1ヶ月でVC++マスター。

815 :デフォルトの名無しさん:03/02/22 19:22
おまいはCのポインタをちゃんと理解しているのかと小一時間…

816 :デフォルトの名無しさん:03/02/22 19:27
>>815
Cのポイントぐらい理解しています。

817 :デフォルトの名無しさん:03/02/22 19:30
だったらポインタから構造体(この場合はクラスだが)のメンバに
アクセスするには -> を使うことぐらい(以下略)


818 :797:03/02/22 19:31
>>813
ほうほう、例えば計算機作るなら、計算する部分はC++で組んで、
計算機のウインドウの制御はMSの関数でやるってな感じですか?

>>815
してないです。Cもほんのちょこっとやっただけなんで。
でもポインタの概念は知ってますよー。

819 :797:03/02/22 19:33
連続スマソ。

>>816
誰だチミは??
いくらDQNでもこんなことをageで書くようなことはせんですよ。

820 :デフォルトの名無しさん:03/02/22 19:37
>>819
いい加減うざいぞ、お前。

821 :デフォルトの名無しさん:03/02/22 19:44
>>820
オマエモナー

822 :デフォルトの名無しさん:03/02/22 19:44
>>814
pDCがポインタだから->を使うんだろ?
そうでなければ.でいいんだが。
また、
(*pDC).TextOut(中略)
でも動くけどな。

823 :デフォルトの名無しさん:03/02/22 19:47
>>822
>>817で外出。

824 :デフォルトの名無しさん:03/02/22 19:58
ここでポインタの話なんかしなくていいから。
したけりゃCスレでも行け。

825 :797:03/02/22 20:00
>>820
sageで書こうね。>>816の自作自演?

>>822
そうか、なんとなーく分かってきた。
って言っても画面に文字を表示できるだけじゃあダメダメなんで
もうちょい勉強してきます。

826 :デフォルトの名無しさん:03/02/22 20:44
エディットボックスにカーソルを合わせて
Enterキーを押すと閉じてしまいます。
Enterキーを押しても閉じないようにするにはどうしたらよいか
教えてください。
カルチョジュセヨ

827 :デフォルトの名無しさん:03/02/22 21:45
>>825
sageようがくだらない質問はするな。もうくんなよ。

828 :デフォルトの名無しさん:03/02/22 21:52
>>826
そろそろダイアログボックスで組むのやめれば?

829 :826:03/02/22 22:10
>>828
そろそろって。。。
まだはじめたばかりなんだけどなぁ。。

830 :デフォルトの名無しさん:03/02/22 22:24
ポインタが分からないんじゃなく、
デバイスコンテキストというものが何なのかがわからないんでしょ?
デバイスコンテキストは、描画対象だと思えばいい。

831 :デフォルトの名無しさん:03/02/22 22:39
Excelのセルを操作したいんですけど、VCでやるのは難しいですか?

832 :デフォルトの名無しさん:03/02/22 22:41
>>831
面倒くさいだけ。難しくはない。

833 :797:03/02/22 22:56
>>830
ポインタが分からないっていうか、ポインタ「も」分からないんだけど、
ポインタの質問をしにきた訳ではなく、VC++がサッパリ分からない例えに
pDC->TextOut(中略)
を出しただけです。
でも親切にどうもありがとう!とりあえず本買ってきたんで、今から
じっくり読みます。

834 :デフォルトの名無しさん:03/02/23 01:04
>>826
ダイアログには普通OKボタンというものがあって、Enterキーを押すと自動的に押されるのだ。
たとえボタンを付け忘れていても、Enterキーを押すと気をきかせてOnOKを呼んでくれるのだ。
そしてCDialogのOnOKにはダイアログを閉じる処理が書かれているのだ。
だから自分でOnOKを追加して、「押しちゃイヤン」とかメッセージを出させるようにするといいよ。

835 :デフォルトの名無しさん:03/02/23 04:03
>>826

HogehogeDlg::OnOK()
// CDialog::OnOK(); ←(・∀・)イイ!!

HogehogeDlg::OnCancel()
// CDialog::OnCancel(); ← (・∀・)カンペキ!!

836 :デフォルトの名無しさん:03/02/23 06:32
あ、俺もそれどうにかしようと思ってて面倒いから放置してた。
OK、キャンセルのボタン消した後だと追加するの大変だから
最初にOK キャンセルをダブルクリックして関数を追加しておくといいね。

でも閉じるボタン押してもウインドウが閉じなくなるから
ESCでは閉じなくて Xボタンで閉じるようにしないといけないな




837 :デフォルトの名無しさん:03/02/24 01:36
コマンドボタンの標準ボタンのチェックはずせばいいじゃん

838 :デフォルトの名無しさん:03/02/24 02:59
>837
実際に試してみい

839 :デフォルトの名無しさん:03/02/24 09:31
Visual Studio 6.0 を使っているのですが、マシンに搭載されているCPUの数
を調べる方法はあるのでしょうか。
(CPUの数に合わせたスレッド数でマルチスレッドを行いたいのです)

初心者の質問ですみません。分かる方よろしくお願いします。

840 :デフォルトの名無しさん:03/02/24 10:32
>>839
GetSystemInfo()
SYSTEM_INFO構造体のdwNumberOfProcessors

ヘルプを読んだだけなので間違ってるかも。

841 :837:03/02/24 10:55
>>838
おわ!ホントだった!
んじゃID_OKを変えるということで。

842 :デフォルトの名無しさん:03/02/24 11:57
>840
無事うまくいきました。
素早いレスありがとうございました。

843 :デフォルトの名無しさん:03/02/24 14:21
OKボタンの標準ボタンのチェックをはずすなら、他のボタンを標準ボタンにしなきゃだめよ。

844 :デフォルトの名無しさん:03/02/24 15:50
別に標準がなきゃいけないわけでもなかろうに。

845 :デフォルトの名無しさん:03/02/24 16:01
標準がないとOKボタンが押されたのと同じ動作になるんだよ。
だからOKボタンの標準をはずして他のボタンを標準にすれば、
Enterを押した時のその他のボタンが押されるのでダイアログが閉じない。

846 :デフォルトの名無しさん:03/02/24 18:28
他の重要なメッセージが大量のメッセージの中に埋もれてしまうのでデバッグ時の
'Hogehoge.DLL' をロードしました、合致するシンボル情報は見つかりませんでした
というメッセージを出さなくする方法はありませんか?



847 :デフォルトの名無しさん:03/02/24 18:45
>>835
それってどうやるの?
どこに書けばいいの??

848 :デフォルトの名無しさん:03/02/24 19:03
CTestDlg1にはメンバ変数objA というクラスがあります。
CTestDlg2にはメンバ変数objB というクラスがあります。

objAをobjBに参照渡しをする場合どうしたらよいのでしょうか?



849 :デフォルトの名無しさん:03/02/24 20:52
>>848
できないんでない?

850 :デフォルトの名無しさん:03/02/24 21:53
>CTestDlg1にはメンバ変数objA というクラスがあります。
>CTestDlg1にはメンバ変数objA というクラスがあります。
>CTestDlg1にはメンバ変数objA というクラスがあります。
>CTestDlg1にはメンバ変数objA というクラスがあります。
>CTestDlg1にはメンバ変数objA というクラスがあります。
>CTestDlg1にはメンバ変数objA というクラスがあります。
>CTestDlg1にはメンバ変数objA というクラスがあります。
>CTestDlg1にはメンバ変数objA というクラスがあります。

851 :デフォルトの名無しさん:03/02/24 23:38
>>847
OKボタンとキャンセルボタンがあるダイアログのサンプルを探してきてコピペろ

852 :デフォルトの名無しさん:03/02/25 04:09
ちょっと教えて君でスマソ。
Visual C++ 6.0 SP5を持ってます。
コンパイラが同一の場合、WinXP上でコンパイル、リンクして生成したオプジェクト(EXEなど)と、
WinME(98など)上で、コンパイル、リンクして生成したオブジェクトって、
いかなるときでも同じはずですよね。
もし、違うものが生成されるとしたら、どんな特殊なときなのか教えてください。

853 :デフォルトの名無しさん:03/02/25 04:25
>>852
コンパイルする環境によってデフォルトで定義されるマクロが違うから生成されるものも異なる。


854 :デフォルトの名無しさん:03/02/25 04:27
タイムスタンプ

855 :デフォルトの名無しさん:03/02/25 04:30
>>853
あくまでそのレベルですよね。
同じコンパイル環境で、OS依存はありえないですよね。


856 :デフォルトの名無しさん:03/02/25 04:35
コンパイラの中に
if(Win98){
98 用のバイナリを生産
} else {
NT用のバイナリを生産
}
と書かれていたら、異なるバイナリが生産されてしまうな。

857 :デフォルトの名無しさん:03/02/25 04:38
>>855
だから違うって言ってるだろ?
一般にWin98でコンパイルすればWin98用exe、NTでコンパイルすればNT用exeができる。

858 :デフォルトの名無しさん:03/02/25 07:58
>>857
なにが「一般に」だ。
デフォルトのコンパイルオプションを見ろ。

859 :あああ:03/02/25 10:47
VC# .NETでしばらく遊んでたんですが、小さなアプリでさえ動作が
重い(CLRをロードするから?)のでVC++ .NETに乗り換えました。

理解が違ってるとあれなのでお伺いしたいんですが
・マネージドコード
-> C++、C#、VBで書いたコードの違いは最終的にはCLRに吸収されて
  同じものができる。好みの言語でプログラミングができるという
  だけの話。

・アンマネージドコード
  いわゆるネイティブなアプリを作るにはVC++を使って、しかも.NET
Frameworkを使わずに書かなければならない

こう理解して問題ないのでしょうか。ひょっとして凄く恥ずかしい
こと書いてるかも??

860 :デフォルトの名無しさん:03/02/25 11:55
まず先に

 ( ・∀・)   | | 
 と    )    | |  ガッ
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/
 (_フ彡        /  ←>>859

861 :デフォルトの名無しさん:03/02/25 12:34
>>852
OS依存のライブラリをスタティックリンクした場合とか?

862 :デフォルトの名無しさん:03/02/25 14:04
たとえば、世に出ているXPやME対応のアプリ、とうたっているアプリは、
どのようにして開発しているんでしょうね。
開発PCのOSに依存するコードが生成されているとしたら、
社員の使っているPC(にインストールされているOS)によって、
できるプログラムが異なると、いろいろややこしくなりますよね。

863 :デフォルトの名無しさん:03/02/25 14:06
>>862
だから動作確認するんだろうが

864 :デフォルトの名無しさん:03/02/25 14:06
メールランクライハカンベンシロ

 ( ・∀・)   | | 
 と    )    | |  ピコッ
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/
 (_フ彡        /  ←>>860

865 :デフォルトの名無しさん:03/02/25 14:13
>>863
それ以前の生成されるコードのレベルの話じゃん。


866 :デフォルトの名無しさん:03/02/25 14:19
>>855
だからそのレベルでありえてるだろと。
何が聞きたいのかわからん。

867 :デフォルトの名無しさん:03/02/25 14:20
>>862
下位互換って知ってるかな……

868 :デフォルトの名無しさん:03/02/25 14:26
ここ、ひねくれてる香具師多いな。
知ってても答えねー、みたいな(w

869 :デフォルトの名無しさん:03/02/25 14:30
つーか>>862のようなことを心配してるんだったら
コードレベルで同じかどうかなんて気にしてもしゃーないべ。


870 :デフォルトの名無しさん:03/02/25 14:32
>>862>>852のことを踏まえて言ってるのかな?

たとえばWin95でコンパイルされたなら、それ以降の9x系には基本的に対応。(MSがそう謳ってる)
けれども作ったときにはWinMeなんて出てなかったりしたから、当然「対応」なんて書けない。
「Me対応」っていうのは要するに「Meで動作を確認しますた」ってことなワケよ。

中にはMeの場合に特別な処理をしたりとか、OSによって処理を切り替えたりする部分があったりして
その処理にMe用を入れて「Me対応」という場合もあったり、特定のバージョンでないと動かないように
してあったりするものがMeでも動くようになればそれで「対応」ってこと。
9x系とNT系でexe自体を分けてるのもあるしね。

>社員の使っているPC(にインストールされているOS)によって、
>できるプログラムが異なると、いろいろややこしくなりますよね。
そんなソフト会社イヤだ……

871 :デフォルトの名無しさん:03/02/25 14:33
>>870
デバイスドライバは9x系とNT系で分けているよね。当たり前だけど。

872 :デフォルトの名無しさん:03/02/25 14:40
コンパイラはOSによって出力されるコードに違いはない
Win32APIでも特定のバージョン以上に対応させる動作をさせるためには
コンパイルオプションで挙動を変えられるようにヘッダーで処理を分けるようになっている
例えばWindows9x環境でUNICODEを有効にしてコンパイルすることは出来るが
9x系では動かずNT系でのみ動作するバイナリを吐く

873 :デフォルトの名無しさん:03/02/25 14:52
>>852
PEフォーマットで調べろや
IMAGE_FILE_HEADER には少なくともTimeDateStampが存在するぞ

874 :デフォルトの名無しさん:03/02/25 14:54
>>871
そりゃ違うOSだからな……

875 :デフォルトの名無しさん:03/02/25 14:55
>>873
そういうレベルの話ではないと思われ……

876 :デフォルトの名無しさん:03/02/25 14:55
「…」が流行っているのだろうか……

877 :デフォルトの名無しさん:03/02/25 15:00
>>874-876
ジサクジエンなのだろうか…

878 :デフォルトの名無しさん:03/02/25 15:53
具体的に、VCC++6.0SP5でNT4.0SP3でコムパイルした香具師と
Win4.0SP6でコムパイルした香具師は同じだよな。
と自分で書いてておかしくなってきた(w

879 :デフォルトの名無しさん:03/02/25 15:54
しまつたageてもた・・・

880 :デフォルトの名無しさん:03/02/25 16:01
age以前に単語むちゃくちゃだな。

881 :デフォルトの名無しさん:03/02/25 16:04
しかもOSの差じゃなくてSPの差を書いて「具体的」って。

882 :デフォルトの名無しさん:03/02/25 16:07
なんだ、真剣に答えてくれないのか。
デムパと思われたか・・・卯津田詩嚢

883 :デフォルトの名無しさん:03/02/25 16:39
Win98上でコンパイルしたコードとWinXP上でコンパイルしたバイナリは
同じになる可能性が高いが、同じにならないようにコンパイラを
設計することもできる。MSの考え方次第ではないか。

884 :デフォルトの名無しさん:03/02/25 16:49
VCは同じになるが、VBは同じにならないから気を付けろ
たっぷり開発環境のOCXのバージョン異存に苦しめられてくれ

885 :デフォルトの名無しさん:03/02/25 16:50
>>884
スレ違い氏ね

886 :デフォルトの名無しさん:03/02/25 17:02
>>882
誰だか知らんが、答えてもらえないのは大抵の場合質問の仕方が悪いよ。

887 :デフォルトの名無しさん:03/02/25 17:14
昔、国産PCでのコンパイラで、コプロがあるかないかで、
浮動小数点演算のライブラリをリンクするか、
同処理をエミュレーションするライブラリをリンクするかを
判断しているものがあったな。ターボパスカルだったか忘れた。

888 :デフォルトの名無しさん:03/02/25 17:34
VCもIEのバージョンによって動作変わるよ。

889 :デフォルトの名無しさん:03/02/25 18:51
動作が変わることと出力コードが変わることとは直接はリンクしてない罠。


890 :デフォルトの名無しさん:03/02/25 20:03
_creatで得た低水準入出力ハンドラを FILE*に割り当てるにはどうしたらよいのでしょうか?
(_filenoの逆)

891 :デフォルトの名無しさん:03/02/25 20:36
コンパイラというのは、ある言語からある言語への単なる変換プログラムだ。
結果が変わる訳あるまい。

例えば、NKFをどこの環境で動かそうが、文字コード変換の結果が
変わらないのと同じってことだ。

892 :デフォルトの名無しさん:03/02/25 20:49
sndPlaySound関数を使用したいのですが下記のエラーが発生してしまいます。
ちゃんと #include <MMsystem.h>はやっています。
何でエラーが発生するか教えてください。

clockDlg.obj : error LNK2001: 外部シンボル "__imp__sndPlaySoundA@8" は未解決です
Debug/clock.exe : fatal error LNK1120: 外部参照 1 が未解決です。
link.exe の実行エラー


893 :デフォルトの名無しさん:03/02/25 20:53
winmm.libをリンクしろってMSDNに書いてる

894 :デフォルトの名無しさん:03/02/25 20:58
>>893
リンクの方法を教えてください!!!
よろしくお願いします。

895 :デフォルトの名無しさん:03/02/25 21:18
>>894
実行時に動的に呼び出すか
リンクオプションで指定するか
ソースコード中にライブラリリンクの疑似命令を埋め込むか
好きにしろ

896 :デフォルトの名無しさん:03/02/25 21:19
>>894
ヘルプ読めボケ
氏ね

897 :デフォルトの名無しさん:03/02/25 21:35
CString a;
a = "TEST" ;

string b = a ;

これって型が違うけどエラーが出ないよね?
何でですか?


898 :デフォルトの名無しさん:03/02/25 21:43
string a ;
CString b ;

b に aをセットしたいのですがエラーが出ます。
CString型にstring型を代入するにはどうしましょ?

899 :デフォルトの名無しさん:03/02/25 21:56
b=a.c_str()

900 :デフォルトの名無しさん:03/02/25 22:04
>>894
リンクの方法も知らんとは。
馬鹿なやつよのぅ。
基本だろ!

901 :デフォルトの名無しさん:03/02/26 00:38
最近はリンカの存在感が薄いもんな

902 :デフォルトの名無しさん:03/02/26 04:50
リンカ、東野と付き合ってるらしいが本当か?


903 :デフォルトの名無しさん:03/02/26 07:56
>>902
詰まらん。

904 :デフォルトの名無しさん:03/02/26 11:43
下げマンらしいね。


905 :デフォルトの名無しさん:03/02/26 12:03
WindowsSDKでプログラムを作ってるんですが、
MFCのコレクションクラスを使うことはできないのですか?
コレクションクラスのヘッダーファイルをincludeすると、
「"windows.h"をインクルードしたらいけません」みたいな
コンパイルエラーになってしまいます。

906 :デフォルトの名無しさん:03/02/26 12:26
>>905
MFCを使うならぜんぶMFCで統一すること。
STL使えば?

907 :905:03/02/26 12:38
なるほど。やっぱり、そうですか。
では STLってどこで入手できるんですか?

908 :ねかま:03/02/26 12:56
>>907
たぶんあなたのHDDの中に入っているんじゃないかしら。

909 :905:03/02/26 13:20
えっ!そうなんですか!?
使っているのはVC6.0なんですが、
探してもどこにあるのかよくわかりませんでした。
VCのCD-ROMの中なんでしょうか?
それともSDKの中に含まれてるんでしょうか?

910 :ねなべ:03/02/26 13:25
>>909
○▲★■の中に入ってるよ

911 :ねなべ:03/02/26 13:26
>>910
氏ね

912 :ねなべ:03/02/26 13:27
>>910==911
自爆自演ヤメレ

913 :905:03/02/26 13:59
失礼しました。
C:\Program Files\Microsoft Visual Studio\VC98\Include
の中にありました。

914 :219-105-109-105.adachi.ne.jp:03/02/26 14:49
C言語の知識が皆無に等しいくせに、VC++.netを買った私は馬鹿ですか?

915 :デフォルトの名無しさん:03/02/26 15:07
買った行為はともかく
>>914のような書き込みが馬鹿だということを色濃く表している

916 :デフォルトの名無しさん:03/02/26 15:16
>>915
そうっすか。どうもっす

917 :デフォルトの名無しさん:03/02/26 18:53
>>897について答えられる人がここに何人いるのだろうか?

918 :デフォルトの名無しさん:03/02/26 18:57
LPCTSTRだから。

919 :デフォルトの名無しさん:03/02/26 19:37
sndPlaySound( "c:/test.wav" , SND_LOOP ) ;
を実行しても繰り返し再生してくれません!!!
何故???


920 :デフォルトの名無しさん:03/02/26 19:49
>>919
そんなPath無いから。

921 :デフォルトの名無しさん:03/02/26 19:51
>>920
音楽はなりますが
繰り返し再生してくれないのです。


922 :デフォルトの名無しさん:03/02/26 20:32
>>921
You must also specify the SND_ASYNC flag to loop sounds.
これじゃないかな。

923 :デフォルトの名無しさん:03/02/26 20:47
SHFileOperationの戻り値をすべて列挙する。
おしえてください。

924 :デフォルトの名無しさん:03/02/26 23:37
デフォルト引数を使ってる関数を分割コンパイルした時、
ヘッダファイルだけインクルードしてもデフォルト引数の値が
パラメータヒントに出てこないのはなぜだ!なんか対策方法ある?

---main.cpp---
#include "main2.h"
int main(void) {
    int rc = foo();//ここのfooが「int foo(int a)」になっちゃう。
    return 0;}//int foo(int a = 2)になって欲しいのに。
---main2.cpp---
#include "main2.h"
int foo(int a){return a * 2;}
---main2.h---
int foo(int a = 2);


925 :デフォルトの名無しさん:03/02/27 00:33
sleep関数が使えません
どのライブラリに入ってますか?

926 :デフォルトの名無しさん:03/02/27 02:20
>>925
MSDNで調べてください

927 :デフォルトの名無しさん:03/02/27 02:48
すみません。質問です

SendAsyncProc関数を使おうと思っているのですが、
3番目の引数の型「ULONG_PTR」でシンタックスエラーがでてしまいます。
MSDNにはWindows95以降、windows.hをインクルードと書いてあるのですが、
VCのインストールされたフォルダを全検索しても「ULONG_PTR」という単語はヒットしません。
googleで検索したところ、gdiplus関係がヒットしたのですがその辺を調べれば良いのでしょうか・・?

環境はWindows2000
VisualC++6.0ProfessionalEdition(SP5)
参照MSDNは2001年1月リリースとMSDNライブラリVisualStudio6.0です

よろしくお願いします。

928 :名無し@沢村:03/02/27 03:16
>>927
ヌヒよ、VC7の環境では以下のように定義されているぞ。

typedef _W64 unsigned long ULONG_PTR, *PULONG_PTR;

929 :デフォルトの名無しさん:03/02/27 04:14
>>927
basestd.hに入ってる。

ソースコードの適当なところにULONG_PTRって打って、F12を押してみよう。
定義されているところへジャンプしてくれる。
(ブラウザ情報付きでコンパイルしなおす必要があるけど)

930 :デフォルトの名無しさん:03/02/27 04:16
basetsd.hだった……
しかもDXSDK…鬱

931 :デフォルトの名無しさん:03/02/27 04:18
VOID CALLBACK SendAsyncProc(
HWND hwnd,// 目的ウィンドウのハンドル
UINT uMsg,// メッセージ
DWORD dwData,// アプリケーション定義の値
LRESULT lResult// メッセージ処理の結果
);

ULONG_PTRは見当たらないが。
MSDNライブラリVisualStudio6.0より。

932 :デフォルトの名無しさん:03/02/27 06:44
>>927
ULONG_PTR がないってことは 2001年9月 以前の古いSDKだと思われ。
ULONG_PTR とか INT_PTR って型は古いSDKのヘッダでは宣言されていない。
新しいSDKをダウンロードしてくるか、かわりに昔の名前 ULONG を使う。
MS自身が2つの型を混同しているので当分 ULONG_PTR と ULONG は同じ型だろう。
ただ、わざわざ名前を変えたのには理由があるのだろうから
時間がある時にでも新しいSDKにアップデートしておいた方がよいと思う。

933 :デフォルトの名無しさん:03/02/27 13:58
今気が付いたんだけど
CFileFindとかでC:\*.*を検索するとC:\WINNTが検出されない訳だがこれって仕様?
環境はWindows2000 VC++6.0

934 :デフォルトの名無しさん:03/02/27 14:32
>>933
仕様っていうか……
「 . 」が入ってないんだからヒットしなくて当然だと思う

935 :デフォルトの名無しさん:03/02/27 14:35
>>934
あーそれは関係ないんじゃないですか?。
.がなくてもProgram FilesとかHITするし
C:\*でもヒットしないし。
Windowsの仕様では*.*=*ですから。

936 :927:03/02/27 22:13
なるほど。
サービスパックはちょこちょこ当てていたので、その辺りも修正されてるつもりでいたのですが
そうではなかったのですね。
今からダウンロードしてインストールしたいと思います。
ありがとうございました。


937 :しょしんしゃ:03/02/28 18:37
ダイアログの特定のコントロールをアクティブにするにはどうしたらいいでしょう?


938 :デフォルトの名無しさん:03/02/28 19:22
SetFocus

939 :デフォルトの名無しさん:03/02/28 20:06
>>937
SetActiveWindowではだめか?

940 :デフォルトの名無しさん :03/02/28 20:21
VC++.netでDirect3DクラスとD3DXクラスを使うプロジェクトを作るには
新規作成から何を選べばいいんでしょう?

941 :デフォルトの名無しさん:03/02/28 21:38
極端な話コンソールアプリからだって使えるから
ナニを選んでも使える

942 :デフォルトの名無しさん:03/02/28 21:41
>>937
デフォルトボタンの面倒もちゃんと見てもらいたかったら
GotoDlgCtrlかWM_NEXTDLGCTL

943 :940:03/02/28 22:06
空のソリューションを選べばいいんでしょうか
初歩ですいません

944 :りすとぼっくす:03/02/28 23:09
リストボックスをソートするにはどうしたらいいのでしょう?
リソースエディタのプロパティを使ったらできたのですが、そうではなく
あるタイミングでソートを関数で実行したいのですが・・・。

945 ::03/02/28 23:25
>944
CListCtrl::SortItems
を呼び出すんじゃなかったっけ?
忘れた。

946 :りすとぼっくす:03/02/28 23:35
>>945
すいません説明がたりませぬでした。
非MFC環境どす。

947 ::03/02/28 23:38
>946
LVM_SORTITEMS ってメッセージ?
非MFCはよくわからん。。
間違ってたら誰かサポートしてくれぃ。

948 :デフォルトの名無しさん:03/03/01 01:07
じゃ、サポート・・・かな?
LVM_SORTITEMS はリストビューのメッセージ。
たぶん >946 が聞いてるのはリストボックス。
非MFC環境の質問なら↓の方が向いているかも。
http://pc2.2ch.net/test/read.cgi/tech/1018239290/l50


949 :デフォルトの名無しさん:03/03/01 01:08
フォトショップのツールウィンドウみたいに、子ウィンドウを
親ウィンドウのクライアント領域の外まで移動可能にするには
どのようにすればいいですか?

普通に子ウィンドウを作成したのでは親ウィンドウの外に出ることが出来ないのですが…

950 :デフォルトの名無しさん:03/03/01 01:18
>>949
CreateWindowでウィンドウを作成するとき、HMENUをNULLにすれば良い。
あと、WS_CHILDは指定しないこと。

951 :949:03/03/01 01:29
>>950
できました!ありがとうございます。

ウィンドウスタイルで指定するものだと勝手に思い込んでいたので
検索しても見つからなくて困っていました。3時間も使ってしまって鬱だ…

952 :デフォルトの名無しさん:03/03/02 13:28
CAD用アドオンをWin2000+VC++6で作ってます。

CADアプリがマウスカーソルを握っている状態でモードレスダイアログを呼び出した時、
マウスカーソルが非表示になる場合があり、解決策が見つかりません。
以下の方法を試しましたがダメなのです。

●一度マウスカーソルを非表示にして再度表示
 → ぜんぜんダメ。

●ダイアログ表示前に原点にマウスカーソルを移動させておき、ダイアログ表示後に元に戻す
 →CRTでは回避できた(表示された)のに、液晶ではダメ。

●ダイアログ表示後にSendMessage(hWnd, WM_SYSCOMMAND, SC_KEYMENU, 0)でウィンドウメニューをアクティブにする。
 →マウスカーソルは表示されるが、ダイアログ表示後のリターンでメニューがドロップダウンしてしまうのでダメ。

どなたか知恵を貸して下され・・・・

953 :デフォルトの名無しさん:03/03/02 13:44
>液晶ではダメ。
ほう、それでは出力を普通のディスプレイと液晶、同時に出力すると
液晶の方だけカーソルが表示されないのか?
そいつはすげぇや、心霊現象だよ

954 :デフォルトの名無しさん:03/03/02 13:51
>>953
普通のディスプレイってなんですか?

955 :デフォルトの名無しさん:03/03/02 15:50
あの〜、まったくの初心者がこんなアフォなこと聞いて良いのか知りませんけど、
ボタン押したらuhoho.exeが起動するように
HINSTANCE ret=ShellExecute (m_hWnd,"open","uhoho.exe",NULL,NULL,SW_SHOW);
if((int)ret<=32) AfxMessageBox("処理できない.",MB_OK);
って書いたんです。
そしたら処理できなかったんですわ。
何ででしょうか?

ちなみにuhoho.exeはインストーラーで150Mあります。
小さいファイルだったら起動するんです。

956 :デフォルトの名無しさん:03/03/02 15:52
>>954
異常でないディスプレイのことです。

957 :デフォルトの名無しさん:03/03/02 16:02
>>955
メモリが足りない…とかじゃないよな。
うん。

958 :デフォルトの名無しさん:03/03/02 16:03
>>953
液晶ディスプレイについてしか言及されてないじゃん。
なんで「普通のディスプレイ」の話が出てきてるの?

959 :デフォルトの名無しさん:03/03/02 16:05
>>953
 →CRTでは回避できた(表示された)のに、液晶ではダメ。
この部分だと思われ

960 :デフォルトの名無しさん:03/03/02 16:07
ちがった>>958だ……

961 :デフォルトの名無しさん:03/03/02 16:29












           つ ぅ か 普 通 の デ ィ ス  プ レ イ っ て な ん だ  よ












962 :デフォルトの名無しさん:03/03/02 16:31
ビデオカードからの出力信号がCRTと液晶で変化が生じているのなら、確かに怪現象だと思うが
出力媒介によって表示を変えることが出来るという新技術の発見ということになる
特許を申請汁

963 :デフォルトの名無しさん:03/03/02 16:34
>>962
デコーダが違えばそれも可能なわけだが。

964 :デフォルトの名無しさん:03/03/02 16:34
>>961
うざいよ

965 :デフォルトの名無しさん:03/03/02 16:41
>>963
同じ出力信号で液晶とCRTという条件だけでどうやってやるの?
色を薄くしてコントラストの強度を利用するくらいしか思いつかない
それが分かれば今回の件も解決なわけだが

966 :名無し@沢村:03/03/02 16:54
>>955
ヌヒよ、CreateProcess()でもだめか?

967 :ヌッヒー沢村 ◆4DRE6TAt5Q :03/03/02 17:51
んだんだ。

968 :デフォルトの名無しさん:03/03/02 21:36
>>955
ファイル名がいかん

969 :デフォルトの名無しさん:03/03/03 00:04
>>955
エラーの内容をしっかり確認しる。

970 :デフォルトの名無しさん:03/03/03 20:29
C++やVBなどでGUIアプリを作成する場合
とうぜん画面設計がありますよね?
皆さんは画面設計について何か参考にされているものってあり
ますか?
参考書や他のアプリを参考にするとか?
ボタンの配置1つとっても考えると難しいものですよね?
画面設計について参考になるサイトや書籍等ありましたら
教えてください。


971 :仕様書無しさん:03/03/03 20:35
>>970
野生の勘で。
つーか、とりあえず作ってみて、使いづらかったら考える。

972 :デフォルトの名無しさん:03/03/03 21:12
>>970
プログラマ板に「こんなUIは使いづらい」というようなスレッドがあったと思う。
もうないかもしれないけど、誰かがそれをまとめたサイトを作っていたから探してみては?

973 :972:03/03/03 21:13
うなづけるものがいくつかあったよ。
フォルダオプションとかIEのインターネットオプションとか(-_-;

974 :デフォルトの名無しさん:03/03/03 21:16
>>970
ダメなユーザインタフェイス講座
http://www.geocities.co.jp/SiliconValley-Oakland/8192/

これか? 

975 :972:03/03/03 21:18
>>974
そうそれ。

http://mentai.2ch.net/prog/kako/997/997370579.html
そういえばタイトルは「readme.txtにアンインストール情報を!」だったな(^_^;)

976 :デフォルトの名無しさん:03/03/03 21:31
こんなUIのソフトは嫌だ!
http://pc2.2ch.net/test/read.cgi/software/1023253730/

ソフト板にあった

977 :デフォルトの名無しさん:03/03/03 21:42
>>976
あ、俺が立てたスレだ(笑

978 :デフォルトの名無しさん:03/03/03 21:46
( ´_ゝ`) フーン

979 :デフォルトの名無しさん:03/03/03 22:20
教えてください。
CStringクラスがぶっこわれるんですけど(ゴミが入る)
char * sage="test";
CString hoge = sage;
このような場合ってhogeはポインタみたいな指し方するんですか?
これだと領域とってくれますか?
hoge = CString(sage);

980 :デフォルトの名無しさん:03/03/03 23:17
スプリッタってどうやったら作れますか?
WTLを使ってますがそれっぽいクラスやAPIが見当たりません。

981 :デフォルトの名無しさん:03/03/03 23:29
>>979
壊れているといっている理由をまずかけよ

982 :デフォルトの名無しさん:03/03/04 00:38
>>980
スプリッタはWTLなら標準で入ってるだろ
よく観察してみろ

983 :デフォルトの名無しさん:03/03/04 01:41
>>979
壊れているのはCStringクラスじゃ無くておまえの頭だろ!

984 :デフォルトの名無しさん:03/03/04 11:13
>>982
そのままの名前のヘッダがありました。スマソ。

219 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)