トップページ⇒tech
984コメント278KB

VisualC++ 相談室【9】

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001kng ◆XTitdn3QI6 NGNG
VisualC++関連の話題を扱うスレッドです。

前スレ
http://pc3.2ch.net/test/read.cgi/tech/1022499000/l50
0002デフォルトの名無しさんNGNG
2
0003デフォルトの名無しさんNGNG
>>1
あとでホテル来てね
0004デフォルトの名無しさんNGNG
自分で作ったstatic link libraryを使用しようと思っているのですが、
特に気をつけなければいけないことはありますか?

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

.hファイルを全部集めてincludeし、.libファイルをリンク
するだけでよいのでしょうか?
00054NGNG
最後の方の書き方がわかりにくいので付け加えます

例えば、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"などはインクルードの必要はるのでしょうか?
0006デフォルトの名無しさんNGNG
dllをコンパイル時に組み込むことはできますか(exeのみで渡したい)
できるなら方法を教えてください。よろしくお願いします。
0007デフォルトの名無しさんNGNG
VCの設定について質問です。

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

いちいちプロジェクトに .h、.cppファイルを追加しなければ使えないのでしょうか?
0008デフォルトの名無しさんNGNG
>>5
やってみればいいんじゃ・・・
0009デフォルトの名無しさんNGNG
>>6
できない
00106NGNG
>>9
そんなこといわないでよろしくお願いします。
0011デフォルトの名無しさんNGNG
>>10
どうやら条件はいくつかあるけど出来るみたい。
http://www2.strangeworld.org/uedakana/sahra6138.jpg

まぁ、MSにDL3はあるんで何とかなるでしょう。
0012デフォルトの名無しさんNGNG
VC++6.0である場所の変数の値が知りたくてprintfを使ったのですが
Win32アプリでは標準出力がだせなくこまっています。

ソースファイルの特定の場所で変数の値を知るにはどうすればいいでしょうか?
0013デフォルトの名無しさんNGNG
>>11
最近ご活躍のようですな。
URL でばればれ。
0014デフォルトの名無しさんNGNG
>>13
strangeworldでjpgだからね。
0015デフォルトの名無しさんNGNG
>>11みたいな奴は、ム板をもってしてもアク禁にできんのか?
0016sageNGNG
VC++5.0 のprfessionalとEnterpriseとで
出来ることの違いを知りたいのですが。

Enterpriseは、単にprofessionalに、いろいろな機能を
付加したものと考えてよろしいんでしょうか。
それとも、会社でのイントラネット用につくられたEditionで、
professionalでの個人向けの機能は省かれたものと考えて
よろしいんでしょうか。
0017デフォルトの名無しさんNGNG
XPのスタイルに対応する方法は?
紹介しているページがまだ無い!?

98/ME/2000で動かないってのは無しで
manifestはだめね…
0018デフォルトの名無しさんNGNG
ここでいいのかな
NTDDKダウンロード出来ません。
CD注文するしかないのですか?
0019デフォルトの名無しさんNGNG
VC.netの話なのですが、ダイアログボックスのコントロールで、ラジオボタンをグループにして、
DDXで管理するにはどうすればいいのでしょうか。
0020デフォルトの名無しさんNGNG
>>17 に便乗。
http://www.microsoft.com/japan/msdn/windows/windowsxp/xptheming.asp
この通りにやっても、うまくいかず...
SDKは一応 Feb2001以降(Nov2001)が入っているんだが(;´Д`)
0021デフォルトの名無しさんNGNG
>6
 たとえば、DLLをリソースとして持っといて、
実行時に書き出して、LoadLibraryする手もあるし、
面倒なら、DelayLoadすればいい。
 あるいは、「可能だが実用的ではない」でいいなら、
WindowsのLoadLibraryに相当するものを作っちまって、
リソースから直接MyLoadLibraryすることもできよう。
0022あNGNG
>19
ラジオボタン1をA
ラジオボタン2をB
と仮定すると
ダイアログエディタ上でAの「Group」をTrueにセットして
Aの右クリックからめんバ変数の追加
値タイプ=Value
型=bool
これでできる。
VC6なら三つ以上のラジオボタンをintに割り当てれたけど
.NETはわからない、というか知らない。
というかこちらが教えて欲しいくらいだ。
0023デフォルトの名無しさんNGNG
あるテンプレートライブラリを使おうとしていたのですが、
エラーが出ます。エラー自体は仕方のないこととして、
そのインクルードファイルがどこで使われているのかを確定するために
インクルードスタックの表示を出したいのですが、方法が分りません。
どうすればgccのようにエラーにそのようなものを表示させることが
できるのでしょうか?

環境
IDE VisualC++6.0
コンパイラ、ヘッダ 最新のPlatformSDK、.netSDK
0024デフォルトの名無しさんNGNG
VC6とVC++.NET使っているのですが、
インクルードディレクトリがそれぞれいくつかあるのですが、
これをexportやimportできないんでしょうか?
どなたか知っている方いましたら教えてください。
0025デフォルトの名無しさんNGNG
6 ならツールのオプションでインクルードパスを追加できるところがあっただろう。
.NET は知らない。
002624NGNG
>>25
そのことは知っていたんですが、
やはりそこから1個ずつ登録していくしかないみたいですね...。
ありがとう。
0027デフォルトの名無しさんNGNG
VS.NETのMSDNデラックスっていうのを買って登録したら
OSやらサーバーやらオフィスやらいろいろ送られてきたから、
何人かで分けて使ってるけど、これって違法じゃないよね?
マイクロソフトから何か言われた人いる? 
0028デフォルトの名無しさんNGNG
>>27
デラックスなら大丈だろ。
バージョン情報で20桁くらいの番号が
表示されていると思うけどなんて書いてある?
0029デフォルトの名無しさんNGNG
>>27
単発質問スレ市ね
0030デフォルトの名無しさんNGNG
>>27
逮捕しますた
0031デフォルトの名無しさんNGNG
>>27
ここで訊かずに使用許諾書を読めよ。
確か、MSDN ライブラリだけはチーム内に限りピーコ可能、それ以外は
ライセンス者以外使用禁止みたいに書いてないか?
0032デフォルトの名無しさんNGNG
VC++.NETで、自作したメニューのコマンドハンドラを作りたいのですが
ビューやドキュメントクラスのプロパティウィンドウの
「イベント」タブの「メニューコマンド」以下には自作IDが表示されない(ツールバーにのみ登録の時)か
表示されても32776と、素の番号で表示されてしまいます(メニューバーに登録の時)。
当然ここからハンドラを追加しようとすると"On32776"となってしまい、激しく鬱です。

一応メニューバーからコマンドハンドラの追加をすれば出来るのですが不便でなりません。
どなたか解決法・対処法をご存じでしたら教えてください。
0033デフォルトの名無しさんNGNG
age
0034デフォルトの名無しさんNGNG
C++の簡単な文法のみ学んだ状態でVC++.NETを購入しました。
でも何がなにだかさっぱりわからーんヽ(`Д´)ノウワァン
とりあえずヘルプをつついてみてるんですがまずHello Worldまでの道のりさえ見えてきません。
どこかにWinあぷりを作るまでの道のりを記してないでしょうか?
ポインタお願いします。
0035デフォルトの名無しさんNGNG
猫でも出来るプログラミング
http://www.kumei.ne.jp/c_lang/

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

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

それとこんなのあったんでつね・・
「お勉強ページ勝手にリンク」
http://pc3.2ch.net/test/read.cgi/tech/967778156/13
0037デフォルトの名無しさんNGNG
>>34
数年前、それまで使っていたTurboC++のIDEが動作しないパソコンが出てきて
しかたなく、VC++に切り替えた。
しばらくの間、逐次処理の考えたでWindowsを捕らえようとして苦しんだぞ。
C++に慣れる事も大切だけど、まずは、Windowsプログラムになれることだと思う。
0038デフォルトの名無しさんNGNG
ID
0039デフォルトの名無しさんNGNG
VisualStudio.netのC++を使っていますが、
ソースコードをコンパイルしてアセンブルしたソースコードをテキスト形式で出力するオプションは何でしたっけ?
0040デフォルトの名無しさんNGNG
VC6 では /FA?? だった
0041デフォルトの名無しさんNGNG
>>39
ソースコードをコンパイルしてアセンブルしたソースコードなんてのは激しく意味不明だが、
ヘルプ引けば一発で解決すると思われ。
コマンドプロンプトでcl /?とか。
0042デフォルトの名無しさんNGNG
>>40,41
/FAでできました 
ありがとう
0043デフォルトの名無しさんNGNG
何の気なしに cl と bcc のデフォのアセンブル出力を見比べると、
bcc の方が素直で読みやすいね。
0044デフォルトの名無しさんNGNG
>>43
最適化出来てない・・・?
0045デフォルトの名無しさんNGNG
>>43
その分遅くてコードサイズもでかいんじゃないか?
VC++ がさほど優れているとは思わないが、bcc はそれに劣る。
0046デフォルトの名無しさんNGNG
コンパイラが吐くコードが読みやすい必要は無いと思うが・・・
0047デフォルトの名無しさんNGNG
別に優れてるとも言ってないとおもうが・・・
0048デフォルトの名無しさんNGNG
主文を無視して副文だけ拾われても困るのだが・・・
004943NGNG
いやさ…bcc って直球勝負な出力するなあ、っていうか…
その時、思ったことをそのまま書いたまでで、
優劣抜きの感想なんで、その辺はご容赦を。
0050デフォルトの名無しさんNGNG
了解したが、それなら最初にそう述べるべきだった。
0051デフォルトの名無しさんNGNG
勝手に優劣に結びつけようとしてる方がどうかと
0052デフォルトの名無しさんNGNG
午前零時に昔話をいきなり始めるのもどうかと
0053デフォルトの名無しさんNGNG
そういえばTurboC++for Windowsは、コンパイル馬鹿っ早だったなぁ。
勉強目的にはあっちの方が良かった記憶がある。
0054デフォルトの名無しさんNGNG
最近のマシンでは、コンパイル速度なんて意識すらしない。
0055デフォルトの名無しさんNGNG
>>53
それは template ガンガン使えたか?
0056デフォルトの名無しさんNGNG
VC7 でも名前空間メンバの宣言と定義を別にすると、
クラスビューが使えない。(鬱
0057デフォルトの名無しさんNGNG
VC6でですが、
現プロジェクトのmain.cpp以外を
スタティックライブラリとして
生成したいのですが、

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

階層がいっぱいあって、めんどくさいのです。
ビルド→構成→追加(コピー)
から、出来そうな気がするのですが。
出来ないでしょうか?
0058デフォルトの名無しさんNGNG
dspファイルの構造をよく見れ。
0059デフォルトの名無しさんNGNG
externよりinlineで最適化
DLLは遅くない(つーか速い)

# 漏れはMSの回し者ではないが
0060デフォルトの名無しさんNGNG
>>59
「DLLは遅くない」 は理解できるが、「つーか速い」 ってどういう事だ?
006157NGNG
普通のプロジェクトと
スタティックライブラリのプロジェクト
を作って、
同じファイルを設定して比較してみました。

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

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

もしかして、出来ないのでしょうか?
0062デフォルトの名無しさんNGNG
1 つのワークスペースには複数のプロジェクトを同居させられたと思うけど。
ドラッグドロップで。
0063??NGNG
COMスレから誘導されてきました。

http://pc3.2ch.net/test/read.cgi/tech/981823340/682-683
についてわかる方、お教えいただけませんか?
0064デフォルトの名無しさんNGNG
DLLのソースで
IFastString* __declspec(dllexport) CreateFastString(const char* psz);

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

アプリのリンクで
wara.libを追加
0065デフォルトの名無しさんNGNG
↑
wara.DLLの場合な
0066さいたまななしNGNG
VC++オおみやのそふまぷでげとー
0067??NGNG
解決しますた。

------/*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);

でとおりました。
0068??NGNG
>>64さんアドバイスありがとうございました。
0069デフォルトの名無しさんNGNG
内蔵のエディタでタブを聞かせたいのですがどうすればよいのでしょうか?
0070デフォルトの名無しさんNGNG
vc++なんですが、
d&dで落とされたパスから
ディレクトリかファイルかを判別したいんです。
上手い方法はないものでしょうか?

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


0071デフォルトの名無しさんNGNG
>>70
GetFileAttribute()
0072デフォルトの名無しさんNGNG
インデントとか自動成型してくれるショートカットなんだっけ?
007370NGNG
>>71
ありがとう。

ちなみにフルパスからファイル名や拡張子を抜き出すのに
端から調べて¥とかの位置から割り出して抜き出してんですが、
アホですか?
0074デフォルトの名無しさんNGNG
>>73
自前でやりたくなかったら_splitpath()使え。
007570NGNG
ちょっと調べてみたんですが、さっぱりですな。使い方わかりません。
もうちっと勉強が足らんみたいですね、俺も。
自前でやるのに問題ないんなら自前でいいんですけど、楽しいし。
0076デフォルトの名無しさんNGNG
>>75 もちろんバグ無しっていう自信があるなら問題無いがな
007770NGNG
なるほど。
じゃあ使い方勉強してきます。
ありがとう。
0078デフォルトの名無しさんNGNG
>>72
ヘルプメニューからキーボードショートカット一覧
0079デフォルトの名無しさんNGNG
>>75
_splitpath()の使い方が理解できないようでは他の関数もろくに使えないと思うけどね。
0080デフォルトの名無しさんNGNG
VC++6で使える
Granola みたいなアドインのつーる
ありますか ヽ(;´д`)ノ
0081デフォルトの名無しさんNGNG
VC++6でむけるあまぐりはありまつか?
0082デフォルトの名無しさんNGNG
>81
ネタがつまらんので首吊りの刑
008381NGNG
 ∧||∧
(  ⌒ ヽ
 ∪ 。ノ
  ∪∪
008471NGNG
>>73
PathFindExtension() PathFindFileName() を使えば簡単。

動作環境に注意。
Windows 2000, Windows NT 4.0 with Internet Explorer 4.0,
Windows 98, Windows 95 with Internet Explorer 4.0
0085デフォルトの名無しさんNGNG
>>71
多謝!!!
非常に助かります。
0086デフォルトの名無しさんNGNG
(,,ノ゚д゚)ノ
0087デフォルトの名無しさんNGNG
(゚д゚ )
//
0088デフォルトの名無しさんNGNG
⌒Y⌒Y⌒Y⌒Y⌒(。A。)
0089デフォルトの名無しさんNGNG
             (゚д゚)ヌルポー
0090デフォルトの名無しさんNGNG
  ∧_∧
  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >_∧∩
  _/し' //. V`Д´)/ ←>>89
 (_フ彡        /
0091デフォルトの名無しさんNGNG
ttp://aa.2ch.net/mona/
ttp://aa.2ch.net/kao/
ttp://aa.2ch.net/aastory/
に要け
0092デフォルトの名無しさんNGNG
>>91
キミは遅れているね。
0093デフォルトの名無しさんNGNG
現在、MFCでアプリ作ってるが、ツールバーに表示する
ビットマップのやつをかっけーのに激しくしたい!

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

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

つかいいとこあったら教えて〜
0094デフォルトの名無しさんNGNG
絵云々ならその道の板のほうがよかろ。
0095デフォルトの名無しさんNGNG
CSVファイルを扱う標準関数ってありますか?
0096デフォルトの名無しさんNGNG
C/C++ 標準という意味なら、無い。
0097デフォルトの名無しさんNGNG
Excelをたたくとか
0098デフォルトの名無しさんNGNG
つーか、そんなに難しくないから自分で書いてみれ。
0099デフォルトの名無しさんNGNG
Windows MeでVC++ 6.0を使っているのですが、
CPropertySheet::DoModalを実行すると
「ハンドルされていない例外は〜〜にあります。 0xC0000005 Access Violation」
と出て強制終了してしまいます。エラーメッセージが出るときと出ないときがあり、
一度でもエラーが出るとPCを再起動するまで同じエラーが出てしまいます。

どなたか対処法を教えていただけないでしょうか?
0100100NGNG
>>99
ちょっとそれだけでは分からないけど、エラーの原因が CPropertySheetにある
のか CPropertytPage(を使ってるんだよね?)にあるのかを切り分けないと。
010199NGNG
>100
エラーが出る位置は、CPropertySheet::DoModal中の
    m_nFlags |= WF_CONTINUEMODAL;
→   HWND hWnd = (HWND)::PropertySheet((PROPSHEETHEADER*)psh);
    #ifdef _DEBUG
この行です。
ただ、プロパティページをCPropertySheet::AddPage()で追加しないと、
エラーは発生しないのです。なのでどちらに原因があるのか判断し辛いのです。

一度発生してしまえば、CPropertyPageからの派生クラスのコードを最小限まで削っても、
エラーが消える事はありません。PCを再起動するとまた正常に動く事もあるのですが。
0102デフォルトの名無しさんNGNG
>>93
馬鹿め!死ね!
0103デフォルトの名無しさんNGNG
酷いこと言うなよ
0104デフォルトの名無しさんNGNG
>>101
>ただ、プロパティページをCPropertySheet::AddPage()で追加しないと、
>エラーは発生しないのです。なのでどちらに原因があるのか判断し辛いのです。

明らかにプロパティページに原因があると思うが・・・
0105質問!NGNG
VC++で作成したアプリを配布する時、
どのインストーラー使ってますか?
インストール時に、ファイルの関連付けも行いたいので、
インストーラー探してるのですが・・・
0106デフォルトの名無しさんNGNG
char 型の文字列を、CString型に変換するにはどうしたらいいでしゅか?
0107デフォルトの名無しさんNGNG
>106
=演算子で暗黙の型変換(?)で普通に代入してますが
0108デフォルトの名無しさんNGNG
ワーカースレッドというのをやろうとして、

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

とでるんですがいったいどうすればいいですか?
0109デフォルトの名無しさんNGNG
>>108
1番目の引数に unsigned int (void *) 型のデータを渡してください
0110109NGNG
じゃねぇよ。
新で来る。
0111デフォルトの名無しさんNGNG
>>108 こういう形になってないのでは?

AfxBeginThread ( worker_thread , ・・・);

UINT worker_thread ( LPVOID pPtr )
{
 ・・・
0112108NGNG
>>111
それがそうなっているんですよ。
MSDEの記述と違うところがあるとすれば、
ダイアログクラスの内部に書いており、
ヘッダのプロトタイプ宣言で、
UINT MyThreadProc(LPVOID pParam); とし、
cpp内では、
UINT MyClass::MyThreadProc(LPVOID pParam)
{
// 適当な処理
return 0;
}
とし、同クラスの他の関数内から、
AfxBeginTread(MyThreadProc, pObj);
としています。
0113デフォルトの名無しさんNGNG
>>112
それって同じ名前のメンバー関数と、普通の関数があるってこと?
0114デフォルトの名無しさんNGNG
>>112
ダメじゃん
0115108NGNG
>>113 >>114
どのへんがいけないのか教えてください。
0116108NGNG
ちなみに、AfxBeginTread で、引数を
MyClass::MyThreadProc としても同様にだめです。
0117デフォルトの名無しさんNGNG
>>115
static 指定してください。
0118デフォルトの名無しさんNGNG
>>115
>> それって同じ名前のメンバー関数と、普通の関数があるってこと?
> どのへんがいけないのか教えてください。

まず質問に返答しろよ。
0119108NGNG
>>118
ダイアログクラス MyClass 内に、MyThreadProc という関数はありますが、
これはメンバ関数なので、普通の関数はないです。

>>117
static というのは、どの部分に指定すればいいのでしょうか?
0120デフォルトの名無しさんNGNG
>>119
UINT MyClass::MyThreadProc(LPVOID pParam)

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

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

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

static UINT MyClass::MyThreadProc(LPVOID pParam)
0121デフォルトの名無しさんNGNG
UINT MyClass:MyThreadProc()
を作ってreinterpret_castしても動くだろう。
激しくお勧め出来ないが。
0122------------------さんNGNG
既出っぽいかな。SDI形式で最初のウィンドウサイズを
指定することってできたっけ??
おしえてください。
0123デフォルトの名無しさんNGNG
>>122
MFC使ってるか使ってないかで答えが違うんだが。
0124------------------さんNGNG
>>123
MFCです。
0125デフォルトの名無しさんNGNG
>>124
http://www.microsoft.com/japan/msdn/library/ja/vclib/html/_mfc_CWnd.3a3a.PreCreateWindow.asp?frame=true

CMainFrame::PreCreateWindow()かな?
0126デフォルトの名無しさんNGNG
VC++ 6.0でMFCを使ってプログラミングしています。

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

おそらくCButtonクラスだと思うのですが・・・
0127デフォルトの名無しさんNGNG
>>126
CButtonの親のCWndにあるEnableWindow()を使えばできるよ。
0128126NGNG
>>127さん
ありがとうございます。

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

(VBだと文字色が灰色になるあれです)
0129デフォルトの名無しさんNGNG
親と言うかスーパークラス
0130デフォルトの名無しさんNGNG
>>128
m_btn.EnableWindow(FALSE);

うちは、WinXPでVC6だけど、上のコードで灰色になるよ。
0131126NGNG
>>130さん
間違えてました。
メインウィンドウをEnableWindowしていました(;´Д`)

やり直してみます。
0132126NGNG
できました!ありがとうございました!!
0133108NGNG
static 宣言をしたらできました。
ありがとうございました。
ちなみにMFCでやってました。
static とか extern とか、使いどころがいまいちよくわからず難しいです。
0134デフォルトの名無しさんNGNG
VC++7ってどう?
もう移行しても大丈夫なのかな?ライブラリバグってない?
0135デフォルトの名無しさんNGNG
C#でよさそうなもんだがなぁ。
0136デフォルトの名無しさんNGNG
.NETならC#でもなんでも好きなのでよい。
.NETのもWin32APIだけのも作るならVC++7。
.NETはいらないがWindows95をサポートするならVC++6。

バグのないライブラリは無い。
0137デフォルトの名無しさんNGNG
VC++でケプラーの運動方程式をとくプログラムの作り方がわかりません
0138デフォルトの名無しさんNGNG
>>137
宿題は自分でしる!
0139デフォルトの名無しさんNGNG
PostMessage(WM_MY_MESSAGE, 0, 0);
ポストメッセージを使って、2番目の引数を用いて、
"あいうえお" などの文字列を渡したいんですが、どうすればいいでしょうか?
0140デフォルトの名無しさんNGNG
>>139
char *s = "abc";
SendMessage(WM_USER, (WPARAM)s, 0);

SendMessage()なら簡単なんだけど。
0141デフォルトの名無しさんNGNG
Post〜で渡すのは難しいね。
メッセージが処理されるまで帰ってこないSend〜なら生存期間をあまり気にしなくていいけど、
処理を待たずに帰ってくるPost〜だといつ処理されるかわかんないから…
0142デフォルトの名無しさんNGNG
>>139

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

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


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

こんなんで、いいのかな?
0143↑NGNG
× char str = new char[20];
○ char* str = new char[20];
0144デフォルトの名無しさんNGNG
>>142
勝手に解放するのは激しくやめて欲しい
0145デフォルトの名無しさんNGNG
どこが難しいのか問い詰める気がおきない。
0146デフォルトの名無しさんNGNG
PostMessageで、メッセージだけ渡して、文字列はATOM系のAPIで渡すって手もあるな。
でも、めんどうだな。
0147デフォルトの名無しさんNGNG
違うプロセスにアドレス渡しても、
データセグメントとか違って読めなかったりしないのかな。
この辺がすごい気になる。
0148デフォルトの名無しさんNGNG
GlobalAllocすれば?
0149デフォルトの名無しさんNGNG
>>141
SendMessage()に渡すHWNDが他プロセス・他スレッドの場合
SendMessage()は実質PostMessage()になると思うからSendMessage()って
書いてても気をつける必要がある

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

>>139
どのような使い方をするのか書くべきだが >>145 が手本となるような
答えを書いてくれるのだろう
0150デフォルトの名無しさんNGNG
http://digikei.kir.jp/
0151デフォルトの名無しさんNGNG
>PostMessage(WM_MY_MESSAGE, 0, 0);

引数の数から考えてMFCで単純にCWndの派生クラス内の話だと仮定してみたわけだが
0152デフォルトの名無しさんNGNG
派生クラス内かどうかがどのように関係してくるのか知りたいわけだが
0153デフォルトの名無しさんNGNG
普通のMFCアプリはCWndの派生クラスでウィンドウを作るからただそう表現しただけで
つまりごく普通の一般的なウィンドウの話であってプロセス外云々の話ではないと言いたかっただけなわけだが
0154デフォルトの名無しさんNGNG
>>148
GlobalAlloc() ってプロセス越えられるの?
0155デフォルトの名無しさんNGNG
Win16の頃は本当にGlobalだったけど、今は超えられれない。
0156デフォルトの名無しさんNGNG
だよねえ・・・すぐに思い付くのは CreateFileMapping() くらいしか
0157デフォルトの名無しさんNGNG
MFCのダイアログクラスを使ったんだけど、
デストラクタを宣言したいんだけどわかりません。
どうしたらいいでしょうか?
0158デフォルトの名無しさんNGNG
よく他のアプリをみると、
-------------
Time=15
Speed=300
Pause=10
-------------
という感じのテキスト形式のファイルを読み込んで
各パラメータの設定をするのをみますが、これを
やるために参考になる例ってどこかにあるんでしょうか?
0159デフォルトの名無しさんNGNG
GetPrivateProfileString() 系統の
0160158NGNG
>>159
おお、こんな関数あるんですね。ありがとうです。
ではMSDN読みます。
0161デフォルトの名無しさんNGNG
>>157
MSDN見てください
0162デフォルトの名無しさんNGNG
>>157
見当違いだったら悪いか、終了時に何か処理したいならWM_DESTROYをとらえるべし。
0163157NGNG
>>162
クラスの終了時、
~ClassXXX
みたなデストラクタに終了処理をいれるはずなんだけど、
ダイアログクラスは、CDialog クラスを継承しているので、
いまいちどう宣言したらいいかわからないんです。
0164デフォルトの名無しさんNGNG
>>147
違うプロセス間でもOKなWM_COPYDATAという割と便利そうな
メッセージがありますよ。
0165158NGNG
>>159
どうもでした。以下の事が解って、ちゃんとできるようになりました!

INIファイル,GetProfileInt(),WriteProfileInt(),
CxxxApp::InitInstanceに追記してEXEと同じフォルダのiniファイルを使わせる
0166デフォルトの名無しさんNGNG
>>153
なぜ CWnd からの派生だと同一プロセス内にあることになるのか問い詰めたい。
0167デフォルトの名無しさんNGNG
申し訳ない・・・。
これの意味がどうしても解らない→「+=」(カッコは除く)。
教えてたもれ。
0168デフォルトの名無しさんNGNG
>>167
a += 2;
↓
a = a + 2;
0169167NGNG
>>168
ありがとう。
しかもスレ違いだった。。。
申し訳ない。
0170デフォルトの名無しさんNGNG
申し訳ない・・・
これの意味がどうしても解らない→SetWindowLong(hWnd , IDC_HINSTANCE , 12345);
教えてたもれ。
0171デフォルトの名無しさんNGNG
(,,゚Д゚)∩先生質問よろしいですか?
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++ ); // ここで落ちる
0172デフォルトの名無しさんNGNG
>>171
× ReadFile( hFile,&lpFileBuffer,sizeof( lpFileBuffer ),&ByteCount,NULL );
○ ReadFile( hFile, lpFileBuffer,dwFileSize,&ByteCount,NULL );

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

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

> の様にした方がいいですか?
と俺は思う。仮に不測の事態が発生してそのファイルが壊れてたみたいな場合まで想定して
チェックしておけば、その時にページ違反で落ちるのでなくて、「かくかくしかじかな理由で
エラーとなりました」的な表示をして強制終了、くらいにはできる。
その方があとあと問題が起きたときに発見しやすいので。
0175171NGNG
MSDNでsearchを調べたのですが、いまいちわからなかったので
>せめて for( long i = 0 ; i < (long)dwFileSize-9 ; i++,lpBuf++ )
>をオススメしたい。
こちらを使わせて頂こうと思います。
ありがとうございました。
0176デフォルトの名無しさんNGNG
>>166
CWndの派生クラスでPostMessage(WM_MY_MESSAGE, 0, 0);
とやればそれはthis->PostMessage(WM_MY_MESSAGE, 0, 0); を意味するからじゃん?
0177デフォルトの名無しさんNGNG
CRichEditCtrlの現在の行間(pixel単位)の取得の仕方教えてくんなまし。
0178デフォルトの名無しさんNGNG
>>176
CWnd::FromHandle(hWnd)->PostMessage(WM_MY_MESSAGE, 0, 0);
っていうのも考えらなくもない。

ま、どこにメッセージを投げるのか >>139 が書いていないのに、訳知り顔で
他プロセス云々いうのはどうかと思った。
0179デフォルトの名無しさんNGNG
>>178
>>139はCWnd::FromHandle(hWnd)->はなくてPostMessage(WM_MY_MESSAGE, 0, 0); しか
書いてないわけだからthis->と仮定するのが自然だと思うんだけどなぁ。
まぁ本人が>>139以降登場してないからどうでもいいっちゃどうでもいいんだけど。
0180デフォルトの名無しさんNGNG
>>175
VC5/6使用の場合
search ではなく
serch  で検索しる
外してたらすまそ
0181デフォルトの名無しさんNGNG
>>180
単にVC++6.0付属のMSDNライブラリ中のSTLアルゴリズムの解説がわかりにくいだけじゃないか?
あれ、動作の解説としては正しいんだろうが、なにがやりたいのかは……
0182180NGNG
そかSTLの話だったな
すまそ
0183180NGNG
しかもserchではなくbserchだったか(欝山車能
0184デフォルトの名無しさんNGNG
MSDN の C++ リファレンスは、C リファレンスと同じ人に書き直して欲しい・・・。
0185デフォルトの名無しさんNGNG
Visual C++.NETって
Window2000のService Pack3じゃ正常に動作しないんですか?
0186デフォルトの名無しさんNGNG
動いてるってコトは俺のVC++.netは偽者だったのか…
0187デフォルトの名無しさんNGNG
SDI環境で作業したいのですが
強制的にでも設定する方法はありませんか?
0188デフォルトの名無しさんNGNG
>>187
ウインドウ全部分離させたら?(w

SDIなんて使いにくいだけだっつーの。
ほとんどが最初っからMDIかMDIに切り替えてるだろ。
0189デフォルトの名無しさんNGNG
プログラム言語を何も知らないのですが、C++の入門書みたいなもので
いいのはないでしょうか?よくある本は「C言語を少し知っている人向け」みたいなのが多いです。
通販で購入しようと思っています。

最終的にはDirectXを使えるようになりたいです。
0190毛の生えたブリーフNGNG
高橋麻奈「やさしいC++」(ソフトバンク)

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

C++は広大な言語仕様ですが、この本程度の知識があればたぶんDirectXを
使いこなせると思います。分かりやすいし、コンパクトな本だからいつでも
どこでも持ち運んで勉強できます。おすすめです。
0191デフォルトの名無しさんNGNG
宣伝は話半分に聞いておきましょう。
0192デフォルトの名無しさんNGNG
>>190
なんだか良さげですがVisualC++でOKですよね?
C++としか、かいていませんが。
0193デフォルトの名無しさんNGNG
>>192
失礼しますた。
ttp://bookweb.kinokuniya.co.jp/imgdata/large/4797311843.jpg
を見たらVisualC++対応と書いてますた。
今から買います。ありがとうございますた。
0194忘れた……NGNG
#include <vector>
class honya
{
 public:
  honya();
  virtual ~honya();
 protected:
  vector < int > m_intlist;
};

VC++6.0ですけど。とやっても”構文エラー : ';' が '<' の前に必要です。”
とかでるんですけど、何故でしたっけ??
0195忘れた……NGNG
↑
vectorの行で出ます。
0196デフォルトの名無しさんNGNG
>>194
#include <vector>
これじゃないの?エラーの原因。
何かこれを見る限りじゃ他にもあやしい所は歩けど。
0197デフォルトの名無しさんNGNG
>>196
怪しさ大爆発だろ。
ネームスペースが明らかにおかしい。
using namespace std;
とするか、
std::vector<int>とすべき。
0198忘れた……NGNG
あ、ネームスペースでしたか。。スマソ
0199デフォルトの名無しさんNGNG
Visual C++.NETインストールして立ち上げたら、
Alert!っていう警戒ダイアログが出まくるんだけど何で?

あと、立ち上げるとノートンにも引っかかるんだがそれもなぜだかわからん・・。
どなたか、なぜなのかご存知の人いません?
0200デフォルトの名無しさんNGNG
ゴルァ!windows.h!なんだこれは!

#define small char

小一時間ハマったじゃねーか!!!!!
いくらなんでもこれはないだろう・・・
0201デフォルトの名無しさんNGNG
>>200
[F12]知らんのか?
0202デフォルトの名無しさんNGNG
F12知っててもこういう普通に使う単語が登録されてるとわかりにくいやね。
0203デフォルトの名無しさんNGNG
おすえて。

CFileで、
Createでは開くんだけど、アペンドオープン出来ない。
フラグがわかんねぇっす。
CFile::modeNoTruncate|CFile::modeReadWrite 
でいけるかと思ったけど、ダメだった。
賢いヒトおすえて。
0204デフォルトの名無しさんNGNG
>>203
その方法で Open して SeekToEnd() じゃない?
0205203NGNG
>>204
おおっ!!
いけたぁ。ありがとう。
そっかぁ、アペンドオープンなら、
ファイルポインタはファイルエンドになると思ってたよ。
どうも、Cの癖が抜け切れてないな。

マジで助かりました、ありがとう。
0206------------------さんNGNG
MFCです。「プリントアウト」について質問なんですが、
SDIならばフォントサイズを訂正してやればもうすぐ印刷できるのですが、
CFormView(SDIのなかにコントロールボタンやPICTがあるやつ)
の場合で例えばPICT1を印刷したい場合どうすればいいのでしょうか。
0207デフォルトの名無しさんNGNG
>>206
OnPrintで頑張れ
0208デフォルトの名無しさんNGNG
どどどどどどないやねん!w
0209デフォルトの名無しさんNGNG
どどどどど童貞ちゃうわ!
0210デフォルトの名無しさんNGNG
どどどどどどうだかな(藁
0211デフォルトの名無しさんNGNG
いや、まじで教えてくれw。
どうやってプリントアウトするんだ?
0212デフォルトの名無しさんNGNG
で、童貞なのか?
0213デフォルトの名無しさんNGNG
質問変えます。
SDI形式の場合OnDraw関数の中身を印刷しますよね。
こてをあとから追加してメニューバーを押すとなにか表示ってのつくたんだけど
そのOnDrawXyz()ってのがあるとします。この中身を印刷するには
どうしたらいいのですか?ちょっと緊急でおながいします。ちなみに童貞じゃないですはい。
0214デフォルトの名無しさんNGNG
画面表示は何もかも全て OnDraw にまとめろ>>213

それ以外の部分では何をどう描くかだけ覚えておいて、
実際の描画は OnDraw で行う、というのが普通。
0215デフォルトの名無しさんNGNG
バカですいません。やはり見た目的にかっこいい先に書いた
CFormViewの方の印刷方法がしりたいです。
PICT1のなかにかかれたものを印刷するには・・
0216デフォルトの名無しさんNGNG
質問;
初歩中の初歩ですいません。SDI形式のドキュメントクラス
の「ファイル保存」でたとえばプログラム内で計算したA
という数値データを保存したいのですが、ファイル保存って
どうやってやるのですぁ?
0217デフォルトの名無しさんNGNG
>>216
C++スレ逝きのヨカーン
0218デフォルトの名無しさんNGNG
質問するスレ変えるので>>216は忘れてください。削除
0219デフォルトの名無しさんNGNG
>SDI形式のドキュメントクラス
この部分からしてCArchiveの使い方を質問してるのだろうから
ここかMFCスレで良いと思ったが、結局クラスの使い方だから
MSDNライブラリ読めと言われる罠。
0220アマグラマーNGNG
VC6 使いの皆さんいらっしゃいますか?
VC.NET framework 入れるかどうか迷っているので、
皆さんの意見を聞かせてください。

0221デフォルトの名無しさんNGNG
>>220
>VC.NET framework
VC++.NETと.NET Frameworkをつなげちゃったわけか・・・
0222デフォルトの名無しさんNGNG
SDIで、CSplitterWndで複数のViewを持たせてます。ActiveなViewをボーダーで囲むなどして強調表示したいんですが、どうしたら良いでしょうか?
0223デフォルトの名無しさんNGNG
>>222
OnDrawでフォーカスがある場合に枠線を書く。
0224デフォルトの名無しさんNGNG
>>222
OnActivateViewで
if(bActivate){
ModifyStyle(0, WS_BORDER, SWP_FRAMECHANGED);
}else{
ModifyStyle(WS_BORDER, 0, SWP_FRAMECHANGED);
}
な感じ。
0225デフォルトの名無しさんNGNG
>>224ばっちりできました。アリガト!>>223ごめん。ListViewやら使ってるんで、OnDrawのなかでは描画できないのであった。でも、サンクス。
0226157NGNG
自己レスですがダイアログクラスでのデストラクタの宣言方法がわかりました。
public: に、
virtual ~MyClass();
と宣言して、
MyClass::~MyClass(){}
に処理を記述する。
ところで、virtual っていうのはいったいなんなんでしょうか?
0227デフォルトの名無しさんNGNG
仮想関数を知らんのか?
0228デフォルトの名無しさんNGNG
仮想関数と火葬関数の違いは。
0229デフォルトの名無しさんNGNG
>>215
どーもこーも、日本語が分かりづらい。
CStaticのメンバにGetBitmap()ってのがあるから、
それをOnPrintで渡ってきてるCDCでBltBltかませるようにすればいいんじゃない?
簡略して書けば、
CDC memDC;
memDC.CreateCompatibleDC( pDC );
memDC.SelectObject( m_wndPict.GetBitmap() );
pDC->BitBlt( 省略, &memDC, 省略 );
リソースリークとかオラしらねってコードだが。
0230デフォルトの名無しさんNGNG
>>228
Destructor と、DeathTructorみたいなもの。
0231226NGNG
>>227
よくわかりませんが、つけるのが作法ってことでいいでしょうか。
0232デフォルトの名無しさんNGNG
MFCの前に最低限C++の入門書を読んでおいた方が良いと
0233デフォルトの名無しさんNGNG
MFCとかATLのソースみると、
ASSERT使ってるみたいだけど
これってRelease環境では実行されてないと思うんだけど
内部エラー検出にはASSERT使って、
入力したデータのチェックには例外使って欲しい...。
0234デフォルトの名無しさんNGNG
#include <plot10.h>

ってしたんですが、インクルードファイルplot10.hを開けません。そんなファイルはないですよ。
ってエラーになったんですが、このファイルだけ追加とかできますか?
0235デフォルトの名無しさんNGNG
>>234
そのファイル(ライブラリ)の出所が分からないと、なんとも。
0236デフォルトの名無しさんNGNG
>内部エラー検出にはASSERT使って、
>入力したデータのチェックには例外使って欲しい...。
ASSERT は例外投げてなかったっけ

>>234
"plot10.h" でないの?(テキトウレス)
0237234NGNG
>>235
出所とは?

>>236
意味が分かりません。
0238デフォルトの名無しさんNGNG
>>237
>出所とは?

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

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

もしくは、そのヘッダーファイルをインクルードしてるファイルと同じディレクトリにおいて
#include "plot10.h"
と書き換えるか。
0239デフォルトの名無しさんNGNG
VC++6.0Pro + WinXPで、CStringArrayクラスの配列に、
1件数文字程度の文字列を10万件格納。
これをクイックソート用の関数で五十音順に並べ替えるとき、
同一文字列の数が一定数以上だとスタックオーバーフローが起きる。
10万件中、同一の文字列が数百件程度なら大丈夫だけど、
数千件単位になると急に怒られる。
同一文字列がない、あるいは100件程度なら20万件扱っても平気っぽいのに。

オーバーフローが起きるタイミングは、
クイックソートで「キー」にするための文字列を配列から取得しようとしたとき。
数百〜数千回ほど再帰呼び出しを繰り返して、そこそこ階層が深くなったところで起きる。
0240デフォルトの名無しさんNGNG
>>239
ふーん、で、それがどうかしたのか ?
0241デフォルトの名無しさんNGNG
>>239
当たり前ということに書いてて気付かないのだろうか。
0242239NGNG
>>241
回答ありがとう。
ごめん、わからん。
何が当たり前でどうダメなのか教えてもらえると助かるよ。
0243241じゃないけどNGNG
「スタック使いすぎちゃってオーバーフローが起きました。」
「じゃあスタック大きくすれば。」

とか、そんな話?
0244デフォルトの名無しさんNGNG
再帰使えばそうなる罠
0245デフォルトの名無しさんNGNG
最近の容量という概念がわかっていないパソ初心者のようなものか
0246239NGNG
>>243
すまぬ、言葉足らずの質問だった。
うん、スタックを大きめに設定すれば解決はするのだけれど、
原因がわからないのがすっきりしない。
クイックソートって、比較結果が同じ値を扱うときは計算量が増える?
たとえば同じ256個の数値をソートするにしても、
1〜256まで全ての値があるのと10〜250までの10の倍数があるのとでは、
後者の方が手順が増えるものなのかな。

もうVCの話題じゃないな。
0247デフォルトの名無しさんNGNG
関数がどのように呼び出されるのかを勉強すれ。
0248デフォルトの名無しさんNGNG
>>246
同じ値がたくさんあると増えるだろね。
後半は意味が判らん。10〜250まで10の倍数は25コじゃないのか?

まー、とにかくクイックソートのアルゴリズム知らないなら勉強汁。
スレ違いなのでききたきゃ移動汁。
0249デフォルトの名無しさんNGNG
>>231
たとえば、Aというクラスがあって、そこから派生したBという
クラスがあるとするわな。それで、

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

なんつーことをする時に、Bのデストラクタが仮想関数になって
いないと、delete時にクラスBのデストラクタが呼ばれない。Bの中で
メモリをアロケートしてたりすると、そこでリークしてしまう罠。
全然VC++の話じゃないが、まぁそういうことだ。デストラクタは
virtual指定しておくべし。
0250デフォルトの名無しさんNGNG
VC++.netってVC++6にあった
最近使ったファイルと最近使ったワークスペースは無くなっちゃったんですか?
0251デフォルトの名無しさんNGNG
「最近使ったファイル」は無くてもいいが、
「最近使ったワークスペース」は残して欲しい。
0252デフォルトの名無しさんNGNG
>>251
そだね。でもnet持ってないからいーや。
0253デフォルトの名無しさんNGNG
>>249
231じゃないが、仮想デストラクタの意味がはじめて分かった気がした。
ありがとん
0254デフォルトの名無しさんNGNG
ここでいいのか悩んだんですが・・・。 心優しい方の叱咤を期待して。

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

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

何かヒントでもいただければと思います。 どうか、よろしくお願いします。
0255デフォルトの名無しさんNGNG
「ある」 としか言いようがないが・・・。
epsilon でもかませればある程度和らぐとか。
0256デフォルトの名無しさんNGNG
>>255
え?どういう理由で結果が違ってくるの?OSによって、x86系のFPUの
仮数部の精度の指定が違うとか?
0257デフォルトの名無しさんNGNG
CPU によって違う。
精度の問題ではなく、同一の回路を作ることができない。
それぞれの CPU の回路は企業秘密で、完全にそっくりに作ることができない。

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

OS 依存の数値演算ライブラリを使用していなければ、OS は関係ない。
0258デフォルトの名無しさんNGNG
OSごとの違いと言えば、こういう話もあるわけだが。
ttp://www.jp.freebsd.org/QandA/HTML/587.html
0259デフォルトの名無しさんNGNG
>>257
それ、本気で書いてるの?インプリメントが違っても、異なる
計算結果になんかなるわけないでしょう。なるとしたらそれはバグ。

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

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

>254
何らかのバグがいるんじゃないの?
0260254NGNG
ふむ。 難しいですね・・・。
DirectXは使っていないと書きましたが、他の部分では使っているので、
もしかしたら影響を受けているのかも知れませんね。

FPUの仮数部精度をC/C++からせっていしてやることはできるのでしょうか。
DirectXのデバイス生成の時にどうこう、って話をどこかで見たような気が
するのですが・・・
0261デフォルトの名無しさんNGNG
>>260
MSDN眺めてたら _control87、_controlfp なんかがあった。あと

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

なんて記述もある。よーわからんけど。
0262254NGNG
>261
ありがとうございます!

あとは、CreateDeviceの時にD3DCREATE_FPU_PRESERVE ですかね。
色々試してみます。 ありがとうございます>ALL
0263デフォルトの名無しさんNGNG
X-Yプロッタ・ルーチン使いたいんですが、

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

となってしまい、うまくできません。
解決法をどなたか教えていただけないでしょうか?
plot10.hなんて最近使わないんでしょうか…?
0264デフォルトの名無しさんNGNG
>>263
1. plotc.exeにパスが通ってない。
2. 何か根本的なことを間違えている。

つーか、ヘッダーファイルをインクルードする場合普通はDllかLibがあると
思われ。
0265263NGNG
>>264
レスありがとうございます。

うちのVisualC++ではxyプロットルーチンが使えなかったんで、
plot10.hとplotc2f.libを各々フォルダに入れてやってみたんです。
しかし、うまくグラフが出ない。ってことは.dllが足りないと言うことでしょうか?
0266デフォルトの名無しさんNGNG
Visual C++6.0プログラミング―MFCによるWindowsプログラミングの基本と実践からATLによる技法まで Programmer’s PAGE
http://page3.auctions.yahoo.co.jp/jp/auction/c28302205
6.0だけどいいんじゃない?
0267デフォルトの名無しさんNGNG
char* の数値を intにキャストしたいのですが、どうしたらよいのですか?
0268デフォルトの名無しさんNGNG
>>267
どうしたらよいって何?
ソース書けってこと?
0269デフォルトの名無しさんNGNG
>>267

char* pchar;

・・・

(int)pchar;
0270デフォルトの名無しさんNGNG
「char*の数値」ってポインターアドレスを指しているのか
charの実体を指しているのかわかりづらい表現だな。
0271デフォルトの名無しさんNGNG
char* hoge1="10";
char* hoge2="20";

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

で差を求めたいんです
0272デフォルトの名無しさんNGNG
>>271
「atoi」っていうかスレ違い。
0273デフォルトの名無しさんNGNG
>>271
これじゃあポインタの差を取ってないか?
0274デフォルトの名無しさんNGNG
値の差を取りたいのですが・・
0275デフォルトの名無しさんNGNG
int res = atoi(hoge2) - atoi(hoge1)
0276デフォルトの名無しさんNGNG
ポインタの値
文字コードの値
数値の値
この3つを明確に区別してね
0277デフォルトの名無しさんNGNG
メッセージボックスでその値を表示しても表示されないのですが・・

MessageBox(hwnd,(LPCSTR)res,(LPCSTR)"差分",MB_OKCANCEL);
0278デフォルトの名無しさんNGNG
そりゃ表示されんわな
0279デフォルトの名無しさんNGNG
がーん
0280デフォルトの名無しさんNGNG
>>279
>>276 を3度嫁
0281デフォルトの名無しさんNGNG
じゃあsprintfを投入しる!
使い方は自分で調べるぁ
0282どうよ?NGNG
>>277
char s[80];
wsprintf(s,"res = %d",res);
MessageBox(NULL,s,"差分",MB_OK);
0283デフォルトの名無しさんNGNG
>char s[80];
なんで 80にしたのか、すげー気になる
0284山椒NGNG
唐突な話で恐縮なんですが、もしご存知の方がいらっしゃったら
教えて下さいです。(低姿勢)
例えば、あるWebページにActiveX(COM)を埋め込んだとします。
で、そこで公開しているなんらかのメソッド(あるいはプロパティ)に
「JavaScriptで作成したオブジェクト」を引数として渡したとします。
この時、ActiveX側からこの参照(型はたぶんVARIANT)を通じて、
「JavaScriptで作成したオブジェクトのメソッド」を呼び出す事は可能
でしょうか。
0285山椒NGNG
ちなみに、「JavaScriptで作成したオブジェクト」ってのは、以下のような物を指します。

// 例
function CFoo() {
this.privateArg = null;
this.setMethod = function(a) {
this.privateArg = a;
};
this.getMethod = function() {
return this.privateArg;
};
}
0286デフォルトの名無しさんNGNG
>(低姿勢)
激しくむかつくんだが。。。
0287山椒NGNG
で、埋め込んだActiveX(COM)のメソに...

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

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

...すんませーん、特に意味は無いです。申し訳無い。
0289デフォルトの名無しさんNGNG





















っで?
0290これってNGNG
WebProgネタじゃねぇの??とも思ったけど、たぶんWebProgでは、
扱って無い系の話かもしれないようなそうでもないようなっていうか
users.gr.jpにでも行った方がいいのでは?
0291デフォルトの名無しさんNGNG
>>282
_itoaじゃ駄目か?
0292デフォルトの名無しさんNGNG
IEコンポーネントのJavaScriptを呼ぶ方法はあるが、ちょっと違うな…。
ttp://www.codeguru.com/ieprogram/JSCalls.html
0293デフォルトの名無しさんNGNG
>>291
可搬性が低い。
wsprinftも低いが。
sprinft使え。
0294山椒NGNG
>>292
こんな時間にレスありがとうございます。

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

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

..やっぱ無理かなぁ..。つーか、インタプリタの作成したオブジェクトって時点ですでに
「逝ってよし」なんでしょうか...。
0295デフォルトの名無しさんNGNG
>>263
そもそも、そのplot.exeだのplot10.hって何だよ。それのマニュアル
をちゃんと読んだのか?どうもVC++と何の関係も無い質問をする冬厨が
増えてるようだな。
0296デフォルトの名無しさんNGNG
>>295
まぁ仕方ない。冬だから。
0297デフォルトの名無しさんNGNG
>>294
JavaScriptのオブジェクトって、IDispatch (正確には IDispatchEx)
インターフェースを公開してるから、CComDispatchDriverでラップ
してInvokeすればいいんじゃない?
0298デフォルトの名無しさんNGNG
BMPを読み込もうとしたんですがgraph.hがわからないとか言われました。

VC++ではBMPを読み込めないのでしょうか?
0299デフォルトの名無しさんNGNG
読めますよ
0300デフォルトの名無しさんNGNG
>>298
問題はどんな形でBMPを読ませようとしているかだな。
0301デフォルトの名無しさんNGNG
Windowsのプログラムのソースって、何十行もあるけど
あれは覚えないといけませんか
0302301NGNG
スケルトンのことです。
0303デフォルトの名無しさんNGNG
>>301
暗唱してください。
コピペなんてプログラマの風上にも置けません。
0304デフォルトの名無しさんNGNG
コピペというかWizardが作ってくれますた。
0305301NGNG
どうやって覚えますか
0306301NGNG
やっぱりひたすら打つしかないか
0307デフォルトの名無しさんNGNG
int MessageBox(HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT uType);

こいつの第四引数 MB_OKCANCELなどで使いたい時、
[OK][キャンセル] ではなくて、[OK][Cancel]にすることってできますか?
0308デフォルトの名無しさんNGNG
>306
左脇えぐりこむようにな
0309デフォルトの名無しさんNGNG
>>307
caption書き換えるだけでいいだろ?
なんで関数まで持ち出す必要あるんだ?
0310307NGNG
>>309
すみません、どこで書き換えるのかわかりません。
そんなに簡単なんですか。じゃもう少し自分で調べます。
関数を全部書いたのは、MessageBoxにもいくつかあるかな、
と思ったからです。
0311301NGNG
あぁ…やっぱりだめだ。
全然覚えることができない。
だいたいCALLBACKってなんだよ!Instanceってなんだよ!
UINTってなんだよ!Whndってなんだよ!
新しい言葉ばっかりで意味不明だ…
どの本を読んでも意味を理解しようとするなって書いてあるし。
理解できないと覚えれるわけがないじゃないか!!
0312297NGNG
>>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);
}

こんな感じで出来ると思う。
0313デフォルトの名無しさんNGNG
初心者スレもMFCスレもWin32APIスレもCOMスレも内包するこのスレは最強だな
0314デフォルトの名無しさんNGNG
ウインドウのスケルトンのソース教えてください
0315デフォルトの名無しさんNGNG
>>311
意味が分からないのは、覚える覚えない以前の問題。
0316デフォルトの名無しさんNGNG
>>310
MessageBoxEx の wLanguageId を指定すればいけるんじゃ?

...と思ったらダメぽだったよ。
0317307NGNG
>316
はい、俺も今やったけどダメでした・・・
0318デフォルトの名無しさんNGNG
>>315
だって意味がわからないんだもん
0319デフォルトの名無しさんNGNG
ペゾルド本読み
0320デフォルトの名無しさんNGNG
>>310
目的のコントロール(この場合ボタン)を右クリックしてメニューを出して、
プロパティをクリックすれ。
キャプションっていうのがあるからそこ書き換える。
…初心本すら読んでないのかよまったく。
0321デフォルトの名無しさんNGNG
>>311
まず猫にでも行ってこい!
0322デフォルトの名無しさんNGNG
>>309 >>320
??MessageBoxですよ? むしろ MessageBoxを自作しろということかな?
0323デフォルトの名無しさんNGNG
>>322
自作すれ。
0324デフォルトの名無しさんNGNG
ダイアログの中のピクチャボックス(256×256)の左上の座標を(0,0)
に設定したいです。ピクチャボックスを動かしても(0,0)にしたいです。
どうすればよいでしょうか?
BOOL CAboutDlg::OnInitDialog()
{
CDialog::OnInitDialog();

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

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

0325デフォルトの名無しさんNGNG
#include <graph.h>
↑
を打ち込んでもコンパイルできません。
どこから拾ってくれば良いのでしょうか?
0326デフォルトの名無しさんNGNG
>>322
つーかなんで、[OK][Cancel]にしたいのよ?
0327322NGNG
>>326 あ、俺は >>307=310 じゃないよ
0328デフォルトの名無しさんNGNG
メディアプレーヤーを指定した時間に再生できるように設定するコードを書きたいのですがVCでできますか?
よろしくお願いします。
0329デフォルトの名無しさんNGNG
>>325
マルチうざい

>>328
タイマつかって1分ごとに時間をチェック→ShellExecuteとか。
0330デフォルトの名無しさんNGNG
ダイアログの中のピクチャボックス(256×256)の左上の座標を(0,0)
に設定したいです。ピクチャボックスを動かしても(0,0)のままになるようにしたいです。
どうすればよいでしょうか?頼みますから教えてください・・
0331デフォルトの名無しさんNGNG
>>327
あ、そうなの。まぁどうでも良いけど。
0332デフォルトの名無しさんNGNG
MSからデバッグシンボルというものをダウンロードしてインストールしたんですが、
(kernel32.dbgとかがある)

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

VC6 Win2000
0333デフォルトの名無しさんNGNG
>>330
左上の座標を(0,0)っていうのはダイアログの左上隅に配置したい
ていうこと?
0334デフォルトの名無しさんNGNG
RPGを作ろうとしてます。
画面表示などは解るのですが、スクリプト部分がわかりません。
どなたか教えてくださいませんでしょうか
0335332NGNG
COFFのエクスポートでできました。ヽ(´ー`)ノ
0336デフォルトの名無しさんNGNG
>>334
何を教えるの?
全部?
0337デフォルトの名無しさんNGNG
VCのDAOとACCESSでデータベース検索プログラム作ってるんだけど
ACCESSの特定のカラムを抜き出そうとしたとき
「このコレクションには項目がありません。」って言われました。
コンパイルは通るんですが実際に検索はできません。
これってどういうことでしょう?
0338デフォルトの名無しさんNGNG
SDKって最新版をDLしてインスコした方がいいの?
0339山椒NGNG
>>297 319
遅レスですいません、ありがとうございます!!
へー、JavaScriptで作成されたオブジェクトって、IDispatch持ってたんですか。
ていうか、CComDispatchDriver でラップできるような(要するにCOM部品な)
ヤツだったんですね。

早速試してみます。ありがとうございました。
0340デフォルトの名無しさんNGNG
リソースエディタで作ったダイアログのソースをVC++上でみることはできないのでしょうか?
0341デフォルトの名無しさんNGNG
多分できないけど、そんな必要があるの?
外部のテキストエディタで見ればいいのに。
0342デフォルトの名無しさんNGNG
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
0343デフォルトの名無しさんNGNG
>>341
いや見れるぞ
修正も出来る
開いてるとちゃんと再読込もかかる
0344デフォルトの名無しさんNGNG
OSをWin98からWinXPに変更したのですが、
システムリソースとう概念がなくなり(?)1ユザーとしては大変有難いのですが
開発者としてはWin98対応の為のリソースリークのチェックができなくなりました。

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

Visual Studio 6.0+WindowsXP Pro
0345デフォルトの名無しさんNGNG
>>342
設定がおかしくなっているんだろ。
インストールしなおせば。
0346342NGNG
>>345
unisatll 掛けて Program Files\Microsoft Visual Studio 手動削除し、
再ンストールをカスタム、製品など色々試しましたが駄目です。
インストール直後で設定がおかしくなるとも思えないし。
0347デフォルトの名無しさんNGNG
そういえばXPとVC6.0でなにか問題があるとか聞いたことがある。
Microsoftのページにいけばなにかかいてあるんじゃないの。
0348デフォルトの名無しさんNGNG
>>342
pch ファイルが壊れているとか。
リビルドしたりとかディスク空き容量とかは?
0349デフォルトの名無しさんNGNG
>>342
メニューのプロジェクト->設定から
「C/C++」タブの「プリコンパイル済みヘッダー」カテゴリを選択し、
そこのラジオボタンをいろいろいじってためしてみよう。
0350デフォルトの名無しさんNGNG
webからHPを拾ってきて解析したいので、httpプロトコルを面倒見てくれるソースが欲しいです。
どなたかご存知ありませんか。
フリーの外部プログラムでもかまわないです。
0351デフォルトの名無しさんNGNG
>>350
MFCにならあるけど。
SDK使ってる?
0352デフォルトの名無しさんNGNG
http自体は単純だから自分で書いてみるべし、と言ってみるテスト。

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

↑ここに日本語訳版がある。
0353デフォルトの名無しさんNGNG
HTTPに関してはWinInetで充分だと思うが。
0354デフォルトの名無しさんNGNG
HTTPに関しては手作業で十分だと思うが。
0355デフォルトの名無しさんNGNG
>>352
それってHTML関係でhttpではないのでは?
0356デフォルトの名無しさんNGNG
どーでもいいがhttpプロトコルって冗長だな。
0357352NGNG
>>355
あ、スマソ。素で間違えた。(恥

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

↑ここにとりあえず丁寧な説明があるYO。
0358342NGNG
>>348
中間ファイル *.pch が生成されてないようです・・・
HDD空き容量はGB単位で空いてます。

>>349
これから試してみます
0359342NGNG
>>349
”プリコンパイル済ヘッダーを使用しない(N)”
を選択したところ問題は解決したように見えます。
有難う御座います。

OS環境によって pch の使用に制限とかあるのでしょうか?
又、これを使用しないにして他の問題は無いのでしょうか?
ヒントになるキーワードだけとかURLだけでもいいので宜しくお願いします。
0360デフォルトの名無しさんNGNG
VCなんてまだやってるの?プ!
素直にC#いっとけ。
0361デフォルトの名無しさんNGNG
>>360
正直、C#はキモい。ていうか隠蔽されすぎ。
なので、個人的にはまだVC(..というかC++)の方が好き。
0362デフォルトの名無しさんNGNG
>>361
正直、MFCはキモい。ていうか隠匿されすぎ。
0363デフォルトの名無しさんNGNG
いちいち釣られんな冬厨ども。
0364342NGNG
>>359
pch について調べたところ、恥ずかしい質問でした。

修行してきます・・・
0365デフォルトの名無しさんNGNG
>>351
MFCでどういうのがありますか?
>>353
WinInetの使い方を教えてください。

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

CStringの hogeを char配列の変数に代入したいんですが、どうしたらよいですか?
0367デフォルトの名無しさんNGNG
>>366
UNICODEにしてないなら、
char s[100000000000];
if(sizeof(s) + 1 < hoge.GetLength())
 strcpy(s , hoge);
0368367NGNG
逆でした
if(sizeof(s) > hoge.GetLength() + 1)
0369デフォルトの名無しさんNGNG
>>350
MFCなら
CHttpFileもつかうのかも。
手っ取り早くいくなら
ttp://codeguru.earthweb.com/internet/httpViaProxy.shtml
とか?
どっちもつかったことないけど。
0370デフォルトの名無しさんNGNG
>>353
InternetReadFileで検索すれ。
0371デフォルトの名無しさんNGNG
>>367
>char s[100000000000];
こんなに確保できるかよ(w
0372デフォルトの名無しさんNGNG
なぜこれを使わない?
URLDownloadToFile(NULL,"http://www.hoge.com/", "hoge.html", 0, NULL);
0373デフォルトの名無しさんNGNG
CAsyncSocket::Create()で第一引数を0にしたのですが、
選択されるポートが1025〜5000でした。
どうして5001〜は選択されないのでしょうか?
ご存知の方ご教授お願いします。
実行環境が良くないのでしょうか?
0374デフォルトの名無しさんNGNG
>>373
システムに聞いてくれ。って感じ?
0375デフォルトの名無しさんNGNG
>>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
つかぐぐれやゴルァ!
0376デフォルトの名無しさんNGNG
とか言いながら優しいな
0377307NGNG
>>307です。物凄い遅レスになりますが。

>>320
まあ、>309のレスを見る限り、徹底的に勘違いされてるなぁとは
思ってましたけどもね。いくらなんでもダイアログエディタでcaption
書き換えるくらいは解りますよ…。
自作すれ、というのが回答ならば、それはそれでありかもしれませんが。
でもレスくださってありがとうございました。本当に。
>>326
エンドユーザが海外だからです。
0378307NGNG
http://www.mtakahashi.com/old/a1575.html
ここの A1561の記事を読むと、英語版Windowsで実行させると
自動的に Cancelになりそうな気もしますが。
ていうか、海外に出すっていうのに英語版Windows持ってないのかよ!
といわれそうですね。会社小さいし、ソフトはあまりやらないトコなので…。
年明けたら申請してみます…。
0379デフォルトの名無しさんNGNG
つか、メッセージボックスくらいなら自分で作ればいいだろうが。
0380デフォルトの名無しさんNGNG
>>377
英語版のVC++使えば良いんじゃないの?知らんけど…
0381307NGNG
>379
もちろん、メッセージボックスならほとんどコードを書くこともなく
自作できるわけですけどね。でも、もしも>>316のような手段で
変えられるならそっちを使うほうが良いに決まってますよね。
絶対に無理、といことがはっきりしてるなら自作でもいいですけど
そうは思えないのでここで聞いてみました。
0382307NGNG
>>380
日本語で自動生成されるコメントの問題もありますしね。
ソースを公開するから、それがベストなんですけど、
英語版VCはさすがに買ってもらえないかもしれません。
英語版Windowsくらいならたぶん大丈夫だと思います。
今の予想では、>>316のように書いておいて、英語版Windowsで
走らせればCancelと表示されるのではないかと。
もしかしたら>>316も必要ないかもしれないですが。
0383デフォルトの名無しさんNGNG
英語版Winならdllも英語版だと思うんだがどうよ?
0384デフォルトの名無しさんNGNG
>>382
だけどそんなに気にするほどのもんかね?
例えば海外ソフトとかをダウンロードして使用する時、メッセージボックスや、ファイル選択ダイアログが、
日本語表示になっていることがあるからたぶん普通にMessageBoxを使っても問題な誘うな気がすんだけどな。
0385デフォルトの名無しさんNGNG
>>384
コモンコントロールのファイル選択ダイアログとかはWindowsの言語に依存するよ。
0386デフォルトの名無しさんNGNG
メッセージボックスの場合は user.exe の言語に依存っぽい。バイナリを見ると。
0387デフォルトの名無しさんNGNG
>>344
GUIリソースの使用量を調べるAPIがあった気がする。
GetGUIResourcesだったかな?

>>377-378
直接質問には関係ないけど、複数言語のリソースをrcファイルに
入れる方法を調べとくといいかもしれませんね。
MFCのヘルプにあったと思います。
0388デフォルトの名無しさんNGNG
>>344
W2kから変わってなければタスクマネージャのプロセスでハンドルだのリソースだのの使用量が見れる。
0389デフォルトの名無しさんNGNG
Win98SE VisualStudio6.0 SP5
Platform SDK をアップデート(2002 oct 版)したところ
ビルド時にRC.exeにエラーが発生して、
「このWindowsのバージョンでは実行できません」
と出ます。M$の便乗商法に引っかかったような感じです。
正常にビルドするにはどうしたらよいのでしょうか。?
0390デフォルトの名無しさんNGNG
>>389
俺も 98SEに PSDK 2002July 入れたんだけど、そういう風にはならんかったな。
前のバージョンの RC.EXE が
  \Program Files\Microsoft Visual Studio\Common\MSDev98\Bin
に多分残ってると思うんで、
  ツール→オプション→ディレクトリ
で実行可能ファイルの検索順変えたらいいんじゃないかな。
0391デフォルトの名無しさんNGNG
リソースエディタで作成した.rcファイルを
プロジェクト - プロジェクトの追加 - ファイル で追加すると、
ResourceFileではなくて、FileViewのSourceFileのところに
追加されるのですが、これはみなさんそうですか?

環境:Win2000Pro、VC++6.0(SP5)
0392デフォルトの名無しさんNGNG
>>391
やってみた。確かなそうなるね。
でも、その後ドラッグドロップで OK でしょ。
0393392NGNG
つーか、よく考えたらリソーススクリプトは SourceFile でいいんじゃん。
コンパイルされるんだから。

ResourceFile はアイコンとかビットマップとかの、リソースの実体ファイルが
入るんでしょ。
0394デフォルトの名無しさんNGNG
IDEから入ったやつらは、こういうことで悩むんだなww
0395デフォルトの名無しさんNGNG
>>394
うるさいなー。おまえキライ!
0396デフォルトの名無しさんNGNG
>>395
そんなこと言わんとmakeでも勉強しとけ。
0397デフォルトの名無しさんNGNG
>>394
HD?
0398デフォルトの名無しさんNGNG
>>397
バカ?
0399デフォルトの名無しさんNGNG
Wizard使ったって.rcはFileViewに追加されてるっつの。

つーか道具の使い方なんだからIDEから入ろうがそうでなかろうが関係ないと思われ。
単に>>391が使い方知らなかっただけだろ。
0400デフォルトの名無しさんNGNG
>>399
道具の仕組みを直感的に把握する能力も大切だと思われ。
0401デフォルトの名無しさんNGNG
つーか、SourceFile も ResourceFile も単にプロジェクトにデフォルトで
作られるフォルダというだけで、あとはどうにもでカスタマイズ可能なんだ
よな。
0402デフォルトの名無しさんNGNG
>>400
だからそれにIDEから入ったかどうかは関係ないだろって話。
0403389NGNG
>>390
レスありがとうございます。
変更して今のところ問題ないみたいけどアップデートした
ことになるんだろうか?と思ってみたり。
0404デフォルトの名無しさんNGNG
んでIDEって何?
0405デフォルトの名無しさんNGNG
ツールの使い方についての質問ですけど、
ワークスペースの
Classview
Resourceview
Fileview
を切りかえるショートカットキーってどれなんでしょうか?
0406405NGNG
さっきからずーっとキーボードマップ見てるんですけど、ぜんぜんわからない・・
初心者スレ逝ってきます・・・
0407デフォルトの名無しさんNGNG
>>406
無い。が答えだと思うんだけどね。
0408デフォルトの名無しさんNGNG
>>407
つーか必要ないし。
0409405NGNG
>>407
まじで!!
>>408
必要だとかんじないすか?つっか必要だと思ってるの俺だけか・・・スレ汚しすまそ。
0410デフォルトの名無しさんNGNG
>>409
いや、俺も欲しいなと思うときはあるにはある
0411デフォルトの名無しさんNGNG
>>409
うん。マジで要らん。検索、置換、大文字・小文字変換くらいしか使ったこと無いし。
でもVC++使ってて突然Insertが切り替わってしまうのがチト難点。
あれってInsertキー以外のキーでも変わるみたいだな。確認してないからどのキーか知らんけど。
0412デフォルトの名無しさんNGNG
リソースに 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とか見てやったんですが、どうも
自分ではうまくいかないんです。
0413412NGNG
すいません、>>412にある方法でできました・・。
アイコンをロードしようとしていたメモリ DC の「幅」が足りなかった
だけですた・・。俺の時間を返して。

でもまだ文字列を指定してリソースをロードすることができません。
引き続きアドバイス募集中です。
0414デフォルトの名無しさんNGNG
>>413
素じゃできません。
IDI__〜って#defineされた数値ですよ。
自分でそういうルーチンを書けばできますが。
(IDと文字列の対応を配列に持って検索する)
0415デフォルトの名無しさんNGNG
>>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" のように指定しなければいけないということ
なんでしょうか。・・うんたぶんそうだ・・。
0416デフォルトの名無しさんNGNG
>>415
>"IDI_AN_ICON" のように指定しなければいけないということ
>なんでしょうか。・・うんたぶんそうだ・・。
半分正解。MAKEINTRESOURCEマクロを使って
MAKEINTRESOURCE(IDI_AN_ICON)
と書けばOK!
0417412,415NGNG
>>416
ガイシュツです・・。
0418デフォルトの名無しさんNGNG
lHIcon = (HICON)::LoadImage(
aInstance, MAKEINTRESOURCE(IDI_AN_ICON), IMAGE_ICON,
16, 16, LR_DEFAULTCOLOR);

これで 16×16 のアイコンがロードできたと思うけど・・・。
0419デフォルトの名無しさんNGNG
>>415
素で出来る。
同じ物をID番号と文字列で同時には使えないが。

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

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

また、これが出来るのはダイアログやアイコン等のそれ単体でロード
出来る物に限ると思われ。
ダイアログ上のコントロール等はID番号以外は無理な筈。
0420412,415,417NGNG
>>419
ご丁寧にありがとうございました。試してみたところ、
ID に指定できる文字列の長さは 247 文字までみたいです。
ダブルクオーツを含めると 245 文字までです。
みなさんのおかげで、もうアプリは完成いたしました。
どうもありがとうございました。
(全部数値の ID を使ってます。こじれるのが怖くて
 >>419 さんの方法を試す気力がないです。申し訳ない・・。
 リソースへシーケンシャルにアクセスするので、俺のアプリの場合
 数値の方が楽ですた。)
0421デフォルトの名無しさんNGNG
VC++6 でアプリ作ってます。で、
エクスプローラでhoge.exeを洗濯して
「プロパティ」表示させたときに出てくる
「ファイル バージョン」「説明」「著作権」「会社名」「商標」「清拭バージョン」
…などは、どこに書けばいいんですしょうか?
リソースエディタを使うんでしょうか? ・・・・・(;´Д⊂ ウエーン。ワカンナイヨウ。
0422デフォルトの名無しさんNGNG
リソースの中にVersionってフォルダがないかい?
0423421NGNG
>>422  (´∀`)ありがとう☆
「Version」フォルダは未だなかったけど、
「ソソースの挿入」で種類が選べるンですね。
助かったっす ♥
0424421NGNG
ところで、ビルド番号とか自動インクリメントしてくれるマクロとか
ttp://codeguru.earthweb.com/devstudio_macros/build_number.shtml
↑ここに載っているけど、ここの板は極めて見づらいっす。

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

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

やっぱ、シェアウェアの「BuildMan」とか使うのが便利でよいんでしょうか?
0425IP記録実験NGNG
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を提出することがある。
0426デフォルトの名無しさんNGNG
喜念パピコ♪
って、喜んでる場合じゃないか。
ほんとに全鯖で記録すんの?
それは、利用者が簡単に見れちゃったりする?
0427デフォルトの名無しさんNGNG
あっちこっちで自演始めちゃったよ・・・(^^;
0428デフォルトの名無しさんNGNG
>>302
ポイズン
0429デフォルトの名無しさんNGNG
ひろゆき、余ったIPくれっ
0430デフォルトの名無しさんNGNG
>>538
ワラタ
0431IP記録実験NGNG
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を提出することがある。
0432デフォルトの名無しさんNGNG
IP開示のガイドライン制定を
0433デフォルトの名無しさんNGNG
スレ違いの板違いは出て逝け
気違いどもめ
0434デフォルトの名無しさんNGNG
>>1さん
IPを記録しないでくださいお願いします
0435デフォルトの名無しさんNGNG
Freenetはとりあえず現時点で幻想が現実になったものだべ。
0436デフォルトの名無しさんNGNG
響子さん・・・
0437デフォルトの名無しさんNGNG
pc3にも入れてくれ
0438デフォルトの名無しさんNGNG
モルモットにされたのか
0439デフォルトの名無しさんNGNG
>>73
判決確定な。
0440デフォルトの名無しさんNGNG
マンドクセーから某氏が>>13の文章を正しく書き直してくれや。
それでいいじゃないの。
0441デフォルトの名無しさんNGNG
  \ │ /
                 / ̄\   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
               ─( ゚ ∀ ゚ )< ひじひじひじひじ!
                 \_/   \_________
                / │ \
                  ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\ ∩ ∧ ∧ \( ゚∀゚)< ひじひじひじひじひじひじ!
ひじひざ〜〜〜〜! >( ゚∀゚ )/ |    / \__________
________/ |    〈 |   |
              / /\_」 / /\」
               ̄     / /
0442デフォルトの名無しさんNGNG
>>354
いや。それこそがネットのポジティブな力であり、多くの人が2ちゃんに
惹き付けられた魅力だと思うのよ。
でも、それは参加者の力量が高くなくては不可能な話であって、
今の2ちゃんねらーにはその力量が決定的に欠けているのよ。
0443デフォルトの名無しさんNGNG
>>841
そりゃトマトだ。
0444デフォルトの名無しさんNGNG
>アクセスログってなに?

人を馬鹿にするな!
0445デフォルトの名無しさんNGNG
ガ━━(゚Д゚;)━━ン!
0446デフォルトの名無しさんNGNG
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| マスター、もう一杯
\_   _________________
   | /
    ∨
日 ▽ �U [] �V
≡≡≡≡≡≡≡  ∧ ∧    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 �V ∩ [] ∨目 (゚Д゚,,)   < そんなに飲んでいいのかい?アンタまだ保護観察付きだろ?
__ △ヒック______|つ∽__ \_____________________
 ∠●ノ▽
― □  ―――――――
  <\  
 ━┳━   ━┳━

おでんマンもたまには酔いたいときがある…
0447デフォルトの名無しさんNGNG
IP見られちゃうのかー。
恥ずかしいよ。助けて。
0448デフォルトの名無しさんNGNG
char* の数値を intにキャストしたいのですが、どうしたらよいのですか?
0449デフォルトの名無しさんNGNG
ところで、アホーの投票祭り無いの?
俺は「2ちゃんねるってなに?」に投票してきたけど。
0450デフォルトの名無しさんNGNG
>>448
ふつーにこうだが・・・

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

権力には抵抗するけど、暴力には滅法弱い、それがわれらのひろゆき
0452デフォルトの名無しさんNGNG
今からこのスレッドは87氏を応援するスレッドになりました(^_^;)
0453デフォルトの名無しさんNGNG
MFC(VC6.0)で、IE6.0などと同じ形式のファイル保存ダイアログはどのようなクラス、
または方法で出せるのでしょうか? いろいろ調べても分かりませんでした。
0454デフォルトの名無しさんNGNG
>>453
質問があいまいでわからません。(あなたの環境は?)
0455デフォルトの名無しさんNGNG
>>454
VC6.0でMFCを使って、IE6.0などのように左側に「マイドキュメント」や
「デスクトップ」のアイコンあるファイル保存ダイアログを出したいのです。
CFileDialogでは、普通によく見るファイル保存ダイアログが出てしまいいます。
0456デフォルトの名無しさんNGNG
>454
とりあえず2つほど
http://www.codeproject.com/dialog/win2000fd.asp
http://www.codeproject.com/dialog/win2kfiledlg.asp
0457デフォルトの名無しさんNGNG
┨←なんでこれ付けないの?→┠
0458デフォルトの名無しさんNGNG
はぁ。もうテンプレ張るのやめた。
0459デフォルトの名無しさんNGNG
======2==C==H======================================================

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

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

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

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

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

んじゃ!

────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
0460デフォルトの名無しさんNGNG
(´∀`)
0461デフォルトの名無しさんNGNG
>>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が付いた
ファイルダイアログが表示されるね。
オブジェクトの構築方法によって異なるのかな?
0462デフォルトの名無しさんNGNG
こぶ平の母親は昔「日本のお母さん代表」みたいな顔してたが、こぶ平が満足に箸も使えないことがバレてからは干されました。
0463455NGNG
>>456
感謝。
一番簡単な方法は DoModalの前に、以下の1行を加えたら良いと分かりました。
ただし、2000以降でしか無理?

 dlg.m_ofn.lStructSize = sizeof(OPENFILENAME) + 12;
0464デフォルトの名無しさんNGNG
2
0465デフォルトの名無しさんNGNG
ボンタレンに改名汁!!!!
0466デフォルトの名無しさんNGNG
>463
昔MSDNマガジンで見て詳しい内容覚えていないどあんまりいい方法じゃないみたいだよ。
9x系だけかもしんないけど。
↓でもAccess Violationが発生するようなこと書いてあるし。
http://www.experts-exchange.com/Programming/Programming_Languages/MFC/Q_20302083.html
0467デフォルトの名無しさんNGNG
犯行予告スレをたてたと思われるやつが追い込まれて
何かしでかしそうです。放っておいていいのでしょうか?

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
0468デフォルトの名無しさんNGNG
殺人予告スレ発生。

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

悪戯であることを祈る。
0469デフォルトの名無しさんNGNG
VC6.0のVBScriptマクロで、エディター使用中に外部プログラムを
呼び出すことはできるのでしょうか?
0470デフォルトの名無しさんNGNG
2ちゃんねるも現実ですよ。
0471デフォルトの名無しさんNGNG
ちょっとお聞きしたいことがあるんですが、Jチャンネルで言われていた、掲示板はどのコーナーのどんな題名ですか?
知ってる人がいたら教えて下さい!!
0472デフォルトの名無しさんNGNG
広末のまんこに俺のティムポ入れたい
広末のきつきつおまんこに中出し・・・(;´Д`)ハァハァ

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

まぁK察かなんかはやりやすくなるんだろうけど
0473デフォルトの名無しさんNGNG
そうか・・・。
0474デフォルトの名無しさんNGNG
待ってます。よろしくお願いします。
0475デフォルトの名無しさんNGNG
タ刊托イ
0476デフォルトの名無しさんNGNG
11/26のメルマガでこんな事、言ってるけど
ちなみに、これってどこの板か非常に気になります!
某社って???
とりあえず、いつごろの書きこみにたいして?
しょうさい、きぼーん。

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


0477デフォルトの名無しさんNGNG
VC7.0でDebugとReleaseの違いってなんですか?
いままでうまく(とりあえず)動いていたものが
Releaseにしてデストラクタで落ちるようになってしまいました。
0478デフォルトの名無しさんNGNG
>>477
デバッグ情報ありなし。
0479デフォルトの名無しさんNGNG
>>478
最適化の有無とか、スタックの整合性チェックとかもあるだろう。

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

ttp://www.codeproject.com/useritems/leakfinder.asp
0480デフォルトの名無しさんNGNG
今まで計算とかシミュレーションとかするのに、
コマンドラインのCコンパイラでコンソールプログラムだけ作ってきたんだけど、
計算結果を絵に描いたりしてみたくなってきたんだけども、
サクサクプログラムできるwindows用の言語ってどれさ?
Cの文法がわかってれば、visualCは簡単かい?サクサクできる?
0481デフォルトの名無しさんNGNG
>>480
N88 BASIC
0482デフォルトの名無しさんNGNG
>>481
計算遅すぎ
0483デフォルトの名無しさんNGNG
>>482
ほう。
0484デフォルトの名無しさんNGNG
>>489
ありがとうございます。厳しく見てみます。
0485デフォルトの名無しさんNGNG
>480
MATLAB
0486デフォルトの名無しさんNGNG
>>480
>visualCは簡単かい?サクサクできる?
サクサクできるよ。ただしサクサクAPI(or MFC)覚えてな。
0487デフォルトの名無しさんNGNG
て
0488デフォルトの名無しさんNGNG
ShutOutというけど
ローカルルールに従った要請は受け付けてるんだから(^_^;)そうすればいいよ
列に並ばないで権利を主張する奴は許されない
0489デフォルトの名無しさんNGNG
全部ポセイドンという罠(^_^;)
0490山崎渉NGNG
(^^)
0491デフォルトの名無しさんNGNG
>>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);
}
0492デフォルトの名無しさんNGNG
>>491
って言うかNULL論争起こるからデスクトップのDC欲しいならGetDC(0)にしと来なさいな。
0493491NGNG
そんなん言い出したらキリないやん
mainの戻りは放置してるし
SetROP2も戻してない
危険な変換を暗黙キャストでやってる罠
MINIXに対するLinus君の批判みたいな
論点すり替えはいやづら
0494デフォルトの名無しさんNGNG
>>493
総評:お前はもうちょっとまともなコード書け。
0495491NGNG
>>494
だからそれは480の領分であって
手段の存在を尋ねてきた者に対して
なるべく希望に沿う答を示したまでのこと
本当はSTRICTを書くのさえためらったんだぜ
0496デフォルトの名無しさんNGNG
>494はお門違い
0497デフォルトの名無しさんNGNG
国だろうと神だろうと郷に(2ちゃんねる)入ったんなら郷に(削除ルール)従え
しゃしゃり出て2ちゃんに口出しすんな

以上!
0498デフォルトの名無しさんNGNG
誰に言ってるんだ?
なんか新宿駅前のターミナルで不特定多数を叱りつけてるオヂサンみたいだぞ
0499デフォルトの名無しさんNGNG
#define STRICT ってどういう効果があるんですか?
0500デフォルトの名無しさんNGNG
>>499
ttp://www.microsoft.com/japan/developer/library/vccore/_core_using_strict_type_checking.htm
0501デフォルトの名無しさんNGNG
ようわからんけど、Windows API で使われる型のチェックを厳格にするという事?
0502デフォルトの名無しさんNGNG
パターン認識のスレで叩かれた1です
http://pc3.2ch.net/test/read.cgi/tech/1042478334/

VCで窓を作って、その中にユーザーがマウスでかきこみ、窓全体の情報を0,1情報で得る方法ってありませんか?
0503デフォルトの名無しさんNGNG
>>502
VCのサンプルにあるがな。
0504デフォルトの名無しさんNGNG
>>501
STRICTしないとHANDLEとかHBRUSHとかって全部void*扱いだったと思う
これをそれぞれ typedef struct __HANDLE {} *HANDLE;
とかして別々の型に見せるのがSTRICTの効果。

>>503
神降臨!!!
0505デフォルトの名無しさんNGNG
>>502
何で叩かれたか理解したら、ちゃんと削除依頼だそうな。
0506421NGNG
リソースの Version 情報(VS_VERSION_INFO)に
親の(?)ブロック(FILEVERSION などが書かれている)に、さらに
日本語のブロックも追加しました。

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

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

0507502NGNG
>>503
 どのサンプルですか?
0508デフォルトの名無しさんNGNG
using namespace std;

Visual C++6.0で↑のように記述するとよく
『存在しないか名前空間ではありません』
と出るのですが、どうすればこのエラーを回避することが出来るでしょうか?
0509 NGNG
CListCtrl クラスを使っています。
選択行が変わった時に処理を加えたいのですけど
どういうメッセージをキャッチすればいいですかね?

OnSelChange()みたいなのあればいいんですけどないですよね?
0510デフォルトの名無しさんNGNG
>>509
LVN_ITEMCHANGEDをキャッチできなかったっけ
0511 NGNG
>>510 ありがと〜
0512デフォルトの名無しさんNGNG
>>508
不要な場合にそう書かない。
0513デフォルトの名無しさんNGNG
>>508

0x200の言うとおり
stdを何に使う気だったのか,「それ」をどこで#includeしたのかと3.6�`秒ほど問い詰めたい
0514デフォルトの名無しさんNGNG
>>507
何で叩かれたか理解したら、ちゃんと削除依頼だそうな。
0515デフォルトの名無しさんNGNG
リソースエディタでメニューをつくるときに
項目の左にチェックがつけられるんですが、
アプリケーション上でこのチェックをつけたり消したり
するにはどうすればいいんでしょうか?SDKです。
0516デフォルトの名無しさんNGNG
>>515
メニューってポップアップメニューのこと?
だったら、「SetMenuItemInfo」で出来んか?
0517デフォルトの名無しさんNGNG
IrivineみたいにIEのツールバーにアプリを登録するにはどうしたらいいんですか?
0518デフォルトの名無しさんNGNG
>>517
こんな感じ。
http://www.codeguru.com/ieprogram/band.shtml
0519デフォルトの名無しさんNGNG
>>518
IDeskBandですな。サンクス。
0520山崎渉NGNG
(^^)
0521デフォルトの名無しさんNGNG
仮想関数の質問なんですが、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) で参照されました。
なんで?
0522デフォルトの名無しさんNGNG
>>521
仮想関数テーブルはコンストラクタで構築されるんで、
A::A()でAPure()を呼んだときはまだA::APure()を参照してる。
で、APure()が純粋なのでアラー。
0523デフォルトの名無しさんNGNG
>>522
サンキュー。
でも、:のところでやっといてほしいなぁ。
使用なの?
0524デフォルトの名無しさんNGNG
ダイアログのピクチャーボックスに描かれた絵をウインドウを閉じたり、縮小しても消えないようにしたいです。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);
0525デフォルトの名無しさんNGNG
>>523
仕様。
0526デフォルトの名無しさんNGNG
どうしよう
0527デフォルトの名無しさんNGNG
もないだろ。
0528デフォルトの名無しさんNGNG
>>524
OnPaint でやってミソ
0529524NGNG
ボタンを押した時に描画した画が、
フォームを最小化したり、他のウインドウが重なったりした時
消えてしまうのを解決したいです
CMy00000Viewクラスへ「WM_PAINT」のWindowsメッセージハンドラの追加はしました
OnPaintにOnButton1()の同じ処理を書きました
確かにできたんですが、まだ
大きなプログラムだと処理が遅く、ウィンドウを大きくしたら消える、少し動かさないと絵がでてこない
という問題がありました・・
それはどうすればよろしいでしょうか?

0530524NGNG
http://netpassport-wc.netpassport.or.jp/~whiromo/OS2/program.html
このページがヒントのなるかと思ったのですがよくわからかったです・・
0531デフォルトの名無しさんNGNG
>>529
マルチポスト氏ね
0532デフォルトの名無しさんNGNG
>>529
じゃぁ OnDraw とかでもやってみれ。
というか、まず、どのメッセージで何をすればいいかを考えれ。
MFCがどういうことやってるか調べれば、これ以上ないくらいのサンプルになる。

ついでにマルチポスト稲
0533509NGNG
度々スイマセン。

CListCtrlで SetCurSel や Scroll をいくらやってもダメなんですけど、
これらが有効にならない原因がわかる方いらっしゃますか?
0534デフォルトの名無しさんNGNG
>>553
ダメって何が?
0535デフォルトの名無しさんNGNG
VC6でCOM使ったクラスを作ってますが、
CoInitialize() の戻り値が S_FALSE の場合でも CoUninitialize() が必要ですか?

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

どなたかご教授お願いします。
0536デフォルトの名無しさんNGNG
参照カウントを考えれば自明だと…
0537509NGNG
>>534

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

データのある程度たまっているCListCtrlで、或る瞬間にある行へ
選択を移動させたいわけですよ。なので SetCurSel で選択状態にし
Scrollでその行まで飛べばいいかと思ったのですが・・・
0538デフォルトの名無しさんNGNG
>529
>少し動かさないと絵がでてこない
絵を出したいタイミングがあるなら、そこで
InvalidateRect(NULL);
をしる。
OSに再描画を促すので、結果としてWM_PAINTが送られる。
0539535NGNG
>>536
CoInitialize() にも参照カウントあるのですか?
てっきり AddRef() Release() だけかと思ってました。

どうもありがとうございました。
0540デフォルトの名無しさんNGNG
VS6からVS.NETに移行したんですが、Profileって取れなくなったんですか?
メニューにも無いんですが・・・
関数の呼び出し回数とか時間が出てとても重宝してたんですが。
0541デフォルトの名無しさんNGNG
VS?
0542デフォルトの名無しさんNGNG
同じ質問どっかで見たな。MLだったかな。どっかのスレだったかな。<プロファイル
0543デフォルトの名無しさんNGNG
BSTR を std::basic_string と組み合わせて使おうと思ったんだけど、
いろいろ考えていたら、頭パニックになった。

ひょっとして basic_string って 長さをプレフィックスにとる
文字列と相性悪いんだろうか。
0544デフォルトの名無しさんNGNG
>>541
Visual Script
0545WMINGNG
板違いならすいません。
WMI(Windows Management Instrumentation)のオリジナルのプロパイダ
(ダイナミックDLL)を作ろうと思うのですが、どなたご存知の方いましたらご教授
おねがいします。
0546デフォルトの名無しさんNGNG
>>545
ダイナミックDLLとはなんですか?
0547デフォルトの名無しさんNGNG
ワラタ
0548デフォルトの名無しさんNGNG
>>546
DDLLって事かな?
しかしこんなことに気づかんとは。
俺もまだまだ甘いな。
0549デフォルトの名無しさんNGNG
mfc-MLに投稿したよりも質問内容をかなりはしょってるな
0550デフォルトの名無しさんNGNG
ドライブレターを指定して、そのドライブのデバイス名を得る方法はありませんかねぇ。
0551デフォルトの名無しさんNGNG
デバイス名って?
0552デフォルトの名無しさんNGNG
>>551
ボリュームラベルのことだろうか・・・?
0553デフォルトの名無しさんNGNG
>>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
);
0554デフォルトの名無しさんNGNG
コンソールアプリで "**% 解凍中"の**の字だけをインクリメントしていくには
どうしたらよいのでしょうか。

putcとかでは駄目だし。
0555デフォルトの名無しさんNGNG
その都度同じ場所に”**% 解凍中”って出す。
0556デフォルトの名無しさんNGNG
"**% 回答厨\r"
0557デフォルトの名無しさんNGNG
初心者スレから誘導されてきました。
C#からC++へ移行してきたものです。

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



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

printf("解凍します\r\n");
for(int i=0; i<101; i++){
  printf(" 現在 %3d%% 解凍中 \r",i);
}
printf("\n");
printf("解凍しました\r\n");
0558デフォルトの名無しさんNGNG
>>557
>C++のIntelliSense

語弊満載だな。
0559557NGNG
>>558
ここは相談スレだろ。
ツッコミだけ厨には用はないですから。


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

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


なんか手抜きっぽい気がするのですが
0560デフォルトの名無しさんNGNG
素人なんですが。

ダイアログベースのアプリケーションにチェックボックスを張ったんですが、
これがチェックされてるかどうか判断するにはどうすればいいのでしょうか?
0561デフォルトの名無しさんNGNG
>>560
エディットしてる状態でダイアログを右クリック→ClassWizardでクラスウィザードを出します。
チェックしたいボックスのコントロールIDを選び、変数の追加ボタンを押してBOOL型の変数を作成します。
あとは作成したBOOL型変数でチェックボックスの状態を調べることができるはずです。
0562デフォルトの名無しさんNGNG
>>560
>>561だけだと、たぶん「チェックボックスの状態が変数に反映されないよ」っていってきそうだから補足

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

チェックボックス判定の例
UpdateData(TRUE);
if(m_check1){
 ・・・・・・・
} else {
 ・・・・・・・
}
0563デフォルトの名無しさんNGNG
チェックボクース程度なら
 ((CButton*)GetDlgItem(IDC_CHECK_XXX))->GetCheck()
でよいような気も...
0564デフォルトの名無しさんNGNG
BOOL bChecked = IsDlgButtonChecked(IDC_CHECK_XXX)
という手もある...
0565デフォルトの名無しさんNGNG
まぁMFC使ってるかどうかもわからんわけだしな
0566山崎渉NGNG
(^^)
0567デフォルトの名無しさんNGNG
オフィスとかのヘルプでイルカがなんかしゃべるときに出てくるウインドウ
(ツールチップと同じ色のやつ)はどうやって作るんですか?
0568デフォルトの名無しさんNGNG
SetWindowRgn()
0569デフォルトの名無しさんNGNG
>>568
残酷だな。
0570567NGNG
とりあえず、speak()というAPIで出る事がわかりました。
0571デフォルトの名無しさんNGNG
積分記号はどうやって描くのか教えてくれ。
0572デフォルトの名無しさんNGNG
>>571
∫
0573デフォルトの名無しさんNGNG
>>571
インテグラル→変換→∫
0574デフォルトの名無しさんNGNG
∬
0575デフォルトの名無しさんNGNG
look & feelをOfficeXPライクにするサンプルコードきぼん
0576デフォルトの名無しさんNGNG
荒らせ http://fruit.gaiax.com/home/nappa3/main
0577デフォルトの名無しさんNGNG
いつからかビルドをすると変更したファイルが1つだけでもフルコンされる
ようになった。何が原因の分かる方いますか?
0578デフォルトの名無しさんNGNG
>>577
変更したファイルが、全てのソースにインクルードされてるとか。
0579577NGNG
>>578
原因分かりました。
PCの日付がずいぶん前にいつのまにか変更されていました(アホです)。
makefileの作成をし、nmake に -d オプションで分かりました。
お騒がせしました。
0580デフォルトの顔無しさんNGNG
アッ ァ ァ・・
0581デフォルトの名無しさんNGNG
こんばんは
VC++をはじめようと思っているのですが
まずどのようなことからはじめえたほうが効率的ですかね?
WEBで学習?本を買ってプログラムを書く?

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

0582デフォルトの名無しさんNGNG
>>581
できることから始める。
近道はない。
0583デフォルトの名無しさんNGNG
なるほど・・
近道はないすか・・・
Perlの学習にも近道はありませんでした。
どのプログラムも同じですね(^^;
0584デフォルトの名無しさんNGNG
>>581
まずC++を覚えろ。それができんとVC++も出来んぞ。
0585デフォルトの名無しさんNGNG
>>581
VC++のヘルプにはちゃんとチュートリアルから言語仕様から全部載ってるから
まずはきちんと金を出して買え。
0586デフォルトの名無しさんNGNG
windowsプログラミングを始めようかと思ってるんだけど
いまから始めるなら最初から.NETやった方が良いですかね?
0587デフォルトの名無しさんNGNG
>>586
知るかんなもん!
0588デフォルトの名無しさんNGNG
初心者はこんな糞スレにいないで

★初心者にVisual C++を教えるスレ★ Part3
http://pc3.2ch.net/test/read.cgi/tech/1038160750/l50

こっちへどうぞ
0589デフォルトの名無しさんNGNG
少し前にWindows98で使っていたVisualStudio6.0をWindows2000にインストール
しようと思うのですが、MSEなど、明らかにVisualStudio6.0よりも新しい物がはいって
います。

そのままインストールしても大丈夫なのでしょうか。
0590デフォルトの名無しさんNGNG
MSEってなんすか
0591デフォルトの名無しさんNGNG
>>589
そんなことよりWindows2000は明らかにVisualStudio6.0よりも新しい
0592デフォルトの名無しさんNGNG
明らかに死んで
0593名無し@沢村NGNG
>>590
ヌヒよ、"Microsoft Exchange Server"のことだ。
0594デフォルトの名無しさんNGNG
倍精度の乱数(srand48等)をVC++で使いたいのですが、どこかにライブラリ
など置いてないでしょうか?
0595デフォルトの名無しさんNGNG
http://www.math.keio.ac.jp/~matumoto/mt19937.c
0596デフォルトの名無しさんNGNG
MSEじゃなくてMESってこと?
0597デフォルトの名無しさんNGNG
>595
ありがとうございます。この関数でいけそうです。
0598デフォルトの名無しさんNGNG
Windows 2000 SP3のシンボルファイルはどこでダウンロードできますか?
0599デフォルトの名無しさんNGNG
>>598
ttp://www.microsoft.com/ddk/debugging/symbolpkg.asp#Windows%20symbol%20packages
これか?
0600文字列のBitBltNGNG
TextOutやDrawTextで描画した文字列をBitBltしたいのですが、できますか?
0601デフォルトの名無しさんNGNG
>>600
できます。
0602デフォルトの名無しさんNGNG
DialogBoxアプリのClassWizardのコントロールメンバ変数の選択で
MFCクラスを継承した自作クラスが選べませんでした。
そこで、VCが書き出したヘッダのメンバ変数定義の型をこっそり自作クラスに変えたら
上手く動いている様ですが、大丈夫でしょうか?
0603デフォルトの名無しさんNGNG
>>602
ClassWizardは、MFCのすべてを知ってるわけじゃない。
0604デフォルトの名無しさんNGNG
>>603
class CMyEdit : public CEdit
とか作った時、CMyEditが別プロジェクトで
ClassWizardから見えないって話でしょ。CMyEditはMFCとは違う。
直に書き換えても問題はないが、別プロジェクトでも使いまわしたりするなら
コンポーネントギャラリに登録してそっから使ったほうが楽。
0605デフォルトの名無しさんNGNG
>>604
タンクス。
コンポーネントギャラリも調べてみます。
0606デフォルトの名無しさんNGNG
LPCTSTRや_TCHARの「T」って何の略なんでしょうか?
LPはLong Pointer だし CはConstってのは分かるんですけど、Tが分からないです。
ご存知の方はご教授お願いします。
0607デフォルトの名無しさんNGNG
TEXTマクロと同じ意味では
0608デフォルトの名無しさんNGNG
>>607
微妙だな。

defineでcharにもwidecharにもあるってやつっしょ。
0609デフォルトの名無しさんNGNG
何の略って聞いてるからTEXTのTじゃないのって意味なんだが
0610606NGNG
TEXTでしたか。盲点でした。

対応してくださった>607-609氏、ありがとうございました。
0611デフォルトの名無しさんNGNG
>>606
ttp://www7.plala.or.jp/keny01/win32/01-04.html
0612デフォルトの名無しさんNGNG
_getch()はCtl-Cは読み込まないってMSDNには書いてあるりますが、実際には
Ctl-Cも通常の文字として読み込んでしまいます。バグ?
0613デフォルトの名無しさんNGNG
DirectX8がインストールされているマシンにDirectX7SDKを入れても大丈夫ですか
0614デフォルトの名無しさんNGNG
>>613
だいじょうぶだいじょうぶ。
0615デフォルトの名無しさんNGNG
>>614
嘘ばっかり言うなよー
DirectX SDKを入れる際は 当該バージョンの DirectX もインストールされるんで
確実におかしくなる
ライブラリファイルとインクルードファイルだけ抜き取って使うのが正解
0616デフォルトの名無しさんNGNG
>>615
>確実におかしくなる

DirectX9の入ってる環境にDirectX8入れようとかしたことないの?君。
0617デフォルトの名無しさんNGNG
つーか、そんな開発者が不安になってる開発環境で
作られたソフトをばらまくのかと小一時間。
0618デフォルトの名無しさんNGNG
>>615
嘘ばっかり言うなよ・・・
0619デフォルトの名無しさんNGNG
>>617
話を逸らしたと捉えて良いですか?
0620デフォルトの名無しさんNGNG
Windowsってだけで不安たっぷり
0621デフォルトの名無しさんNGNG
>>620
( ´,_ゝ`)プッ
ショボイ環境でプログラミングなんかするなよ
0622デフォルトの名無しさんNGNG
エディターの背景色を替えたいんだけど、ツール→オプション→書式にある
やつだと、選べる色が少ないんだよね。
どっかレジストリとかにRGBで保存されてるなら、直接書き換えて
しまいたいんだけど誰か知りませんか。
0623デフォルトの名無しさんNGNG
>>622
http://www.codeguru.com/tips/VisualStudioColors.shtml
0624デフォルトの名無しさんNGNG
クソレス申し訳ないけど・・・

C言語ってC++のことですか?
優しく教えてください。w
0625デフォルトの名無しさんNGNG
クソレス申し訳ないが・・・

C言語ってC++のことですか?
0626デフォルトの名無しさんNGNG
C言語初心者です
自分でも勉強するために.NETを買おうかと思ってるんですが
買うとしたらVC++.NETとVisualStadio.NET(AC)どっちがお得ですかね
それと今慣れてるのはVC++6.0なんですけど.NETと使い勝手はだいぶ違いますか?
教えてくださいな
0627622NGNG
>>623
さんくす。
ClassView,FileViewの背景色と、アウトプットウインドウの
「ビルド」「ファイルから検索1」のタブの色は白以外に
変更できないのかな?いろいろやったけどだめだった。
ソースウインドウと同じ背景色で統一したいんですけど。
0628デフォルトの名無しさんNGNG
>>626
>C言語初心者です
>それと今慣れてるのはVC++6.0なんですけど
って、矛盾してない・・・

VC、VC++.NETからはじめたんだけど
巷のあふれてるVC6準拠のVC入門書いろいろ買ったけど
本の通りにやったらちっとも何もできない
ウィザードの作りがVC6とまるで違うNET・・・
使い方、結局Google検索した方がわかり易い・・・
何冊も入門書買うんじゃなかった・・・
リファレンスはばんばん買うべきだけど
0629デフォルトの名無しさんNGNG
>>626
とにかく一番高いやつを買え!
0630デフォルトの名無しさんNGNG
クソレス申し訳ないが・・・

C#の#って不協和音のことですか?
0631デフォルトの名無しさんNGNG
>>628
>>629
レスどうも
値段調べてみたらVS.NETが安いところだと2万円前後なので
これを買っちゃおうと思います。
VC++6.0は慣れたといってもほとんど使いこなせてはいないので
それなら新しいソフトを勉強しなおしたほうがいいかなと思ったのでした
0632デフォルトの名無しさんNGNG
>>630
単音なら不協もへったくれも無いと思うが。
0633デフォルトの名無しさんNGNG
>>632
ふっふっふ、読みが甘い。Cと不協和音なのだよ明智君。
0634デフォルトの名無しさんNGNG
>>629
http://www.yodobashi.com/enjoy/i.jsp?oid=2307948
の35万の奴?買えってこと?学生に・・・
0635デフォルトの名無しさんNGNG
>>634
そんなもんにいちいち素レスすんな
0636デフォルトの名無しさんNGNG
>>634
投資した額が大きければ大きいほど”やらねばっ!!”と思うようになるでよ。
0637デフォルトの名無しさんNGNG
DeveloperStudioってVisualC++.NETについてるの?
いまVisualStudio.NETアカデミックを持ってるけど・・・
0638デフォルトの名無しさんNGNG
>>637
名のある初心者とお見受けしたがどうか?
0639デフォルトの名無しさんNGNG
アスキーファイルを読みたいので、次のようにしたのですが読めません・・
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では無理ですよね・・
0640639NGNG
解決しました。ありがとうございました。
0641デフォルトの名無しさんNGNG
ウィンドウを作成しないでGDCを使いたいのですが、
具体的にどうやるのでしょうか?
CreateDCで良いのですか?
0642デフォルトの名無しさんNGNG
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アプリでメニューを消すにはどうしたらよいのでしょうか?
0643デフォルトの名無しさんNGNG
アスキーファイルを読みたいので、次のようにしたのですが読めません・・
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では無理ですよね・・
0644642NGNG
>>642
×下の様にcs.Menu = NULL;
○下の様にcs.hMenu = NULL;
0645デフォルトの名無しさんNGNG
>>642
エラーの内容を(ry
0646デフォルトの名無しさんNGNG
>>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);
}
0647デフォルトの名無しさんNGNG
m_button1.SetButtonStyle( BS_CHECKBOX );
m_button2.SetButtonStyle( BS_CHECKBOX | BS_PUSHLIKE );

二つのボタンのスタイルをこんな感じに設定したのですが、
どちらも同じただのチェックボックスになってしまいます。

ヘルプにはBS_PUSHLIKE を指定することにより
チェックボックスの外見をプッシュボタンに変えるとあるのですが上手くいきません。

見た目がプッシュボタンのチェックボックスはどうやって作るのでしょうか?
0648642NGNG
>>646
出来ました!
ありがとうございます!
0649デフォルトの名無しさんNGNG
突然失礼します。
サーバ・クライアント間の通信についてです。

クライアント側で送受信スレッド(送受信で使っているのはWindowsSocket)を複数起動して、
一台の端末からサーバにアクセスをするというプログラムを作ってみたのですが…。
送受信スレッドの数が一定数を超えると、接続をサーバ側で受け付けていないのに、
各送受信スレッドの持つconnect関数からは0が返ってきてしまい、接続できたことになってしまうのです。
各送受信スレッドは接続出来ていないのに、送信を実行し、NULLを受信して処理を完了してしまいます。
(送受信スレッドの接続タイミングを遅らせれば処理は正常終了しますが、同時に実行することでサーバ負荷も確かめたいのです。)

これでは、送受信を行ったとは言えないので、どなたか良い対処知っていますでしょうか?
0650デフォルトの名無しさんNGNG
多分ネットワークスレに逝った方がいいと思う
0651デフォルトの名無しさんNGNG
MDIアプリケーションで印刷機能を使っています。
CViewの派生クラスで描画しているものを、
OnPaint()でプリンタに出力しています。
印刷プレビューではまったく問題なくモニタには表示されるのですが、
いざプリントアウトすると、何も印刷されなかったり、
途中まで印刷されて、残りは真っ白、などと言うことがしばしばあります。
途中の場合も、その場所は決まっていません。
再現性は無く、うまくいくときもあれば失敗するときもあり、
今ひとつ原因がつかめません。
アプリケーションそのものは、何事も無く印刷しているような
動きをしています。エラー等で落ちることもありません。
こういった不具合に考えられる原因に何か心当たりのある方、
いらっしゃいましたら、教えていただけませんか。
よろしくお願いいたします。

主な環境は、
VC++6.0(SP5)
Win2000 Pro.
です。
0652デフォルトの名無しさんNGNG
>>651
CView派生なら、OnDrawなのでは?
0653651NGNG
>>651 >>652
間違えました。OnPaint()じゃなくてOnPrint()です。
印刷方法が画面と異なるので、OnPrint()をオーバーライドしています。
0654デフォルトの名無しさんNGNG
ウィンドウのDCに対してTextOutを行うときちんと描画されるのですが、
CreateCompatibleDCでウィンドウDCのコンパチで作ったDCには描画されません。

こういった不具合に考えられる原因に何か心当たりのある方、
いらっしゃいましたら、教えていただけませんか。
よろしくお願いいたします。
0655デフォルトの名無しさんNGNG
>>651
プリンタドライバが原因じゃなくて?
0656デフォルトの名無しさんNGNG
ほのかなコピペの香り
0657651NGNG
>>655
とも思ったのですが、プリンターには依存しないみたいです。
NEC、エプソン、キャノンのプリンタでそれぞれ現象は確認しています。
印刷プレビューはうまくいくのに、何でその後の印刷処理は失敗するのだろうか?
不思議でなりません。
0658デフォルトの名無しさんNGNG
>651
出来たり出来なかったりという現象は、たいていメモリがらみ。
CViewの派生クラスの生存期間を確認汁。
0659デフォルトの名無しさんNGNG
ビルドする時に稀にVC自体が固まる事って有りませんか?
どうもビルド直前のファイルを保存する段階で固まってるみたいです。
おかげで今までも何回か固まってソースがあぼーんしてたんですけど
今回は1日かけて打ったコードがあぼーんしました。激しく鬱です。

原因や対応策など分かるのなら教えて頂けないでしょうか。
環境はWindows2000SP3 & VC++6.0SP4です。
0660デフォルトの名無しさんNGNG
1日かけて打ったコードって・・・
それまで1回もコンパイルしなかったんだ
0661デフォルトの名無しさんNGNG
>>659
ビルドする前に上書き保存しとけば良いジャン。
今に始まった訳でも無しwinの特にMS製のアプリ使ってる場合それはもう常識かと、
0662デフォルトの名無しさんNGNG
>>661
その保存の時に固まってるんですよね。
とは言うものの実際に「全て保存」したときに固まった事は無いんですが
基本的にそれで保存しないので偶々遭ってないだけかも。

>>660
5、6時間程度ならザラです。
0663デフォルトの名無しさんNGNG
ソース編集してすばやくビルド(F7)しようとしたら、
応答が無くなってソースファイルが消失したり(稀)、
ファイル保存のエラーメッセージが出たり(頻繁)
VCが落ちる(たまに)ってことはある。

俺の対策はWORDなどと同じでCtrl+S
0664デフォルトの名無しさんNGNG
しかしレベル落ちたな
ここはPC初心者スレですか?
0665名無しさん@EmacsNGNG
すみません、教えて下さい。
Visual C++ .Net って pro が無くって Standard しかありませんよね。
で、このStandardって昔の lerning みたいに商用利用禁止とかなんだ
かんだとうるさい制限あるんでしょうか?
VS.Net pro を買うのは馬鹿高いのですが、他の言語を使わなければVC.Net
Standard で事足りるものなのでしょうか?
0666デフォルトの名無しさんNGNG
ストリングテーブルを使ってみたいのですが、

strcpy(hoge, ストリングテーブル内F_NAME);
fopen(ストリングテーブル内F_NAME ,"r");

のような事は、どんな関数を使えばいいですか?
0667デフォルトの名無しさんNGNG
>>666
LoadString
0668666NGNG
>>667
\(・∀・)/ アリガトン
やってみるよ。・・・何かコレ、使った覚えがあるなあ(;´д`)
0669デフォルトの名無しさんNGNG
ちょっとお門違いな質問かもしれないが
ビジネスの現場で命名規則って、どれくらいの人が守ってるんだろう。
先頭にポインタの時p、正数ならnってのめんどいから
自分はやる気ゼロなんだけど。
あと自分でbool型定義するとき、みんな大文字のBOOL使って
TRUE,FALSE使うのかな。
0670デフォルトの名無しさんNGNG
>>669
会社によりけりだと思われ。
社内で守れって言われたら守れば?
自分はいいかもしれないけど他の人がソース見たときに見やすいかどうかでしょ。
0671デフォルトの名無しさんNGNG
うちの会社はその辺あんまりこだわってないけど、ループカウンタ用のi, jとかならともかく
普通の変数さえ一文字なのは勘弁して欲しい人はいる。マジやめれ・・・。
0672デフォルトの名無しさんNGNG
マ板と微妙なラインで分かつ話題ですな
0673デフォルトの名無しさんNGNG
VC使ってるってだけでVCの質問ではないな
0674デフォルトの名無しさんNGNG
age
0675デフォルトの名無しさんNGNG
質問させていただきます。

int型をchar型に変換するような関数は無いでしょうか?
当方、DelphiからVCに移ってきたものですが、
Delphiでいうinttostr関数のようなものを探しています。
0676デフォルトの名無しさんNGNG
>>675
ランタイム ライブラリ リファレンスを参照
0677デフォルトの名無しさんNGNG
>>675
http://www.microsoft.com/japan/developer/library/vccore/_crt_Run.2d.Time_Routines_by_Category.htm
0678デフォルトの名無しさんNGNG
>>675
_itoa()
0679675NGNG
>>676-678

初歩の質問に答えていただきありがとうございました!
お陰でDelphi時代と同じ手法が使えそうです。
0680デフォルトの名無しさんNGNG
いろいろいじってるとパラメータヒントが
出なくなる時があるんだけど・・なぜ?
ワークスペース作り直すと出るようになるんだけど。
0681デフォルトの名無しさんNGNG
>>680
仕様です。
0682680NGNG
Σ(lll゚Д゚) ガーン!
0683デフォルトの名無しさんNGNG
>>680
IntelliSenseのことだよな?

ショックを受けてる喪前さんに、
漏れが救いの手を差し伸べてやろう(藁

.ncbファイルを削除して作り直させてみな。
0684デフォルトの名無しさん NGNG
Windowサイズいっぱいの長方形描きたく
引数に現在のウィンドウ領域の最大サイズ入れると
長方形の右下の座標がウィンドウのやや左よりになってしまい
ラインが見えてしまいます。
結果はウィンドウとたぶり長方形のラインは見えなくなると思ったのですが
これはなぜでしょうか

void CS21Wnd::OnPaint()
{
CPaintDC dc(this);

CRect sikaku;
GetClientRect(sikaku);

dc.Rectangle(sikaku.top, sikaku.left, sikaku.bottom, sikaku.right);

}
0685デフォルトの名無しさんNGNG
ウィンドウの*ふち*の太さじゃね?
0686684NGNG
どういうことでしょうか・・・
0687デフォルトの名無しさんNGNG
矩形を描画すると右辺と下辺は数値より1ピクセル内側になるよ。

例えば5*3の長方形なら塗りつぶされるのは以下の■部分。

■■■■□
■■■■□
□□□□□
0688デフォルトの名無しさんNGNG
VisualC++6.0でダイアログのイベントハンドラ追加できないエラーに
はまってます。

ダイアログエディタでダブルクリックすると
「新規メンバを追加できません」←なメッセージボックスがでて
ハンドラ追加してくれません。

何が原因なんでしょう?
0689デフォルトの名無しさんNGNG
>>688
クラス定義部分どこかで文法エラーか、または何かコメントが消えてる。
0690デフォルトの名無しさんNGNG
なるほど。回答ありがとうございます。
ソース調べてみます。
0691684NGNG
>>687
ありがとうございました。
0692デフォルトの名無しさんNGNG
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です。
0693デフォルトの名無しさんNGNG
>>692
まず試せ
0694しょしんしゃNGNG
リストボックスの水平スクロールバーについて質問です
(非MFC環境)
VCでリストボックスのプロパティの「水平スクロールバー」
をチェックしただけでは実際に現れない、LB_SETHORIZONTALEXTENT
で、幅を指定しろ、とのことはネットで調べてなんとかわかったのですが、
これをやっても何故か表示されません。

考えられる原因は何かあるでしょうか?
(リストボックスのプロパティは水平垂直スクロールバー以外いじってません)
0695落伍者NGNG
OMANKO開閉中です
0696落伍者NGNG
OMANKO開閉中です !!
0697落伍者NGNG
OMANKO開閉中です !! !!
0698デフォルトの名無しさんNGNG
>>694
ソース晒してみ。
0699デフォルトの名無しさんNGNG
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: エクスポート ファイルのビルド中に障害が起こりました。

どうやったら作成できるんでしょうか?
0700692NGNG
>>693
分かる範囲で適当に試して済んでるなら書き込みませんよ。
上記のソース+何通りかは試してます。
ウインドウプロシージャは関数だからパラメータで渡す事はできないので、
分からんのです。
0701デフォルトの名無しさんNGNG
>>692

char* s = (char*)(WNDPROC)WndProc;
WndClassSet(s);

もし、やりたいことが、

WndClassSet("WndProc");

みたいなことだとしたら、おまえにCは向いてないから別の言語選択しる。
0702デフォルトの名無しさんNGNG
ちなみに

void CCWnd :: WndClassSet(WNDPROC proc){

でも充分いけるぞ。
(Windowプロシージャが仮想関数とかじゃなければな)
0703しょしんしゃNGNG
>>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はダイアログ内のリストボックス
です。

もしかしてタイミングとかやばいんですかね?お願いします。。
0704デフォルトの名無しさんNGNG
なぜWM_INITDIALOGでしょりしない?
0705デフォルトの名無しさんNGNG
>>703 LBS_MULTICOLUMNになってない?
0706しょしんしゃNGNG
>>704
それもしてみてますがやっぱりバーは現れないです。。
0707しょしんしゃNGNG
>>705
それは、VCのリストボックスのプロパティのスタイルのところにある、
「複数列」というチェックボックスの部分でしょうか?

チェックはついていません
0708デフォルトの名無しさんNGNG
>>703
・GetDialogItemはちゃんと有効なハンドルを返してる?
・リストボックスの幅は100より小さい?
0709しょしんしゃNGNG
>>708
うわっ わかりました。。。
リストボックスの幅に足りてませんでした。何やってんだろ、、、

ご迷惑おかけしました。ありがとうございます!!
0710デフォルトの名無しさんNGNG
>>699
VCにはimplib.exe相当のものが存在しないので
VCでつくったDLLをBCで利用することは可能だが逆は不可能。
0711デフォルトの名無しさんNGNG
getprocaddress使えばええやん
0712699NGNG
>>710
回答ありがとうございます。
ダメでしたか。
マシンが高速化されてるし、DirectXもあるから、DIBは需要少ないんですね。
0713デフォルトの名無しさんNGNG
>>712
自分でダミーのdll作って、lib作れば
0714699NGNG
>713
初心者なので、ちょっとムリかも。
0715デフォルトの名無しさんNGNG

 VC++の自作アプりを配布するときに、フリーで
ソースも付けたいと思ってるんですが、プロジェクトごと
圧縮して配布して良いもんなんですかね?

 別にウイルスとかヤバイのじゃないけど、シリアルとか
そのまま配っても漏れませんか?

0716デフォルトの名無しさんNGNG
ハローワールドってなにですか?
0717デフォルトの名無しさんNGNG
職安
0718716NGNG
>>717
ありがとうございます。解決しました。
0719デフォルトの名無しさんNGNG
VC++のデバッガで以下のエラーを教えてくれる方法知りませんか?

int a;

void main(void){

int b=1;

if(b==0) a=0;

b=a;       //<- ここで「”a”に初期値が与えられていません」なエラー

}
0720デフォルトの名無しさんNGNG
>>719
コンパイラの警告レベルを4にしろ。
そして警告は全てエラーにする、を選択しとけ。
0721デフォルトの名無しさんNGNG
インターネットを介した通信プログラムを作りたいと思うのですが
お手本になるようなオープンソースなプログラムってありますか?
0722デフォルトの名無しさんNGNG
>>721
CSocketで調べれば良いんじゃない?
0723デフォルトの名無しさんNGNG
>>721
unix
0724デフォルトの名無しさんNGNG
>>722
検索しました。
いろいろみつかって何とかなりそうです。
頑張ってみます。
0725721NGNG
うそだぴょーん、まったくわかんねーよ。
わかりやすいページがあったら教えてくれ。頼む。
0726721NGNG
>>725は偽物ですので。
0727デフォルトの名無しさんNGNG
>>726
はいはい、偽物さんは帰った帰った。
0728デフォルトの名無しさんNGNG
VCスレでのUNIX発言を取り消そうと必死なのだろうか?
0729デフォルトの名無しさんNGNG
>>726
ジサクジエンだろ?
0730デフォルトの名無しさんNGNG
タイトルバー無しのウィンドウをアプリケーション本体の
ウィンドウよりも上につくろうとしてますが、てこずってます。

・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にへたな番号を渡すと他のアプリと干渉しないかが心配です。
そもそももっとうまくやる方法はないのでしょうか?
0731デフォルトの名無しさんNGNG
>>730
>タイトルバー無しのウィンドウをアプリケーション本体の
>ウィンドウよりも上につくろうとしてますが
なにがしたいの?
0732730NGNG
スタートボタンにカーソルあわせると
ポップアップしたヘルプが出るじゃないですか。
ああいうのを作りたいんです。
それだけならHtmlHelp()を使えばいいですが
ウィンドウの中身に、いろいろなフォントをまぜて
表示したりビットマップ貼ったりしたいんです。
HtmlHelpだとそこまではできないようなので。
0733デフォルトの名無しさんNGNG
ツールチップのことか?
なら、ツールチップ使えばいいじゃん。
0734730NGNG
ツールチップ!?

・・・検索中・・・

ポップアップヘルプでググってたけど、なかなか求めてるのが
ひっかからなくて、おかしいなと思ってたら・・・
ちなみに手元の本にはツールヒントって書いてあって
ちゃんと説明もあった・・・出直してきます。(´・ω・`)ショボーン
0735デフォルトの名無しさんNGNG
ウィンドウの中で円が壁に当たると反射させたいのですが
実行させると壁を突き抜けてどっか行ってしまいます。どこに間違いがあるんでしょうか。
コードが稚拙なのはご了承ください。
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; }
0736デフォルトの名無しさんNGNG
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(); }
0737デフォルトの名無しさんNGNG
>>736
各変数の初期値は適宜初期化されてるとして……

OnSize()で
win_xsize = cx;
win_ysize = cy;
ってなってるけど、●の大きさ考えてないよね?
あと、OnTimerで常に
xmov = +5;
ymov = +5;
してるのもどうかと思う。
この条件文だと、 xpos + xmov ( xpos + xmov )がはみ出るときしか跳ね返らない。
0738デフォルトの名無しさんNGNG
↑は xpos + xmov ( ypos + ymov )の間違い。

一度跳ね返るとウィンドウ内に戻るから、跳ね返りの条件に当てはまらずにまた右下へ向かう。
その結果右下端でバウンドするのが最終結果だと思うけど。

OnTimerで方向ベクトル(xmov、ymov)を初期化するべきか、
実際の円が動く範囲は直径を考えるとどこからどこまでか、
ということがポイント。
0739デフォルトの名無しさんNGNG
>>735-736
どうしても分からん頭持ってるならブレークポイントいれて見てみろや
0740デフォルトの名無しさんNGNG
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 をハンドルしてもチェックマークを入れることができません。
なぜなのでしょうか? どっかが根本的に悪い気がするのですが。
0741デフォルトの名無しさんNGNG
>>740
TrackPopupMenuの最後の引数はメインフレームのウィンドウへのポインタだった気がする。
0742740NGNG
>>741
ありがとうございます。
this → AfxGetMainWnd の修正で旨くいきました。

0743736NGNG
>>737-739
有難うございました。
0744デフォルトの名無しさんNGNG
char st1[]={"1","1"};//←エラー
char st2[]="11";//←OK

・・・なんで?
0745デフォルトの名無しさんNGNG
>>744
疑問の余地もないと思うが
0746デフォルトの名無しさんNGNG
>>744
char st1[]={'1','1'};かchar *st1[]={"1","1"};だろ(^_^;)
0747デフォルトの名無しさんNGNG
>>746
ネタニマジレス(以下略
0748デフォルトの名無しさんNGNG
>>747=ネタということにしたい>>744
0749デフォルトの名無しさんNGNG
>>748=と言うことにしたい>>744
0750デフォルトの名無しさんNGNG
int型の子息演算でオーバーフロー例外を投げさせる方法、またはインラインアセンブラ以外で
キャリーフラグを調べる方法はないですか。
0751744NGNG
>>746
ありがとう。

いや、マジだったんだけど、前者は連結されると思ってたのね。
”と’の違いがよく分かってなかったから。今でもあんまりだけど。

いや、ホントごめんなさい。
0752デフォルトの名無しさんNGNG
>>750
C#使う
0753デフォルトの名無しさんNGNG
>>750
A < B + C ならば A - B < C
A < B * C ならば A / B < C
0754ユウジNGNG
VC++6.0 XPでMFCの環境です。

保存してあるテキストファイルを読み込んでエディットボックスに表示
させたいと思っています。
テキストを行ごとにそれぞれのエディットボックスに表示させたい
のですが表示することができません。
どのようなコーディングをすればよいのか教えていただけませんでしょうか。
0755デフォルトの名無しさんNGNG
>>754
エディットボックスの配列を作って、
for (int i = 0; i < MAX; i++)

てっかんじで、Ebox[i] というエディットボックスに書き込むといいのでは。
0756デフォルトの名無しさんNGNG
>>754
何をやった上でできないのか不明だから答えづらいけど、
クラスウイザードでオブジェクトを作成してエディットコント
ロールの操作はできているわけ?

0757デフォルトの名無しさんNGNG
>>754
せめて途中経過や試したことくらい書けよボケ
0758デフォルトの名無しさんNGNG
>>754
最後の行の日本語が間違ってるぞ。
「代わりに作ってください」だろ。






ツツシンデオコトワリイタシマス
0759デフォルトの名無しさんNGNG
VC++6.0のファイル検索をするプログラムをダイアログベースで作成中です。
ファイル検索の進捗を表すプログレスバー付きダイアログに検索中断ボタンを設置したの
ですが、どうすればうまく機能させられるかわかりません。現在の処理手順は以下です。

モードレスダイアログをCreateし、AfxBeginThreadにてワークスレッドを作成。
//ワークスレッド
検索処理を行い、AfxBeginThreadに渡したダイアログのポインタを
通してSetPosを実行、検索終了したら終了フラグを立てて終了。
//メインスレッド
ワークスレッド作成後はダイアログをDestroyWindowさせない為、終了フラグが立つまで
forでループをする。

この手順だと検索中は中断ボタンのクリックを受け付けません。この手順自体に無理が
あるのでしょうか?

0760デフォルトの名無しさんNGNG
こんなことになってるぞ。呆れた。と言うより笑ってしまった。とほほ・・・。

http://pakopako.misty.ne.jp/enter.cgi?id=fdeai
0761デフォルトの名無しさんNGNG
>>759
>終了フラグが立つまで forでループをする。
さて、ダイアログはいつメッセージを処理するんでしょうね?
0762デフォルトの名無しさんNGNG
リッチエディットコントロールについて質問です。
リッチエディットの任意の位置に文字列を挿入するにはどうすればよいのでしょうか。
SetWindowText()だと今まであった文字列が消えてしまいます。
調べたところEM_SETTEXTEXというメッセージでできるようなのですが、
このメッセージはどこにも定義されていないようです。EM_GETTEXTEXならあるんですが…
解決方法を知っている方いましたら、教えてください。
0763762NGNG
自己解決しました。WM_REPLACESELというメッセージがありました。
0764759NGNG
プログレスダイアログなるものを発見して解決しました。そんなものがあるとは知らず
素のダイアログにプログレスバーを貼り付けてました(´Д`)
>761
メッセージループはしていたのですが、キャンセルボタン押下時のメッセージ受付の
方法とかがわかりませんでした。
0765デフォルトの名無しさんNGNG
共用体ってインテリセンス使えない?
LARGE_INTEGERのLawPart & HighPartが出てこないよ〜
0766デフォルトの名無しさんNGNG
小数点以下の値を、指定した位置で四捨五入、切り捨て、切り上げするには
どうしたら良いのでしょう?
四捨五入だけだったら%3.2fとかって書けば良いのは分かるんですけど。
初歩中の初歩かと思うんですけど、教えてください。
0767デフォルトの名無しさんNGNG
>>766
足して割ればいいやん。
//小数点2桁で四捨五入
a = floor(doublevalue * 100 + 5) / 100;
とか
//小数点1桁で四捨五入
a = floor(doublevalue * 10 + 5) / 10;
とか。
0768デフォルトの名無しさんNGNG
みなさん、円周率の定数得るときどうしていまつか?
0769デフォルトの名無しさんNGNG
>>768
手打ちでええやん。
const double PI = 3.14159265358979;
0770デフォルトの名無しさんNGNG
>>767
負号に注意な。
0771デフォルトの名無しさんNGNG
>>767>>770
参考しながらなんとか思い通りのモノが出来ました。
レスありがとうございました。
0772デフォルトの名無しさんNGNG
あのCreateDirectoryって、最下層まで一気にフォルダ作ってくれないんですか?
例えば、c:\2ch\vc\test\readme.txtだとしたら、まず2ch作ってその下にvc作って…
としないとダメなんでしょうか?
0773デフォルトの名無しさんNGNG
>>772
Delphiにおいで。
0774名無し@沢村NGNG
>>772
SHCreateDirectoryEx()
0775デフォルトの名無しさんNGNG
>>772
MakeSureDirectoryPathExists
imagehlp.hのインクルードとimagehlp.libのリンクを忘れるな。
0776デフォルトの名無しさんNGNG
>>774
氏ねボケ
0777デフォルトの名無しさんNGNG
>>776
文句があるなら理由を書け
0778デフォルトの名無しさんNGNG
>>777
理由。
0779名無し募集中。。。NGNG
独習Cに書いてらるmain(int argc,char argv[])関係のプログラムってVC++でちゃんと動きます?なんかエラー出るんですけど
0780デフォルトの名無しさんNGNG
>>779
argv[]じゃなくて*argv[]
0781デフォルトの名無しさんNGNG
>>779
エラーが出るならエラーメッセージくらい書いたら?
0782779NGNG
どうもです、*argv[]でした。*argv[]で動かないです。エラーメッセージ出ないでエラー0、警告0で、実行したら強制終了するんです
0783デフォルトの名無しさんNGNG
>>782
独習Cを持っていないからわからないけど、多分アクセス違反だな。
写し間違いはない?
あと、http://pc2.2ch.net/test/read.cgi/tech/1044938752/のスレの方がいいかも。
0784779NGNG
どうもです、もうちょっと本読んで見ます
0785デフォルトの名無しさんNGNG
VC++にて下記を実行すると

char szSound[100] ;
GetPrivateProfileString( "CLOCK", "SOUNDFILE", "あ", szSound, 100, "c:\Clock.ini" ) ;

szSoundには「あ」がせっとされます。
c:\Clock.iniは存在します。
セクション名もキー名もあっています。
SOUNDFILEキーには「c:/test.wav」を設定しているので
szSoundには"c:/test.wav"がセットされるハズだと
思うのですが何がいけないのでしょうか?
教えてください。
0786tanteiNGNG
★あなたのお悩み解決致します!!
●浮気素行調査
彼氏、彼女、妻、夫の浮気を調査致します!!
●盗聴器盗撮機発見
あなたの部屋に誰かが仕掛けているかも!!
●行方調査
行方不明になっている家族の消息を調査致します!!
●電話番号から住所割り出し
一般電話、携帯から住所を割り出し致します!!
●ストーカー対策
社会問題ともなっているストーカーを撃退致します!!
その他人生相談からどんなお悩みでも解決いたします!!
 直通  090−8505−3086
URL  http://www.h5.dion.ne.jp/~grobal/
メール  [email protected]
   グローバル探偵事務局 

0787デフォルトの名無しさんNGNG
>>785
文字列の中で\マークがどのような振る舞いをするか考えてみよう。
\は変換指定子に使われるんだよ。
ディレクトリの区切りは/を使うか、あるいは\\を使うようにしよう。
0788785NGNG
>>787
ありがとうございます。

char szSound[100] ;
GetPrivateProfileString( "CLOCK", "SOUNDFILE", "あ", szSound, 100, "c\\Clock.ini" ) ;

「\\」にしたのですがやはりダメです。。
何でだろう。。
0789デフォルトの名無しさんNGNG
>>788
× c\\Clock.ini
○ c:\\Clock.ini

単なる入力ミスかもしれんが、一応。
0790785NGNG
>>789
ちゃんと「c:\\clock.ini」としているのですがダメなんですよぉ(T-T)
0791デフォルトの名無しさんNGNG
書き込み権限がないとか。
0792名無しさん@そうだ選挙にいこうNGNG
"あ"-修正->""
0793デフォルトの名無しさん NGNG
char szSound[100];

GetPrivateProfileString( "CLOCK", "SOUNDFILE", szSound, szSound, 100, "c:\\Clock.ini");
0794785NGNG
>>793
それでもダメなんですぅ。。(T-T)
0795デフォルトの名無しさんNGNG
int型の変数にCString型の変数の値を入れたい場合は
どうしたらよいっすか?
0796名無し@沢村NGNG
>>795
CString str;
int n; として

n = (int)(LPCTSTR)str;
0797名無し@さんNGNG
DQNな質問で悪いんだけど・・・。

VC++勉強しよう思うんだけど、やっぱりCもC++もやったことない
(正確には、Cはデータの型とscanf,printfが使えるぐらい)
人間はまずC,C++を勉強しないと無理?
ちなみにプログラミング自体は初心者じゃないです。
0798デフォルトの名無しさんNGNG
>>796
うまくいかないっす(^^;
CString str;
int n;

str = "0";
n = (int)(LPCTSTR)str;

ってやっても
nには 0が入らないっす。
0799デフォルトの名無しさんNGNG
>797
無理
0800デフォルトの名無しさんNGNG
>798
atoi
0801デフォルトの名無しさんNGNG
>>797
地道にcとc++を勉強しましょう。
結局はそれが近道です。
そんなに時間はかかりませんから。
0802デフォルトの名無しさんNGNG
>798
釣られたんだよ。


n = ::atoi( str );
でやってみ。
0803デフォルトの名無しさんNGNG
>>797
今はどんな言語がつかえるの?
0804デフォルトの名無しさんNGNG
>>800
>>802
ありがとうです。
うまくいきました。

今度は、CString型にint型の変数をセットしたいのですが
どうしたらよいですか?
0805デフォルトの名無しさんNGNG
c:\\の前にも\\をつけてみたら?
つまり"\\c:\\Clock.ini"
0806名無し@沢村NGNG
>>798
なんだ、そういうことか。
_tcstol()か_ttoi()だな。

>>797
ヌヒにはC++を知らないで "Visual C++" を使えると思った理由を問いたい。
0807デフォルトの名無しさんNGNG
>>805
それでもダメでした。。。
0808デフォルトの名無しさんNGNG
>>807
もう諦めろ!
0809デフォルトの名無しさんNGNG
>804
str.Format( _T("%d"), n );
0810デフォルトの名無しさんNGNG
DDKってダウンロードできないんですか?
0811797NGNG
やっぱりそうか〜。みなさんアドヴァイスありがとうございます。
とりあえずC++の本買ってきます。

>>803
・・・・・・HSP(ボソッ)。お金がないんだよう。ヽ(`Д´)ノ
一応BASIC,CASLあたりも余裕です。当たり前か。
VBもちょこっとかじりますた。あ!そうそう、あとはTOWNS-GEA(以下略)

>>806
使えると思ったわけじゃないんだけど、VBなんかはBASICなんて名前が
付いてるけど、BASICとは全くの別物と言ってもいいような言語じゃ
ないですか。ある程度知識があればBASICはショートカットできそうだし。
そんな感じで、VC++もC++とはほとんど別物なのかな〜と・・・。
0812デフォルトの名無しさんNGNG
>>811
一理あるな。VC++にもC++にない仕様がイパーイある。
でもC++のクラスについて理解しておかないと何も組めない罠。
0813デフォルトの名無しさんNGNG
>>811
VCの場合は、CやC++のコードを組んでいって、ここぞと言うときに
MS独自の関数を使うという感じがします。
平屋の家を、2階建て3階建てに増築したようなもので、
分かりづいらいです。
0814797NGNG
>>812
BASIC程度なら、勘でなんとかなりますしね。
う〜んその辺がVC++とVBの違うところか・・・。
pDC->TextOut(中略)
とかサッパリです。「pDC->」←なんじゃこれは!
勉強しよっと。目指せ1ヶ月でVC++マスター。
0815デフォルトの名無しさんNGNG
おまいはCのポインタをちゃんと理解しているのかと小一時間…
0816デフォルトの名無しさんNGNG
>>815
Cのポイントぐらい理解しています。
0817デフォルトの名無しさんNGNG
だったらポインタから構造体(この場合はクラスだが)のメンバに
アクセスするには -> を使うことぐらい(以下略)
0818797NGNG
>>813
ほうほう、例えば計算機作るなら、計算する部分はC++で組んで、
計算機のウインドウの制御はMSの関数でやるってな感じですか?

>>815
してないです。Cもほんのちょこっとやっただけなんで。
でもポインタの概念は知ってますよー。
0819797NGNG
連続スマソ。

>>816
誰だチミは??
いくらDQNでもこんなことをageで書くようなことはせんですよ。
0820デフォルトの名無しさんNGNG
>>819
いい加減うざいぞ、お前。
0821デフォルトの名無しさんNGNG
>>820
オマエモナー
0822デフォルトの名無しさんNGNG
>>814
pDCがポインタだから->を使うんだろ?
そうでなければ.でいいんだが。
また、
(*pDC).TextOut(中略)
でも動くけどな。
0823デフォルトの名無しさんNGNG
>>822
>>817で外出。
0824デフォルトの名無しさんNGNG
ここでポインタの話なんかしなくていいから。
したけりゃCスレでも行け。
0825797NGNG
>>820
sageで書こうね。>>816の自作自演?

>>822
そうか、なんとなーく分かってきた。
って言っても画面に文字を表示できるだけじゃあダメダメなんで
もうちょい勉強してきます。
0826デフォルトの名無しさんNGNG
エディットボックスにカーソルを合わせて
Enterキーを押すと閉じてしまいます。
Enterキーを押しても閉じないようにするにはどうしたらよいか
教えてください。
カルチョジュセヨ
0827デフォルトの名無しさんNGNG
>>825
sageようがくだらない質問はするな。もうくんなよ。
0828デフォルトの名無しさんNGNG
>>826
そろそろダイアログボックスで組むのやめれば?
0829826NGNG
>>828
そろそろって。。。
まだはじめたばかりなんだけどなぁ。。
0830デフォルトの名無しさんNGNG
ポインタが分からないんじゃなく、
デバイスコンテキストというものが何なのかがわからないんでしょ?
デバイスコンテキストは、描画対象だと思えばいい。
0831デフォルトの名無しさんNGNG
Excelのセルを操作したいんですけど、VCでやるのは難しいですか?
0832デフォルトの名無しさんNGNG
>>831
面倒くさいだけ。難しくはない。
0833797NGNG
>>830
ポインタが分からないっていうか、ポインタ「も」分からないんだけど、
ポインタの質問をしにきた訳ではなく、VC++がサッパリ分からない例えに
pDC->TextOut(中略)
を出しただけです。
でも親切にどうもありがとう!とりあえず本買ってきたんで、今から
じっくり読みます。
0834デフォルトの名無しさんNGNG
>>826
ダイアログには普通OKボタンというものがあって、Enterキーを押すと自動的に押されるのだ。
たとえボタンを付け忘れていても、Enterキーを押すと気をきかせてOnOKを呼んでくれるのだ。
そしてCDialogのOnOKにはダイアログを閉じる処理が書かれているのだ。
だから自分でOnOKを追加して、「押しちゃイヤン」とかメッセージを出させるようにするといいよ。
0835デフォルトの名無しさんNGNG
>>826

HogehogeDlg::OnOK()
// CDialog::OnOK(); ←(・∀・)イイ!!

HogehogeDlg::OnCancel()
// CDialog::OnCancel(); ← (・∀・)カンペキ!!
0836デフォルトの名無しさんNGNG
あ、俺もそれどうにかしようと思ってて面倒いから放置してた。
OK、キャンセルのボタン消した後だと追加するの大変だから
最初にOK キャンセルをダブルクリックして関数を追加しておくといいね。

でも閉じるボタン押してもウインドウが閉じなくなるから
ESCでは閉じなくて Xボタンで閉じるようにしないといけないな


0837デフォルトの名無しさんNGNG
コマンドボタンの標準ボタンのチェックはずせばいいじゃん
0838デフォルトの名無しさんNGNG
>837
実際に試してみい
0839デフォルトの名無しさんNGNG
Visual Studio 6.0 を使っているのですが、マシンに搭載されているCPUの数
を調べる方法はあるのでしょうか。
(CPUの数に合わせたスレッド数でマルチスレッドを行いたいのです)

初心者の質問ですみません。分かる方よろしくお願いします。
0840デフォルトの名無しさんNGNG
>>839
GetSystemInfo()
SYSTEM_INFO構造体のdwNumberOfProcessors

ヘルプを読んだだけなので間違ってるかも。
0841837NGNG
>>838
おわ!ホントだった!
んじゃID_OKを変えるということで。
0842デフォルトの名無しさんNGNG
>840
無事うまくいきました。
素早いレスありがとうございました。
0843デフォルトの名無しさんNGNG
OKボタンの標準ボタンのチェックをはずすなら、他のボタンを標準ボタンにしなきゃだめよ。
0844デフォルトの名無しさんNGNG
別に標準がなきゃいけないわけでもなかろうに。
0845デフォルトの名無しさんNGNG
標準がないとOKボタンが押されたのと同じ動作になるんだよ。
だからOKボタンの標準をはずして他のボタンを標準にすれば、
Enterを押した時のその他のボタンが押されるのでダイアログが閉じない。
0846デフォルトの名無しさんNGNG
他の重要なメッセージが大量のメッセージの中に埋もれてしまうのでデバッグ時の
'Hogehoge.DLL' をロードしました、合致するシンボル情報は見つかりませんでした
というメッセージを出さなくする方法はありませんか?

0847デフォルトの名無しさんNGNG
>>835
それってどうやるの?
どこに書けばいいの??
0848デフォルトの名無しさんNGNG
CTestDlg1にはメンバ変数objA というクラスがあります。
CTestDlg2にはメンバ変数objB というクラスがあります。

objAをobjBに参照渡しをする場合どうしたらよいのでしょうか?

0849デフォルトの名無しさんNGNG
>>848
できないんでない?
0850デフォルトの名無しさんNGNG
>CTestDlg1にはメンバ変数objA というクラスがあります。
>CTestDlg1にはメンバ変数objA というクラスがあります。
>CTestDlg1にはメンバ変数objA というクラスがあります。
>CTestDlg1にはメンバ変数objA というクラスがあります。
>CTestDlg1にはメンバ変数objA というクラスがあります。
>CTestDlg1にはメンバ変数objA というクラスがあります。
>CTestDlg1にはメンバ変数objA というクラスがあります。
>CTestDlg1にはメンバ変数objA というクラスがあります。
0851デフォルトの名無しさんNGNG
>>847
OKボタンとキャンセルボタンがあるダイアログのサンプルを探してきてコピペろ
0852デフォルトの名無しさんNGNG
ちょっと教えて君でスマソ。
Visual C++ 6.0 SP5を持ってます。
コンパイラが同一の場合、WinXP上でコンパイル、リンクして生成したオプジェクト(EXEなど)と、
WinME(98など)上で、コンパイル、リンクして生成したオブジェクトって、
いかなるときでも同じはずですよね。
もし、違うものが生成されるとしたら、どんな特殊なときなのか教えてください。
0853デフォルトの名無しさんNGNG
>>852
コンパイルする環境によってデフォルトで定義されるマクロが違うから生成されるものも異なる。
0854デフォルトの名無しさんNGNG
タイムスタンプ
0855デフォルトの名無しさんNGNG
>>853
あくまでそのレベルですよね。
同じコンパイル環境で、OS依存はありえないですよね。
0856デフォルトの名無しさんNGNG
コンパイラの中に
if(Win98){
98 用のバイナリを生産
} else {
NT用のバイナリを生産
}
と書かれていたら、異なるバイナリが生産されてしまうな。
0857デフォルトの名無しさんNGNG
>>855
だから違うって言ってるだろ?
一般にWin98でコンパイルすればWin98用exe、NTでコンパイルすればNT用exeができる。
0858デフォルトの名無しさんNGNG
>>857
なにが「一般に」だ。
デフォルトのコンパイルオプションを見ろ。
0859あああNGNG
VC# .NETでしばらく遊んでたんですが、小さなアプリでさえ動作が
重い(CLRをロードするから?)のでVC++ .NETに乗り換えました。

理解が違ってるとあれなのでお伺いしたいんですが
・マネージドコード
-> C++、C#、VBで書いたコードの違いは最終的にはCLRに吸収されて
  同じものができる。好みの言語でプログラミングができるという
  だけの話。

・アンマネージドコード
  いわゆるネイティブなアプリを作るにはVC++を使って、しかも.NET
Frameworkを使わずに書かなければならない

こう理解して問題ないのでしょうか。ひょっとして凄く恥ずかしい
こと書いてるかも??
0860デフォルトの名無しさんNGNG
まず先に

 ( ・∀・)   | | 
 と    )    | |  ガッ
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/
 (_フ彡        /  ←>>859
0861デフォルトの名無しさんNGNG
>>852
OS依存のライブラリをスタティックリンクした場合とか?
0862デフォルトの名無しさんNGNG
たとえば、世に出ているXPやME対応のアプリ、とうたっているアプリは、
どのようにして開発しているんでしょうね。
開発PCのOSに依存するコードが生成されているとしたら、
社員の使っているPC(にインストールされているOS)によって、
できるプログラムが異なると、いろいろややこしくなりますよね。
0863デフォルトの名無しさんNGNG
>>862
だから動作確認するんだろうが
0864デフォルトの名無しさんNGNG
メールランクライハカンベンシロ

 ( ・∀・)   | | 
 と    )    | |  ピコッ
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/
 (_フ彡        /  ←>>860
0865デフォルトの名無しさんNGNG
>>863
それ以前の生成されるコードのレベルの話じゃん。
0866デフォルトの名無しさんNGNG
>>855
だからそのレベルでありえてるだろと。
何が聞きたいのかわからん。
0867デフォルトの名無しさんNGNG
>>862
下位互換って知ってるかな……
0868デフォルトの名無しさんNGNG
ここ、ひねくれてる香具師多いな。
知ってても答えねー、みたいな(w
0869デフォルトの名無しさんNGNG
つーか>>862のようなことを心配してるんだったら
コードレベルで同じかどうかなんて気にしてもしゃーないべ。
0870デフォルトの名無しさんNGNG
>>862は>>852のことを踏まえて言ってるのかな?

たとえばWin95でコンパイルされたなら、それ以降の9x系には基本的に対応。(MSがそう謳ってる)
けれども作ったときにはWinMeなんて出てなかったりしたから、当然「対応」なんて書けない。
「Me対応」っていうのは要するに「Meで動作を確認しますた」ってことなワケよ。

中にはMeの場合に特別な処理をしたりとか、OSによって処理を切り替えたりする部分があったりして
その処理にMe用を入れて「Me対応」という場合もあったり、特定のバージョンでないと動かないように
してあったりするものがMeでも動くようになればそれで「対応」ってこと。
9x系とNT系でexe自体を分けてるのもあるしね。

>社員の使っているPC(にインストールされているOS)によって、
>できるプログラムが異なると、いろいろややこしくなりますよね。
そんなソフト会社イヤだ……
0871デフォルトの名無しさんNGNG
>>870
デバイスドライバは9x系とNT系で分けているよね。当たり前だけど。
0872デフォルトの名無しさんNGNG
コンパイラはOSによって出力されるコードに違いはない
Win32APIでも特定のバージョン以上に対応させる動作をさせるためには
コンパイルオプションで挙動を変えられるようにヘッダーで処理を分けるようになっている
例えばWindows9x環境でUNICODEを有効にしてコンパイルすることは出来るが
9x系では動かずNT系でのみ動作するバイナリを吐く
0873デフォルトの名無しさんNGNG
>>852
PEフォーマットで調べろや
IMAGE_FILE_HEADER には少なくともTimeDateStampが存在するぞ
0874デフォルトの名無しさんNGNG
>>871
そりゃ違うOSだからな……
0875デフォルトの名無しさんNGNG
>>873
そういうレベルの話ではないと思われ……
0876デフォルトの名無しさんNGNG
「…」が流行っているのだろうか……
0877デフォルトの名無しさんNGNG
>>874-876
ジサクジエンなのだろうか…
0878デフォルトの名無しさんNGNG
具体的に、VCC++6.0SP5でNT4.0SP3でコムパイルした香具師と
Win4.0SP6でコムパイルした香具師は同じだよな。
と自分で書いてておかしくなってきた(w
0879デフォルトの名無しさんNGNG
しまつたageてもた・・・
0880デフォルトの名無しさんNGNG
age以前に単語むちゃくちゃだな。
0881デフォルトの名無しさんNGNG
しかもOSの差じゃなくてSPの差を書いて「具体的」って。
0882デフォルトの名無しさんNGNG
なんだ、真剣に答えてくれないのか。
デムパと思われたか・・・卯津田詩嚢
0883デフォルトの名無しさんNGNG
Win98上でコンパイルしたコードとWinXP上でコンパイルしたバイナリは
同じになる可能性が高いが、同じにならないようにコンパイラを
設計することもできる。MSの考え方次第ではないか。
0884デフォルトの名無しさんNGNG
VCは同じになるが、VBは同じにならないから気を付けろ
たっぷり開発環境のOCXのバージョン異存に苦しめられてくれ
0885デフォルトの名無しさんNGNG
>>884
スレ違い氏ね
0886デフォルトの名無しさんNGNG
>>882
誰だか知らんが、答えてもらえないのは大抵の場合質問の仕方が悪いよ。
0887デフォルトの名無しさんNGNG
昔、国産PCでのコンパイラで、コプロがあるかないかで、
浮動小数点演算のライブラリをリンクするか、
同処理をエミュレーションするライブラリをリンクするかを
判断しているものがあったな。ターボパスカルだったか忘れた。
0888デフォルトの名無しさんNGNG
VCもIEのバージョンによって動作変わるよ。
0889デフォルトの名無しさんNGNG
動作が変わることと出力コードが変わることとは直接はリンクしてない罠。
0890デフォルトの名無しさんNGNG
_creatで得た低水準入出力ハンドラを FILE*に割り当てるにはどうしたらよいのでしょうか?
(_filenoの逆)
0891デフォルトの名無しさんNGNG
コンパイラというのは、ある言語からある言語への単なる変換プログラムだ。
結果が変わる訳あるまい。

例えば、NKFをどこの環境で動かそうが、文字コード変換の結果が
変わらないのと同じってことだ。
0892デフォルトの名無しさんNGNG
sndPlaySound関数を使用したいのですが下記のエラーが発生してしまいます。
ちゃんと #include <MMsystem.h>はやっています。
何でエラーが発生するか教えてください。

clockDlg.obj : error LNK2001: 外部シンボル "__imp__sndPlaySoundA@8" は未解決です
Debug/clock.exe : fatal error LNK1120: 外部参照 1 が未解決です。
link.exe の実行エラー
0893デフォルトの名無しさんNGNG
winmm.libをリンクしろってMSDNに書いてる
0894デフォルトの名無しさんNGNG
>>893
リンクの方法を教えてください!!!
よろしくお願いします。
0895デフォルトの名無しさんNGNG
>>894
実行時に動的に呼び出すか
リンクオプションで指定するか
ソースコード中にライブラリリンクの疑似命令を埋め込むか
好きにしろ
0896デフォルトの名無しさんNGNG
>>894
ヘルプ読めボケ
氏ね
0897デフォルトの名無しさんNGNG
CString a;
a = "TEST" ;

string b = a ;

これって型が違うけどエラーが出ないよね?
何でですか?
0898デフォルトの名無しさんNGNG
string a ;
CString b ;

b に aをセットしたいのですがエラーが出ます。
CString型にstring型を代入するにはどうしましょ?
0899デフォルトの名無しさんNGNG
b=a.c_str()
0900デフォルトの名無しさんNGNG
>>894
リンクの方法も知らんとは。
馬鹿なやつよのぅ。
基本だろ!
0901デフォルトの名無しさんNGNG
最近はリンカの存在感が薄いもんな
0902デフォルトの名無しさんNGNG
リンカ、東野と付き合ってるらしいが本当か?
0903デフォルトの名無しさんNGNG
>>902
詰まらん。
0904デフォルトの名無しさんNGNG
下げマンらしいね。
0905デフォルトの名無しさんNGNG
WindowsSDKでプログラムを作ってるんですが、
MFCのコレクションクラスを使うことはできないのですか?
コレクションクラスのヘッダーファイルをincludeすると、
「"windows.h"をインクルードしたらいけません」みたいな
コンパイルエラーになってしまいます。
0906デフォルトの名無しさんNGNG
>>905
MFCを使うならぜんぶMFCで統一すること。
STL使えば?
0907905NGNG
なるほど。やっぱり、そうですか。
では STLってどこで入手できるんですか?
0908ねかまNGNG
>>907
たぶんあなたのHDDの中に入っているんじゃないかしら。
0909905NGNG
えっ!そうなんですか!?
使っているのはVC6.0なんですが、
探してもどこにあるのかよくわかりませんでした。
VCのCD-ROMの中なんでしょうか?
それともSDKの中に含まれてるんでしょうか?
0910ねなべNGNG
>>909
○▲★■の中に入ってるよ
0911ねなべNGNG
>>910
氏ね
0912ねなべNGNG
>>910==911
自爆自演ヤメレ
0913905NGNG
失礼しました。
C:\Program Files\Microsoft Visual Studio\VC98\Include
の中にありました。
0914219-105-109-105.adachi.ne.jpNGNG
C言語の知識が皆無に等しいくせに、VC++.netを買った私は馬鹿ですか?
0915デフォルトの名無しさんNGNG
買った行為はともかく
>>914のような書き込みが馬鹿だということを色濃く表している
0916デフォルトの名無しさんNGNG
>>915
そうっすか。どうもっす
0917デフォルトの名無しさんNGNG
>>897について答えられる人がここに何人いるのだろうか?
0918デフォルトの名無しさんNGNG
LPCTSTRだから。
0919デフォルトの名無しさんNGNG
sndPlaySound( "c:/test.wav" , SND_LOOP ) ;
を実行しても繰り返し再生してくれません!!!
何故???
0920デフォルトの名無しさんNGNG
>>919
そんなPath無いから。
0921デフォルトの名無しさんNGNG
>>920
音楽はなりますが
繰り返し再生してくれないのです。
0922デフォルトの名無しさんNGNG
>>921
You must also specify the SND_ASYNC flag to loop sounds.
これじゃないかな。
0923デフォルトの名無しさんNGNG
SHFileOperationの戻り値をすべて列挙する。
おしえてください。
0924デフォルトの名無しさんNGNG
デフォルト引数を使ってる関数を分割コンパイルした時、
ヘッダファイルだけインクルードしてもデフォルト引数の値が
パラメータヒントに出てこないのはなぜだ!なんか対策方法ある?

---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);
0925デフォルトの名無しさんNGNG
sleep関数が使えません
どのライブラリに入ってますか?
0926デフォルトの名無しさんNGNG
>>925
MSDNで調べてください
0927デフォルトの名無しさんNGNG
すみません。質問です

SendAsyncProc関数を使おうと思っているのですが、
3番目の引数の型「ULONG_PTR」でシンタックスエラーがでてしまいます。
MSDNにはWindows95以降、windows.hをインクルードと書いてあるのですが、
VCのインストールされたフォルダを全検索しても「ULONG_PTR」という単語はヒットしません。
googleで検索したところ、gdiplus関係がヒットしたのですがその辺を調べれば良いのでしょうか・・?

環境はWindows2000
VisualC++6.0ProfessionalEdition(SP5)
参照MSDNは2001年1月リリースとMSDNライブラリVisualStudio6.0です

よろしくお願いします。
0928名無し@沢村NGNG
>>927
ヌヒよ、VC7の環境では以下のように定義されているぞ。

typedef _W64 unsigned long ULONG_PTR, *PULONG_PTR;
0929デフォルトの名無しさんNGNG
>>927
basestd.hに入ってる。

ソースコードの適当なところにULONG_PTRって打って、F12を押してみよう。
定義されているところへジャンプしてくれる。
(ブラウザ情報付きでコンパイルしなおす必要があるけど)
0930デフォルトの名無しさんNGNG
basetsd.hだった……
しかもDXSDK…鬱
0931デフォルトの名無しさんNGNG
VOID CALLBACK SendAsyncProc(
HWND hwnd,// 目的ウィンドウのハンドル
UINT uMsg,// メッセージ
DWORD dwData,// アプリケーション定義の値
LRESULT lResult// メッセージ処理の結果
);

ULONG_PTRは見当たらないが。
MSDNライブラリVisualStudio6.0より。
0932デフォルトの名無しさんNGNG
>>927
ULONG_PTR がないってことは 2001年9月 以前の古いSDKだと思われ。
ULONG_PTR とか INT_PTR って型は古いSDKのヘッダでは宣言されていない。
新しいSDKをダウンロードしてくるか、かわりに昔の名前 ULONG を使う。
MS自身が2つの型を混同しているので当分 ULONG_PTR と ULONG は同じ型だろう。
ただ、わざわざ名前を変えたのには理由があるのだろうから
時間がある時にでも新しいSDKにアップデートしておいた方がよいと思う。
0933デフォルトの名無しさんNGNG
今気が付いたんだけど
CFileFindとかでC:\*.*を検索するとC:\WINNTが検出されない訳だがこれって仕様?
環境はWindows2000 VC++6.0
0934デフォルトの名無しさんNGNG
>>933
仕様っていうか……
「 . 」が入ってないんだからヒットしなくて当然だと思う
0935デフォルトの名無しさんNGNG
>>934
あーそれは関係ないんじゃないですか?。
.がなくてもProgram FilesとかHITするし
C:\*でもヒットしないし。
Windowsの仕様では*.*=*ですから。
0936927NGNG
なるほど。
サービスパックはちょこちょこ当てていたので、その辺りも修正されてるつもりでいたのですが
そうではなかったのですね。
今からダウンロードしてインストールしたいと思います。
ありがとうございました。
0937しょしんしゃNGNG
ダイアログの特定のコントロールをアクティブにするにはどうしたらいいでしょう?
0938デフォルトの名無しさんNGNG
SetFocus
0939デフォルトの名無しさんNGNG
>>937
SetActiveWindowではだめか?
0940デフォルトの名無しさん NGNG
VC++.netでDirect3DクラスとD3DXクラスを使うプロジェクトを作るには
新規作成から何を選べばいいんでしょう?
0941デフォルトの名無しさんNGNG
極端な話コンソールアプリからだって使えるから
ナニを選んでも使える
0942デフォルトの名無しさんNGNG
>>937
デフォルトボタンの面倒もちゃんと見てもらいたかったら
GotoDlgCtrlかWM_NEXTDLGCTL
0943940NGNG
空のソリューションを選べばいいんでしょうか
初歩ですいません
0944りすとぼっくすNGNG
リストボックスをソートするにはどうしたらいいのでしょう?
リソースエディタのプロパティを使ったらできたのですが、そうではなく
あるタイミングでソートを関数で実行したいのですが・・・。
0945あNGNG
>944
CListCtrl::SortItems
を呼び出すんじゃなかったっけ?
忘れた。
0946りすとぼっくすNGNG
>>945
すいません説明がたりませぬでした。
非MFC環境どす。
0947あNGNG
>946
LVM_SORTITEMS ってメッセージ?
非MFCはよくわからん。。
間違ってたら誰かサポートしてくれぃ。
0948デフォルトの名無しさんNGNG
じゃ、サポート・・・かな?
LVM_SORTITEMS はリストビューのメッセージ。
たぶん >946 が聞いてるのはリストボックス。
非MFC環境の質問なら↓の方が向いているかも。
http://pc2.2ch.net/test/read.cgi/tech/1018239290/l50
0949デフォルトの名無しさんNGNG
フォトショップのツールウィンドウみたいに、子ウィンドウを
親ウィンドウのクライアント領域の外まで移動可能にするには
どのようにすればいいですか?

普通に子ウィンドウを作成したのでは親ウィンドウの外に出ることが出来ないのですが…
0950デフォルトの名無しさんNGNG
>>949
CreateWindowでウィンドウを作成するとき、HMENUをNULLにすれば良い。
あと、WS_CHILDは指定しないこと。
0951949NGNG
>>950
できました!ありがとうございます。

ウィンドウスタイルで指定するものだと勝手に思い込んでいたので
検索しても見つからなくて困っていました。3時間も使ってしまって鬱だ…
0952デフォルトの名無しさんNGNG
CAD用アドオンをWin2000+VC++6で作ってます。

CADアプリがマウスカーソルを握っている状態でモードレスダイアログを呼び出した時、
マウスカーソルが非表示になる場合があり、解決策が見つかりません。
以下の方法を試しましたがダメなのです。

●一度マウスカーソルを非表示にして再度表示
 → ぜんぜんダメ。

●ダイアログ表示前に原点にマウスカーソルを移動させておき、ダイアログ表示後に元に戻す
 →CRTでは回避できた(表示された)のに、液晶ではダメ。

●ダイアログ表示後にSendMessage(hWnd, WM_SYSCOMMAND, SC_KEYMENU, 0)でウィンドウメニューをアクティブにする。
 →マウスカーソルは表示されるが、ダイアログ表示後のリターンでメニューがドロップダウンしてしまうのでダメ。

どなたか知恵を貸して下され・・・・
0953デフォルトの名無しさんNGNG
>液晶ではダメ。
ほう、それでは出力を普通のディスプレイと液晶、同時に出力すると
液晶の方だけカーソルが表示されないのか?
そいつはすげぇや、心霊現象だよ
0954デフォルトの名無しさんNGNG
>>953
普通のディスプレイってなんですか?
0955デフォルトの名無しさんNGNG
あの〜、まったくの初心者がこんなアフォなこと聞いて良いのか知りませんけど、
ボタン押したらuhoho.exeが起動するように
HINSTANCE ret=ShellExecute (m_hWnd,"open","uhoho.exe",NULL,NULL,SW_SHOW);
if((int)ret<=32) AfxMessageBox("処理できない.",MB_OK);
って書いたんです。
そしたら処理できなかったんですわ。
何ででしょうか?

ちなみにuhoho.exeはインストーラーで150Mあります。
小さいファイルだったら起動するんです。
0956デフォルトの名無しさんNGNG
>>954
異常でないディスプレイのことです。
0957デフォルトの名無しさんNGNG
>>955
メモリが足りない…とかじゃないよな。
うん。
0958デフォルトの名無しさんNGNG
>>953
液晶ディスプレイについてしか言及されてないじゃん。
なんで「普通のディスプレイ」の話が出てきてるの?
0959デフォルトの名無しさんNGNG
>>953
 →CRTでは回避できた(表示された)のに、液晶ではダメ。
この部分だと思われ
0960デフォルトの名無しさんNGNG
ちがった>>958だ……
0961デフォルトの名無しさんNGNG












           つ ぅ か 普 通 の デ ィ ス  プ レ イ っ て な ん だ  よ










0962デフォルトの名無しさんNGNG
ビデオカードからの出力信号がCRTと液晶で変化が生じているのなら、確かに怪現象だと思うが
出力媒介によって表示を変えることが出来るという新技術の発見ということになる
特許を申請汁
0963デフォルトの名無しさんNGNG
>>962
デコーダが違えばそれも可能なわけだが。
0964デフォルトの名無しさんNGNG
>>961
うざいよ
0965デフォルトの名無しさんNGNG
>>963
同じ出力信号で液晶とCRTという条件だけでどうやってやるの?
色を薄くしてコントラストの強度を利用するくらいしか思いつかない
それが分かれば今回の件も解決なわけだが
0966名無し@沢村NGNG
>>955
ヌヒよ、CreateProcess()でもだめか?
0967ヌッヒー沢村 ◆4DRE6TAt5Q NGNG
んだんだ。
0968デフォルトの名無しさんNGNG
>>955
ファイル名がいかん
0969デフォルトの名無しさんNGNG
>>955
エラーの内容をしっかり確認しる。
0970デフォルトの名無しさんNGNG
C++やVBなどでGUIアプリを作成する場合
とうぜん画面設計がありますよね?
皆さんは画面設計について何か参考にされているものってあり
ますか?
参考書や他のアプリを参考にするとか?
ボタンの配置1つとっても考えると難しいものですよね?
画面設計について参考になるサイトや書籍等ありましたら
教えてください。
0971仕様書無しさんNGNG
>>970
野生の勘で。
つーか、とりあえず作ってみて、使いづらかったら考える。
0972デフォルトの名無しさんNGNG
>>970
プログラマ板に「こんなUIは使いづらい」というようなスレッドがあったと思う。
もうないかもしれないけど、誰かがそれをまとめたサイトを作っていたから探してみては?
0973972NGNG
うなづけるものがいくつかあったよ。
フォルダオプションとかIEのインターネットオプションとか(-_-;
0974デフォルトの名無しさんNGNG
>>970
ダメなユーザインタフェイス講座
http://www.geocities.co.jp/SiliconValley-Oakland/8192/

これか? 
0975972NGNG
>>974
そうそれ。

http://mentai.2ch.net/prog/kako/997/997370579.html
そういえばタイトルは「readme.txtにアンインストール情報を!」だったな(^_^;)
0976デフォルトの名無しさんNGNG
こんなUIのソフトは嫌だ!
http://pc2.2ch.net/test/read.cgi/software/1023253730/

ソフト板にあった
0977デフォルトの名無しさんNGNG
>>976
あ、俺が立てたスレだ(笑
0978デフォルトの名無しさんNGNG
( ´_ゝ`) フーン
0979デフォルトの名無しさんNGNG
教えてください。
CStringクラスがぶっこわれるんですけど(ゴミが入る)
char * sage="test";
CString hoge = sage;
このような場合ってhogeはポインタみたいな指し方するんですか?
これだと領域とってくれますか?
hoge = CString(sage);
0980デフォルトの名無しさんNGNG
スプリッタってどうやったら作れますか?
WTLを使ってますがそれっぽいクラスやAPIが見当たりません。
0981デフォルトの名無しさんNGNG
>>979
壊れているといっている理由をまずかけよ
0982デフォルトの名無しさんNGNG
>>980
スプリッタはWTLなら標準で入ってるだろ
よく観察してみろ
0983デフォルトの名無しさんNGNG
>>979
壊れているのはCStringクラスじゃ無くておまえの頭だろ!
0984デフォルトの名無しさんNGNG
>>982
そのままの名前のヘッダがありました。スマソ。
レス数が950を超えています。1000を超えると書き込みができなくなります。