トップページ⇒tech
777コメント263KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
タイトルの通り、Visual C++ 初心者用スレッドです。

■質問するにあたって
・エラーや警告のときはエラーメッセージを書きましょう。
・開発環境も書きましょう。
・できるだけ具体的に。

  質問の仕方については次のページが大変参考になります。
  http://www.hyuki.com/writing/techask.html
  http://www.geocities.co.jp/Beautycare/4965/public/template.html

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

前スレや関連スレは >>2-5 あたりに。
0002デフォルトの名無しさんNGNG


/** 過去スレ **/
Part5   http://pc2.2ch.net/tech/kako/1048/10486/1048698321.html
Part4   http://pc2.2ch.net/tech/kako/1044/10441/1044196393.html
Part3   http://pc2.2ch.net/tech/kako/1038/10381/1038160750.html
Part2   http://pc3.2ch.net/tech/kako/1030/10309/1030985362.html
Part1   http://pc3.2ch.net/tech/kako/1023/10235/1023530449.html

/** 関連スレ **/
■ VisualC++(MFC限定)相談室 MFC7.dll■
http://pc2.2ch.net/test/read.cgi/tech/1047949606/l50
Win32API 質問箱 Build12
http://pc2.2ch.net/test/read.cgi/tech/1056033645/l50
C++相談室 part20
http://pc2.2ch.net/test/read.cgi/tech/1055162298/l50
C/C++の宿題やらせてください。9代目
http://pc2.2ch.net/test/read.cgi/tech/1055944101/l50

/** 外部リンク **/
猫でもわかるプログラミング
http://www.kumei.ne.jp/c_lang/
MSDN ライブラリ
http://www.microsoft.com/japan/msdn/library/
Google
http://www.google.co.jp/
0003デフォルトの名無しさんNGNG
VC++は死滅
0004デフォルトの名無しさんNGNG
>>1
<< "乙";
0005デフォルトの名無しさんNGNG
>>1
グッジョブ!
0006デカパンNGNG
>>1
乙だす!
0007デフォルトの名無しさんNGNG
VisualC++6.0を使用していますが、コンパイルした後のアセンブラコードを見るためには
どうしたらよいのでしょうか?
コンパイルオプションを見たのですが、それらしいものは書いてありませんでした…。
0008デフォルトの名無しさんNGNG
ダイアログベースのアプリケーションで、クラスウィザードからコントロールに
メンバ変数を割り当てると、そのダイアログクラスのコンストラクタに

//{{AFX_DATA_INIT(ダイアログクラス)
〜
//}}AFX_DAT_INIT

というのができて、その中でメンバ変数の初期化をしてくれてますが、
この中の処理(たとえば初期値とか)って書き換えてしまっていいん
でしょうか?
それとも、これはクラスウィザードが使う部分なのでいじるとまずいん
でしょうか?

厨な質問と思うのですが、教えてください。
0009デフォルトの名無しさんNGNG
>>7
"混合モード" で表示じゃダメ?
0010デフォルトの名無しさんNGNG
>>8
自分で変更してOK
0011デフォルトの名無しさんNGNG
フォントをリソースなどで埋め込んで、アプリからそのフォントを使用したいのですが
可能でしょうか?
よく、PowerPointやPDFで配布用にフォントを埋め込むことがあると思うのですが。
001211NGNG
もしくは、システムのフォントディレクトリ(?)にフォントをコピーしなくても
プログラムと同じディレクトリにおいても利用できるような方法はありませんか?
0013デフォルトの名無しさんNGNG
割り込みスマン!
もまいら教えてくさい。
プリプロセッサ定義にUNICODEと_UNICODEがあるのですが
これらはどうちがうのですか?
MFCのコードを見ると、どちらかが定義されているときは
他方も定義されるようになっているのですが。。。
0014デフォルトの名無しさんNGNG
endlと'\n'って普通どっちを使えばいいんですか?
あと、C++で標準入出力はcoutとcin使えばいいんですよね?
0015デフォルトの名無しさんNGNG
>14
endlは改行した上にフラッシュされる。
endlを使いましょう
0016魔王みそちる ◆xuU0ZqjUEo NGNG
.NETが糞。糞。ってよく聞きます。
どうして糞なんですか。
糞だとしたら使う開発環境は
VC++.NETよりもVC++6.0のほうがいいってことですよね。
0017デフォルトの名無しさんNGNG
>>13
Cライブラリ用とWinAPI用。
001813NGNG
>>17
サンクスコ!!
00198NGNG
>>10
ありがとうございます。
今までは怖くてOnInitDialogでわざわざもう一度設定し直して
たんですが、これで安心して直せます。
0020デフォルトの名無しさんNGNG
リストビューやツリービューの上などにバーみたいなのを作って
「×」ボタンを表示するにはどうやったらいいんでしょうか。
0021デフォルトの名無しさんNGNG
>>20
IEをSPY++で調
0022デフォルトの名無しさんNGNG
コンボボックスの動作がおかしいので解決方法をおしえてください。
猫でもわかるの18〜20章をやっているのですが、
http://www.kumei.ne.jp/c_lang/index_sdk.html
コンボボックスをクリックしてもドロップダウンリストが正しく表示されず、
小さな青いバーがすぐ下にでてくるだけで、文字が一切出てこないのです。
文字の代入が失敗しているのかとおもって以下の(WPARAM)ComboNoの部分を1にしてみたりしましたがきちんと代入はされているようです。
for ( i = 0; i <= 3; i++ )
SendMessage(GetDlgItem(hDlgWnd, IDC_COMBO1), CB_INSERTSTRING, (WPARAM)i, (LPARAM)combostr[i]);
SendMessage(GetDlgItem(hDlgWnd, IDC_COMBO1), CB_SETCURSEL, , 0L)
HPには乗っていないようですが、コンボボックスが押されたときの表示処理をなにか書かなければいけないのでしょうか?
それともリソースエディタに何か問題があるのでしょうか?

VC++6.0Sp5
0023デフォルトの名無しさんNGNG
>>22
コンボボックスのドロップダウンリストの高さが足りないだけ
0024デフォルトの名無しさんNGNG
>>22
リソースエディタで、コンボボックスの▼をクリックしてみなよ。下に伸ばせるようになる
002520NGNG
>>21
Spy使ってみたけどよく分からないです。ReBarがあるみたいだったけど。
SplitterWndを使っているので、CreateViewのあとに
m_wndFolderDB.Create(m_wndSplitter.GetPane(0,0), IDD_DIALOGBAR, CBRS_TOP, 1);
とかやってみたんですが、うまくいきませんでした。
002622NGNG
>23

>24

ありがとうございます。解決しました。
コンボボックスのプロパティばっかり見てました。
まさかマウスで下に伸ばすことができるとは・・・。
_| ̄|○

やっぱり何か本買っておいたほうがよさそう・・・。
0027デフォルトの名無しさんNGNG
WndProcはどこから呼び出しているのですか?GetMessage(&msg,NULL,0,0)、
TranslateMessage(&msg)、DispatchMessage(&msg)のどれかだと思うのですが。
0028デフォルトの名無しさんNGNG
>>22
MoveWindowとかでテキトーに伸ばしたら?
0029デフォルトの名無しさんNGNG
DIBSectionなんですけど、簡単なクラスにしてダブルバッファリングに使ってます。
bmpを読み込んで表示、ペンやブラシを使った描画なんかもとくに問題ありません。

それで今度、画像バッファのピクセルデータを直接弄って、バックバッファに
転送すると(BitBlt)、以前の画像のままでどこも変わっていません。
データを弄った後に、StretchDIBitsでbmpを画像バッファに転送してやり、それから
画像バッファからバックバッファにBitBltしてやるとうまく行きます。

まあ当然かな?とも思いますけど
弄ったデータ->画像バッファ->バックバッファ->画面DC
っていう流れは普通ですか?(バックバッファに直接書けと言うのはナシでお願いします)
0030デフォルトの名無しさんNGNG
指定したディレクトリ内のファイル名とサブディレクトリ名を表示させたいのですが

プロジェクトがこのソリューション構成で選択されていないため、このプロジェクトの構成はスキップされました。

GetFileSystemEntriesの引数照合がうまくいきません

というエラーが出てしまいます
現在、WIN32コンソールプロジェクトで作ってますが
どのプロジェクトを使った方がいいのでしょうか?
C++.NETを使ってます

どこが間違ってるんでしょうか?わかる方いらっしゃいましたらよろしくお願いします

#include "stdafx.h"
#include <afx.h>
#include <windows.h>

#using <mscorlib.dll>
using namespace System;


int _tmain(int argc, _TCHAR* argv[])
{
  char StrPath[255];//対象フォルダ用の文字列宣言
  char Str_Filename_Array[1024][255];   //ファイル名格納変数
  //対象フォルダパスの入力
  scanf("%s", StrPath);

  Str_Filename_Array[0]=Directory.GetFileSystemEntries(StrPath);
  printf("%s",Str_Filename_Array[0]);
}
0031デフォルトの名無しさんNGNG
以下のようなエラーが出ているのですがどうやって解決するかわかりません。

c:\〜\include\vector(132) : error C2036: 'struct Cab::_cab_token_t *' : サイズが定義されていません。

おそらくヘッダに問題があるのではないかと思うのですが、エラーの意味自体
ほとんど理解できずにいる状態で参っています。
まさかvectorいじれというわけではないでしょうが・・・

分かる方いらっしゃれば宜しくお願いします。
0032デフォルトの名無しさんNGNG
>>31
コンパイラ エラー C2036
'class-key' : サイズが定義されていません。
指定された識別子は宣言されずに、そのアドレスが使われました。
宣言されていないオブジェクトのサイズを使うことはできません。
次にこのエラーの例を示します。

struct A* pA;
struct B { int i; };
B* pB;
void main()
{
 pA++; // エラー、A のサイズは分かりません
 pB++; // OK, B は宣言されています
}

/////

つまりは、vecotr のテンプレート引数に渡した構造体の宣言が怪しいと思われ。
003330NGNG
WIN32コンソールプロジェクト.NETのプロジェクトで作成したら
プロジェクトがこのソリューション構成で選択されていないため、このプロジェクトの構成はスキップされました
というエラーは解消されたのですが

error C2065: 'Directory' : 定義されていない識別子です。
error C2228: '.GetFileSystemEntries' : 左側がクラス、構造体、共用体ではありません。

エラーが出てしまいます
解決策がありましたらよろしくお願いします
ソースは>>30のままです
0034デフォルトの名無しさんNGNG
初めてのプログラム板に流されてきました。
�@
もし
 A かつ B
ならば
 not B にして、C する

�A
もし
 A かつ not B
ならば
 B にして、C する

これを書けばこんな感じなのでしょうか?
if A and B then not B C
if A and not B then B C

�@�A両方を行いたいのですが、永遠にループしてしまいます。
そうではなく
 �@の場合は�Aを一度行って終わり。
 �Aの場合は�@を一度行って終わり。
このようにしたいのですがどうすればよいでしょうか?

どうぞよろしくお願いします。
0035_NGNG
http://homepage.mac.com/hiroyuki44/
0036デフォルトの名無しさんNGNG
(゚Д゚)
0037デフォルトの名無しさんNGNG
>>34
http://pc2.2ch.net/test/read.cgi/php/1056078605/112-
0038デフォルトの名無しさんNGNG
アプリケーションが起動して、メインウィンドウを表示するとき
ShowWindowに渡すフラグって、何にするのがいいの?

MFCのソース見ると SW_SHOWNORMAL 使ってるし、
>初めてウィンドウを表示するときには、このフラグを指定してください。
ってMDSNにも書いてあるが、じゃ SW_SHOWDEFAULT はいつ使うのかと。
SW_SHOWDEFAULT の方が行儀いい...?
0039デフォルトの名無しさんNGNG
Visual C++を買うと、Windowsのアイコンやビットマップファイルが手に入ってましたよね?
インストールしても見つかりませんが、どこにあるんでしょう。
単体VC++でなくて、MSDEVを買わないと無いのかな?
0040デフォルトの名無しさんNGNG
需要と供給のバランスが悪い。
0041デフォルトの名無しさんNGNG
■■■かわいそうな「ゲーム君」を2ちゃんの力でトップにしよう!■■■

HSPプログラムコンテスト2003オンライン投票
http://www.onionsoft.net/hsp/contest2003/entryn1.html

HSPプログラムコンテスト2003に一番乗りで出展したものの               
Windowsに標準でついてくるゲームを手軽に起動できるという(というかただのショートカットつめあわせ)
しょーもないプログラムでたたかれまくっているプログラミング暦3年(!)の高校生の
作品、ゲーム君をみんなの力で一位にしよう。              
【【【 投票方法 】】】            
http://www.onionsoft.net/hsp/contest2003/entryn1.html の一番下、エントリーNo8の「ゲーム君」
評価を「A」で選んでコメントを記入して「送信」(コメントいれるとなおよし)            
http://www.onionsoft.net/hsp/contest2003/eval/eval.cgi?md=cmt&id=8
でいままで送信されたコメントが見えるよ!(けっこう笑える)             
順位 http://www.onionsoft.net/hsp/contest2003/eval/eval.cgi            
0042デフォルトの名無しさんNGNG
あの、レジストリキーの名前の最大長ってどれくらいなんでしょうか。
RegEnumKeyEx()にバッファサイズがあるんですけど、何いれればいいのか
わかりません。
0043デフォルトの名無しさんNGNG
おながいします。m(__)m
GDI+を使うために最新のPlatformSDKをインストールしたのですが
VC6のインクルードファイルやライブラリファイルのディレクトリ
の優先順位先頭にそのPlatformSDKのフォルダを指定して良い
ものでしょうか?
というのが、現在の先頭はデフォルトのDeveloperStudioの
VCフォルダになっているのですが、その中のヘッダファイルと
同名のファイルがPlatformSDKにもあるもので。。。
ちなみにPlatformSDKのフォルダを最下位にすると、GDI+を使用
するときに、ULONG_PTRという型が無いといって叱られます。
BaseTsd.hというファイルがインクルードされているのですが
現在インクルードされているVCの方では型が宣言されていなくて
PlatformSDKのほうでは宣言されているようです。
長文しみません。。。
0044デフォルトの名無しさんNGNG
>>38
http://www.microsoft.com/JAPAN/developer/library/jpuipf/_win32_showwindow.htm

>>39
アプリケーションの追加と削除の、VC++のセットアップから追加・削除できる(ハズ)。
インストールしてるなら、VC++に関連するフォルダを死に物狂いで探すべし。

>>42
http://www.microsoft.com/japan/developer/library/jpwinpf/_win32_regenumkeyex.htm
http://www.microsoft.com/japan/developer/library/jpwinpf/_win32_regqueryinfokey.htm




…つーか、少しは調べようぜ……
…つーか、釣りじゃねぇよなぁ?
0045デフォルトの名無しさんNGNG
>>43
新SDKを、新規ディレクトリにインストールすると、そんな感じに困ったことになった気がする。
なもんで、そのとき私は、
新SDKの include と lib ディレクトリの内容を丸々
旧SDKの include と lib ディレクトリに上書きしてしまった。
とりあえずこれで問題なく動いてくれたと思う。

まぁやるんであれば、当然ながら
ファイルバックアップしてからやりなされ。
004638NGNG
>>44 ども。CWnd::ShowWindow() のほうだけ見てますた(;´Д`)
004743NGNG
>>45
レスありがとうございますm(__)m
やっぱり上書きするしかないですか。。。
既存のがあるのでコワいのですが、僕も
バックアップとってやってみますネ。
どうもです。。。


004842NGNG
>>44
ありがとうございます。
0049デフォルトの名無しさんNGNG
>43,>45
待て待て!別の場所にインストールしても
新SDKのinclude,libを最優先にすればそれでいいはずだぞ。

VisualC++付属のPlatform SDKは、あれは要するにVC++発売時点での
Platform SDKがオマケで付いてきてるだけなんだから。

新Platform SDKのヘッダと、VC++のMFCやATLのヘッダを一緒に
使ってうまくコンパイルできないようなことが希にあるが、
適当に対処するかMSに文句を言ってくれたまえ…。
0050デフォルトの名無しさんNGNG
>>40 同感。あまりに多すぎると順に片づける気力もなくなっちゃうぞ

>>34 どこかのスレに既に回答あり。これじゃいけないの?
if (A){ B= !B; C; }

>>27
Windows2000でMFCアプリを動かしたときのコールスタックの一部はこんな風になる。
AfxWndProcBaseがMFCのWindowProcだ。

AfxWndProcBase(HWND__ * 0x001303f6, unsigned int 273, unsigned int 32784, long 0) line 220 + 21 bytes
USER32! UserCallWinProc@20 + 24 bytes
USER32! DispatchMessageWorker@8 + 264 bytes
USER32! DispatchMessageA@4 + 11 bytes
CWinThread::PumpMessage() line 853

>>29
> それで今度、画像バッファのピクセルデータを直接弄って、バックバッファに
のあたりの言ってることが分からない…。
0051デフォルトの名無しさんNGNG
VisualC6で、F7を押すと変更の有無に関わらず
全ファイルがリビルドされるようになってしまいました。
元に戻す方法があれば教えてください!
0052デフォルトの名無しさんNGNG
>>51
日付設定がおかしくなってんじゃないの?
Windowsの設定と対象ファイルのタイムスタンプを確認しる
0053デフォルトの名無しさんNGNG
>>52
全くそのとおりでした。
ありがとうございました。
0054デフォルトの名無しさんNGNG
やっぱ探したけど、VC++単体だとアイコンやビットマップファイル無さそうです。
どこからか入手出来ないかな?
0055デフォルトの名無しさんNGNG
>>54
VC++単体は持ってないので分からないけど
もしかしてCD-ROMの方に収録されてるんじゃ?
0056デフォルトの名無しさんNGNG
>>54
C:\Program Files\Microsoft Visual Studio\Common\Graphics\Icons\Win95\
にあったけど。VCのCDを *.ico *.bmp で検索すれば出てくるんじゃないかな。

//俺は、そういうアイコンは ExtractIconEx() とか SHGetFileInfo() で
//OSの実行ファイルから直接アイコン取得して表示してるよ。
0057デフォルトの名無しさんNGNG
WinSockを使って非同期のネットワーク接続を
実現するプログラムをDLLで作りたいんですが、
どうしたらいいのかさっぱりです。
なにか参考にできるような資料はありますでしょうか?
わかりにくくてすみません。
0058デフォルトの名無しさんNGNG
>57

本屋行けばいいんじゃねーの?
0059デフォルトの名無しさんNGNG
VC++6.0のインテリセンス(メンバ自動表示)が働かなくなってしまったんですが、
どうやったら復活しますか?
「ツール」−「オプション」ではチェック入ってます。
0060デフォルトの名無しさんNGNG
>>59
プロジェクトの.ncbファイルを削除してリビルド
してみたら。
0061デフォルトの名無しさんNGNG
>>60
ありがとうございます。
出るようになりました。
0062デフォルトの名無しさんNGNG
>>57
・DLLの作り方を勉強する。(簡単なモノから作る)
・WinSockの本でネットワークにアクセスする勉強をする。

この二つを分けて勉強すれば辿り着く。ガンガレ!
言っとくがマジレスだ。
0063デフォルトの名無しさんNGNG
「かちゅ〜しゃ」のように、スプリッターウィンドウの中のビューを切り替えるには
どうすればいいのでしょうか?
0064デフォルトの名無しさんNGNG
#include <cmath>

int main(){
std::sqrt(1);
return 0;
}

このファイルをBorland C++でコンパイルするとエラーは出ないのに
Visual C++でコンパイルすると
error C2653: 'std' : 識別子がクラス名でも名前空間名でもありません。
というエラーが出てしまいます。
なぜなんでしょうか。
0065デフォルトの名無しさんNGNG
cmath.h

// cmath standard header

#if _MSC_VER > 1000
#pragma once
#endif

#ifndef _CMATH_
#define _CMATH_
#ifdef _STD_USING
#undef _STD_USING
#include <math.h>
#define _STD_USING
#else
#include <math.h>
#endif /* _STD_USING */
#endif /* _CMATH_ */

/*
* Copyright (c) 1994 by P.J. Plauger. ALL RIGHTS RESERVED.
* Consult your license regarding permissions and restrictions.
*/
006664NGNG
>>65
解決しました。
ありがとうございました。
0067デフォルトの名無しさんNGNG
画像の情報を生成して(ドットごとの色を指定して)
ビットマップで書き出したいのですが、参考書籍や
サイトでお勧めのものがあったら教えていただけませんか?
とりあえずぐぐってみたものの、有力なサイトは見つかりませんでした。

GUIメニューで画像の保存とかを選ぶのではなく、
プログラムを走らせたら勝手に書き出してくれるようなのを作りたいです。
0068デフォルトの名無しさんNGNG
>67
猫でもわかる〜のSDK第2章に載ってる罠
0069デフォルトの名無しさんNGNG
MFCを学ぶのに最適なページ知りませんか?
0070デフォルトの名無しさんNGNG
>69
ttp://www.yahoo.co.jp/
0071デフォルトの名無しさんNGNG
>>69
http://www.mfckitty.org/
0072デフォルトの名無しさんNGNG
  r‐-‐- ⌒ヽ
  | | | ||  i i'^i
  h_,|_,|_,ノ( ノ|/ |
 | ``".´ ´"  ノ
 人  入_ /~
 |     /
 |    |
 |    ';      ,,----、,,,,,,,,,、、
 |    ';     / ,,-‐―、ヽヽヽヽ
 |    |    〔/     ))))ヾヽヽ
 |    ト   /.,,,,、、 ,ヽξ\Ξ/
 |    \   / ==/  .,==-   レi!
 ヽ     |\〔、 ,(_,、ノ( "",,ノ:: 6)  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ';    ノ  λ:" ‐=‐^ン ...::::: |/  < さいたま〜!(@w荒
  ト   ノ   λ:::::. .::.. ::...::::::/     \__________
   \ ̄     \::::::::::::::// ._
    \      \__/   `ヽ
      |                \
      |      / ̄ヽ        ヽ
      |     HardRock     ヽ i
      |      ヽ_/        |  ヽ     / さ、さいたま〜!! /
0073デフォルトの名無しさんNGNG
>>64
おれは、stdは省略して「::」だけでやってる。
これだとVC++でも、BC++でも、コンパイル通る。

ちなみに、ほんとにノーマルのBC++?
CompilerとかBuilderとか後ろに付くやつじゃなくて?
0074名無し@沢村NGNG
おまいら、くだらん質問する前に少しは調べろ。
http://www.codeproject.com/
0075.NGNG
質問です。

表示後に、「閉じる」ボタンで非表示にしたモードレスダイアログが再表示できなくて困ってます。
ShowWindow(SW_SHOW)で再表示しようとすると、ウインドウハンドルがないといって怒られます。

ShowWindow(SW_HIDE) ⇔ ShowWindow(SW_SHOW)
の切り替えをするときに、ほかに何かしなければならないのでしょうか?

MainFrmにて
m_pCDialog = new CDialog(CWnd::GetDesktopWindow());
if (m_pCDialog->GetSafeHwnd() == NULL)
{
  m_pCDialog->Create();
  m_pCDialog->MoveWindow(0, 0, 90, 90, TRUE);
  m_pCDialog->SetImageNum((unsigned int)pDC->m_uiNumCameras);
  for (unsigned int i = 0; i < pDC->m_uiNum; i++)
  {
    m_pCDialog->Set(i, pDC->a.GetInfo(i), pDC->a.GetBuffer(i));
  }
  m_pCDialog->ShowWindow(SW_SHOW);
}

CDialogにて
CDialog::OnHide()
{
  ShowWindow(SW_HIDE);
}

としています。
0076名無し@沢村NGNG
>>75
そりゃあ「閉じる」ボタンを押した後にDestroyWindow()が呼び出されているんでしょうなあ。
0077貧乏脱出!これであなたはお金持ちNGNG
普通に働いてお金持ちになれるのは全体の1%のみって本当!?
本当にお金持ちになるにはやはり「副収入」が必要!
一日30分 おうちでコピペ、コピペ!
嘘だと思うんならランキング見てみてくださいよ↓↓
(直リン不可)
http://www.adultshoping.com/addclickport.cgi?pid=1053353765(直リン不可)

...../////
0078デフォルトの名無しさんNGNG
>>75
>MainFrmにて
>m_pCDialog = new CDialog(CWnd::GetDesktopWindow());
>if (m_pCDialog->GetSafeHwnd() == NULL)
この辺のコードはMainFrmのどこに入ってんの?
0079.NGNG
ありがとうございます。

>>76
DestroyWindow()を呼び出している覚えはないんですが、
どこか裏で呼び出されているってことでしょうか?

>>78
えーっと、このダイアログを呼び出すためにつくったボタンのイベントハンドラの中で呼んでます。
はじめMainFrmのコンストラクタで呼んで、親(MainFrm)のウインドウハンドラ
をダイアログに渡そうと思ったんですが、うまくいかなかったので...
その後、MainFrmを前面に出したくなったので、デスクトップのウインドウハンドラを渡してますが。

どのタイミングでダイアログのインスタンスを作っていいのかいまいちよくわかってません。
0080デフォルトの名無しさんNGNG
http://book-i.net/ad02/
0081デフォルトの名無しさんNGNG
>>79
・「CDialog」の部分は、本当は違う名前という理解でOK?
・DoModal()してないので、DestroyWindow()は呼ばれてないと思う。
・「ウインドウハンドラ」ではなく「ウインドウハンドル」
・再表示させるときの ShowWindow(SW_SHOW) はどんな風に呼んでるの?
0082デフォルトの名無しさんNGNG
>ShowWindow(SW_SHOW)で再表示しようとすると、ウインドウハンドルが
>ないといって怒られます。

一番大事なこの部分のコードとエラーメッセージを書いてくれないとな
0083デフォルトの名無しさんNGNG
>>79
Dialog::OnCloseに掛。
0084デフォルトの名無しさんNGNG
>>79
>このダイアログを呼び出すためにつくったボタンのイベントハンドラ
m_pCDialog という名前から察するに、CDialogクラス(あるいはそれを継承したクラス)のポインタが
CMainFrameのメンバ変数として宣言されていると思うけど……
イベントハンドラが2回以上呼び出された場合の処理は?
どこかでdeleteしてる?
0085.NGNG
>>81
>・「CDialog」の部分は、本当は違う名前という理解でOK?
OKです。
>・DoModal()してないので、DestroyWindow()は呼ばれてないと思う。
なるほど
>・「ウインドウハンドラ」ではなく「ウインドウハンドル」
失礼しました。
>・再表示させるときの ShowWindow(SW_SHOW) はどんな風に
こんな感じです。

if (!m_pCalibDialog->IsWindowVisible())
{
  m_pCDialog->ShowWindow(SW_SHOW);
}

ちなみに、閉じるボタンのところで、
ShowWindow(SW_HIDE);
Sleep(1000);
ShowWindow(SW_SHOW);

とやっても、再表示されませんでした。


>>79
Dialog::OnClose()だと特別な処理かなにかがされるのでしょうか?
プログラム実行中はダイアログは1つだけを表示、非表示にしてつかいたいので
Destroyはしたくないのですが。

>>84
上のように、唯一のダイアログを使いたいので、MainFrmのデストラクタでのみdeleteしてます。
0086_NGNG
http://homepage.mac.com/hiroyuki44/jaz04.html
008781NGNG
>>85
んー、問題ないように見えるけどねぇ

やっぱ、変なとこで DestroyWindow()してんのかな。
そこから攻めたほうがいいかも。

>ちなみに、閉じるボタンのところで、
>ShowWindow(SW_HIDE);
>Sleep(1000);
>ShowWindow(SW_SHOW);
うちではできたがなぁ。
0088デフォルトの名無しさんNGNG
>>85
唯一のダイアログということだけど、

>>79
>どのタイミングでダイアログのインスタンスを作っていいのかいまいちよくわかってません。
作るのはメインフレームのOnCreateでいいんじゃないかい?

ボタンのイベントハンドラで
>m_pCDialog = new CDialog(CWnd::GetDesktopWindow());
なんて書いたらメモリリークが激しく起こりそうな予感。
ちゃんとポインタを初期化してチェックもしてれば別だけど。
0089.NGNG
>>87 ほかの方々
おかげさまで、少し進展しました。
CDialog の OnShowWindow() で CDialog の上に乗せるタブコントロールを
Create() していたのがまずかったようです。
お騒がせしました。

>>88
確かにメモリリークは起こりそうなのですが、上でも述べましたように、
MainFrmのコンストラクタで new CDialog(this) すると、怒られる現象に悩まされていて、
このようにしているわけでして。
でも、おっしゃるとおり、チェックしなければならないのでめんどうそうですね。

セオリーとしては new CDialog() はどこでするべきなんでしょうか?
0090デフォルトの名無しさんNGNG
>>89
OnCreate()
0091デフォルトの名無しさんNGNG
>MainFrmのコンストラクタで new CDialog(this) すると、怒られる現象

コンストラクタの段階ではメインウィンドウができてないので当然 this->m_hWnd
は NULLとなり、怒られる
0092.NGNG
>>90
>>91
他みなさま、ありがとうございます。
あとは、何とかやってみようと思います。

0093デフォルトの名無しさんNGNG
VC++6 です。
CArchive& ar があって、

 while (ar.ReadString(buf)) {
  TRACE("%s\n", buf);
 }

とかやっているのですが、ファイルの内容が表示される途中で、

 CArchive exception; EndOfFile.

とか表示されます。実際のファイルに EOF が入っているとかはないです。
try/catch を入れてみても catch できません。

exception が表示される原因は何なのでしょう?
009493NGNG
age ます……
0095デフォルトの名無しさんNGNG
VC++.NETです(フォームアプリケーション)
今、読み込んだテキストファイルを文字コードや改行コードの変換
プログラムを作っているのですが

'型キャスト' : 'System::String __gc *' から 'const char *' に変換できません。
というエラーが出てしまい困っています
コード変換の為にfopenは欠かせないのでキャストが出来ないで困ってます
char型にキャストできる方法はありますでしょうか?

//ファイルダイアログボタンを押した時
private: System::Void button2_Click(System::Object * sender, System::EventArgs * e)
{
if(openFileDialog1->ShowDialog() == DialogResult::OK)
{
System::IO::StreamReader * sr = new
System::IO::StreamReader(openFileDialog1->FileName);
textBox1->Text=(sr->ReadToEnd());
label1->Text=openFileDialog1->FileName;

FILE *in_fp;
in_fp=fopen((const char *)openFileDialog1->FileName,"r");

sr->Close();
}

}
0096デフォルトの名無しさんNGNG
ウインドウのボーダー、メニューバー、タイトルバーのサイズはどうやって求めれるでしょうか?
ウインドウのリサイズの時に困ってます。

横 描画領域+ボーダーx2
縦 描画領域+ボーダーx2+メニューバー+タイトルバー

と考えて、SetWindowPosでやろうとしているのですが、他に効率のいい事があればお願いします。
0097デフォルトの名無しさんNGNG
>>96 AdjustWindowRect
0098デフォルトの名無しさんNGNG
スレッド同士で何かしらの同期を取る一般的な方法ってどんな方法でしょうか?
0099デフォルトの名無しさんNGNG
イベント、ミューテックス、クリティカルセクション、セマフォ
0100デフォルトの名無しさんNGNG
セマフォ
0101デフォルトの名無しさんNGNG
イベント、ミューテックス、クリティカルセクション、セマフォ
の内どれを使うかはMSDN読んでちょ
0102名無し@沢村NGNG
>>96
CScrollView::ResizeParentToFit()
0103デフォルトの名無しさんNGNG
>>98 グローバル変数(w
0104デフォルトの名無しさんNGNG
>>96
GetSystemMetrics()見れ
0105デフォルトの名無しさんNGNG
>>93
LPTSTR ReadString( LPTSTR lpsz, UINT nMax );
throw( CArchiveException );

ってあったけど、サイズ指定する必要あるのでは?

Bool ReadString(CString& rString );を通ってないって事だと思う
0106デフォルトの名無しさんNGNG
スレッドの終了の仕方を教えてください。
ThreadFile(){
while(bflag!=1){・・・・・・
}
return 0;
}

ThreadEnd(){
bflag=1;
CloseHandle(hThread);
・・・・・・
}

※bflagはグローバル変数です。
このような感じで、終了させているのですがデバックしたところCloseHandle(hThread);の部分で例外処理が起きてしまいました。
解決方法をご教授していただけると幸いです。

0107デフォルトの名無しさんNGNG
>>106
スレッドが実際終了したのかを確認せんとね。
WaitForSingleObject辺りを調べてみたら?
0108デフォルトの名無しさんNGNG
CloseHandle の時の hTreadの値調べたいいんじゃない? NULLとかになってない?
0109デフォルトの名無しさんNGNG
プログラム内での値をEXCELのファイルに書き出すこと
はできるのでしょうか。

例えば変数の変化していく値をEXCELの各セルに書き出したいのです。
とても難しいでしょうか。
0110デフォルトの名無しさんNGNG
>>109
DDE使えば出来る。
・・・・・・・・・今更DDEもないかな・・・・・・・。
0111デフォルトの名無しさんNGNG
>>109
オートメーション
0112デフォルトの名無しさんNGNG
>>111
すいません。
オートメーションってなんでしょうか。
0113デフォルトの名無しさんNGNG
>>112
初心じゃ無理、COMとOLEの知識が要る
0114デフォルトの名無しさんNGNG
>>113
そうですか・・・
ありがとうございます。
テキストファイルの書き出しで我慢します。
0115デフォルトの名無しさんNGNG
>>107
>>108
ありがとうございました。
その辺をもう一度調べてみます。
0116デフォルトの名無しさんNGNG
>>109
私はヘタレなのでコンマで区切ってテキスト出力して、
EXCELにCSVとして読み込ませてました。

数値と文字列だけならこの方が楽なので
0117デフォルトの名無しさんNGNG
>>116
別にヘタレでもないと思うよ。
0118デフォルトの名無しさんNGNG
>>117 同感。

VC++.NETについて質問です。

方向キーなどのシステムキーの受け取り方がわからないです。ダイアログボックスにメッセージ
OnSysKeyDown() ( WM_SYSKEYDOWN ) を定義しても、システムキーを受け取ってくれない
のです。
HELPを見ると、「WM_SYSKEYDOWN」メッセージは「ALTキー + ??」に使われてしまっているようです。



0119118NGNG
VC++6.0は、OnSysKeyDownでシステムキーを受け取ることができたはずですが・・。

よろしくおねがいします。
0120デフォルトの名無しさんNGNG
方向キーはOnKeyDownじゃなかった?
0121118NGNG
>>120
OnKeyDownも駄目でした・・・。
0122デフォルトの名無しさんNGNG
>>118
ダイアログじゃなくて、ダイアログ内でフォーカスをもっているコントロールのWM_KEYDOWNが呼ばれてるはず
0123デフォルトの名無しさんNGNG
PreTranslateMessage内でWM_KEYDOWNを監視かな
0124118NGNG
>>123
PreTranslateMessageを使ってみたら、うまくいきました。

どうも、ありがとうございます。
0125デフォルトの名無しさんNGNG
リソースのストリングテーブルって、何か「セグメント」っちゅーのがあって、
16個単位でロードされるのでメモリ節約云々てMSDNに書いてあるけど、要する
にリソースIDを

#define IDS_STRING_A1 1000
#define IDS_STRING_A2 1001
#define IDS_STRING_A3 1002
#define IDS_STRING_B1 1016
#define IDS_STRING_B2 1017
#define IDS_STRING_C1 1032

こんな風に16単位で使う場面ごとにグループ分けしとけばいいってことでつか?
0126125NGNG
それとも先頭からIDが連番かどうかに関係無く16個まとめて(上の例では先頭の
1000から16個無いので、結局全部)ロードされるのでしょうか?
0127  NGNG
スタティックライブラリを作ったのだけど、その後がよくわかりません。

ライブラリ用のヘッダファイルは
ツール→ オプション→ディレクトリ→インクルードファイル
にあるパスに置いとけば#include<>で読み込まれるけどlibファイルは
ツール→ オプション→ディレクトリ→ライブラリファイル
にあるパスに置いとくだけじゃ駄目なの?
プロジェクト→プロジェクトへ追加→ファイル
でlibを追加すればコンパイルできるけどCの標準ライブラリはそんなことしなくても使えるのは何故?
自分のライブラリもヘッダファイルをインクルードするだけで使えるようななりたい。
そしてデバック用とリリース用を使い分けないと警告が出るんだけどCの標準ライブラリはどのように自動的に選択されてるの?
またstdio.libとかstring.libとか見つからないけどどっかにあるの?
0128デフォルトの名無しさんNGNG
プロジェクトー設定ーリンク のオブジェクト/ライブラリモジュール 
012995NGNG
やっぱりキャストは無理なんでしょうかね・・・
string* ならキャストが出来たのですが
肝心のchar型できません・・・
0130127NGNG
>>128
ありがとう。確かにそこにライブラリ名を追加するとできた。
でも同じ名前のデバッグ用とリリース用のスタティックライブラリを同一パスに置けないから
片方の名前を少し変えるしかないね。違うパスにおいても片方がいつも優先されるから。
ヘッダファイルとライブラリの名前は違ってても大丈夫だった。
Cの標準ライブラリもこういうふうになってるのかな?
0131デフォルトの名無しさんNGNG
>>127
printfとかが入っているのはlibc.libでは。
0132127NGNG
>>131
ありがとう。ヘッダと名前が違ってもいいんだね。ライブラリは。
0133名無し@沢村NGNG
>>127
ヌヒよ、ヘッダファイルに

#ifdef _DEBUG
#pragma comment(lib, "aho.lib")
#else
#pragma comment(lib, "baka.lib")
#endif

と書いておけ。
0134デフォルトの名無しさんNGNG
>>129
CStringは使っちゃだめなの?
System::String_gcが何かわからん
0135デフォルトの名無しさんNGNG
>>134
分からないなら答えるなよ
0136 NGNG
>>133
ありがとう。ヘッダのインクルードだけでリンクできたよ。
#pragmaは見たことあったけどどんな意味か調べたことなかった。役に立つね。

0137名無し@沢村NGNG
>>95
System::String::CopyTo()でwchar_tの配列へ文字列をコピーする。
fopen()の代わりに_wfopen()を使う。

これでどうだ? 出来るかどうか知らないが。
0138109NGNG
>>116
すいません。詳しく教えてくださいませんか。
なんとかして使えるようになりたいんです。
0139デフォルトの名無しさんNGNG
>>138
単純に数値なり文字列なりをカンマで区切って書いていくだけ。

例えば、

1234,ああああ,abcd

なら、A1に1234、B1にああああ、C1にabcdが入るって感じ。
改行を入れればエクセル上でも次の行になる。
セル間を抜きたければ,,とすればいい。
0140デフォルトの名無しさんNGNG
>>139
なんどもすいません。
CSVというのがよくわからなくて。。。
何か例を書いていただけるとありがたいのですが。

出力できるまでのプログラムを書いてくれるとうれしいです。
0141デフォルトの名無しさんNGNG
>>140
甘えるなボケ
CSVくらい検索しろ
0142デフォルトの名無しさんNGNG
>>140
EXCELでファイル保存するときにファイルの種類をCSVにして、
それをメモ帳か何かで見てみるとどんな風に成ってるか
分かりますよ
0143デフォルトの名無しさんNGNG
>>142
甘えてました。調べてみます。すいません。レスを汚して
0144デフォルトの名無しさんNGNG
>>140
CSVってのはカンマ区切りのテキストファイルだから例を挙げるまでも無いっしょ。
>>139に書いてあるような感じだよ。

1234,ああああ,abcd
2345,いいいい,bcde
3456,うううう,cdef
4567,ええええ,defg

みたいな。ファイルのopen,read,write,closeが解らないなら正直論外。
まずそこから勉強しる。
0145デフォルトの名無しさんNGNG
CSVファイルの読み込みでできました。
ありがとうございます。
0146デフォルトの名無しさんNGNG
CSVの処理は一見むちゃくちゃ簡単そうだけど、
文字列にカンマや制御コードやダブルコーテーションが入っている時の処理があるから
意外と奥が深いんだよな。とくにCSVの解析。
0147デフォルトの名無しさんNGNG
Excelならタブ区切りの方がシンプルかもね
0148デフォルトの名無しさんNGNG
Win32アプリで、標準Cのprintfの文字列が指定した桁より小さかったら、
スペースで埋める、-だったら、左寄せにするみたいなこと出来ますか?
やり方を教えてください。
0149_NGNG
http://homepage.mac.com/hiroyuki44/hankaku02.html
0150デフォルトの名無しさんNGNG
>>148
printf使えば?
ウインドウとかに表示するならsprintfで文字列作って表示。
もしくはCStringのFormat()。
015195NGNG
>>137
char g[100];
System::String::CopyTo(0,g,100,openFileDialog1->FileName->Length);

FILE *in_fp;
in_fp=_wfopen(g,"r");

これでやってみましたが
2 番目の引数を 'char [100]' から '__wchar_t __gc[]' に変換できません。
__gc 配列と Object * または Array * 間でのみ変換できます。

というエラーが出て出来ませんでした・・
CopyToの使い方が間違ってるのかな?
0152デフォルトの名無しさんNGNG
>>150
できました。ありがとうございました。
0153デフォルトの名無しさんNGNG
1つのプログラムの1セット全部(exe,cpp,dsw等)をCDを介して別のパソにコピーし、
dswを開いた所、ClassView情報ファイルにアクセスできませんと出て、また
ビルドした所、プログラム データベース '\debug\vc60.pdb' を開けません、とでました。
そこで、Debugフォルダの中の全てのファイルを消して、再度ビルドした所
できました。ただ、関数名を書いて(を書いた時に出てくる仮引数リストが出なく
なり、また、上の所の関数一覧表も表示されなくなりました。解決方法を教えて
ください。
0154デフォルトの名無しさんNGNG
>CDを介して別のパソにコピーし、
実はリードオンリ属性がついたままという落ちではあるまいな
0155デフォルトの名無しさんNGNG
>>154
そういう落ちになってしまいました。

一度消してしまうと、関数名を書いて(を書いた時に出てくる仮引数リスト
が出なくなり、また、上の所の関数一覧表も表示されなくなると言うのは
もう復活できないんですか?あと、この現象は、ソースをコピーしてビルド
した時などにも起こることがあります。
0156153NGNG
初めの二つの問題は、ドラッグ→プロパティで一気に属性を変える事で
解決できました。また、後の二つの問題も同じ方法で解決できたのですが、
一度消してしまったので、だめになってしまったようです。

ユーザー関数があるという認識(仮引数-型-名前表示、ウイザードバーの表示)
を更新させるには、まず、ヘッダーファイルがあると認識されてなければ
ならないようです。新規にヘッダーファイルを作って、コピーする事で
その瞬間に、全てのユーザー関数が一度に認識されました。

ここでの認識されていないというのは、ビルド等は普通に行なえるが、
便利な機能が使えなくなっているということです。

認識されなくなったヘッダーファイルを認識させる方法があるなら教えてください。
0157デフォルトの名無しさんNGNG
wstring ws = L"あ";

ws.c_str()が返してくれるのは、ASCIIでしょうか、ウニコードでしょうか。
0158_NGNG
http://homepage.mac.com/hiroyuki44/hankaku02.html
0159デフォルトの名無しさんNGNG
>>155
clwファイルやncbファイルを消す
0160デフォルトの名無しさんNGNG
CPUの周波数によって表示を変えたり
メモリーの容量で表示を変えたり
HDDの容量で表示変えたり
OSによって表示変えたり実行できるOS制限したり

できませんか?  
0161デフォルトの名無しさんNGNG
できますが、マルチなので教えません。
0162デフォルトの名無しさんNGNG
どうやって?
0163デフォルトの名無しさんNGNG
>>157
うに
0164デフォルトの名無しさんNGNG
>>163
うにはねーべ
ユニだろ
0165153NGNG
ncbは消してもダメでした。clwはありませんでした。用語的には、
ウィザードバーはこのファイルをトラッキングしていないと言うみたいです。
0166無料動画直リンNGNG
http://homepage.mac.com/miku24/
0167デフォルトの名無しさんNGNG
>>165
>clwはありませんでした
じゃ作れよ
0168153NGNG
>>167
作るもんなんですか?ncbとかoptみたいに勝手に作られるタイプのものだと
思っていました。ただ、考えてみると、無いという事は消す必要が無いと
いう事で、作る必要も無いと思うのですが。どういうものなんですか?
0169名無し@沢村NGNG
>>151
ヌヒよ、managed C++ の基本を勉強したほうがいいんじゃないのか?
そういう俺も使ったことはないんだが。

String* s = openFileDialog1->FileName;

__wchar_t g = __gc new __wchar_t[s->Length + 1];
s->CopyTo(0, g, 0, s->Length);
g[s->Length] = L'\0';

FILE* in_fp = _wfopen(g, L"r");

こんな感じでどうだ?
MSDNライブラリ見ながら適当に書いてみたが。
0170デフォルトの名無しさんNGNG
初心者です。
「USB接続されている全デバイスの取得」や
「USB接続されているCF」を検索出来るような
APIってありますか?
宜しくお願いします。
017120NGNG
だれか(;´Д⊂)
0172デフォルトでない名無しさんNGNG
>>171
Spy++でExplorerを見る位しましょう。
017320NGNG
>>172
>>25
0174デフォルトの名無しさんNGNG
WTLのCPaneContainer/CPaneContainerImplを調べれ。
017520NGNG
>>174
ありがとうございます。早速調べてみます。
0176153NGNG
できました。
プロジェクト→プロジェクトへ追加→ファイル→ファイルを選んでOKをクリック
です。複数を一度に行ないたい場合は、ドラッグしてOKをクリックでできます。
お答えいただいた方、ありがとうございました。
0177デフォルトの名無しさんNGNG
エディットボックスやボタンを作ったんですけど
そのボタンをもう使わないからDELETEで消すとエラーが現れます。
そのボタンに関連のある変数を全て消してもエラーが出ることがあります。

使わないボタンを消すにはどうやって削除するといいんでしょうか。
今は可視ボタンを無効にして見えなくしてます。
0178デフォルトの名無しさんNGNG
>>177
手動
Delphiなら自動なんだけどね
0179デフォルトの名無しさんNGNG
またDel厨が出てきた。ウザイ。
0180デフォルトの名無しさんNGNG
>>178
糞レスすんな。ハゲ。

>>177
どんなエラーか書かないと答えようがない。
0181デフォルトの名無しさんNGNG
>>177
クラスウィザードから消そうよ。
0182デフォルトの名無しさんNGNG
>>178
ほんとにウサイなDel房。
0183デフォルトの名無しさんNGNG
>>181
消せないだろ?
手動で消せって警告でてくるのに

確認したのはVC6だけど
0184デフォルトの名無しさんNGNG
変数しか消してないのか。ボタンのハンドラや他の関連するコードは消してないのか。
0185デフォルトの名無しさんNGNG
C#なら楽なのに(激藁
0186デフォルトの名無しさんNGNG
>>185
糞レスすんな。ハゲ。
0187デフォルトの名無しさんNGNG
MFCを使ってソースを書いている場合にスレッドを作るときはCreatThreadで作ると終了時に例外処理は出やすくなるんですか?
ダイアログを終了させたときに例外処理が出てしまいます。
教えていただけるとうれしいです。
0188デフォルトの名無しさんNGNG
>>187
関係ないと思われ。複数のスレッドから同時にオブジェクトを操作する
場合には非MFC時同様の注意が必要。
0189デフォルトの名無しさんNGNG
>>187
Sleep等を入れると直ったりする。
0190デフォルトの名無しさんNGNG
VS.NETで、windows.hをインクルードしてるのに
WS_EX_LAYERED
が、定義されてないってでるのは何でだろう

マウスをかざしたらインテリセンスが働いてちゃんとでてるのに
0191名無し@沢村NGNG
>>190
_WIN32_WINNT を正しく定義していないから。
0192デフォルトの名無しさんNGNG
>191
_WIN32_WINNTでぐぐったら猫でもわかるがヒットしました
基本中の基本だったんですね、すみません
01936NGNG
プログラミングをやってみたいと思い、visualc++.netを買ったんですが
C言語の知識がない為、使い方がわからない状態です。参考本というのも
.netに関して殆どなく、amazonで評判の良かった"やってトライ"を買った
のです初めからプログラミングされているサンプルを書き換えて行くともの
ばかりで、中途半端にしか理解出来ない状態です。
質問は二つなのですが、c++.netを使う上でC++6.0やC#の本は初心者に参
考になるでしょうか?0からプログラミングを組んで行く過程を載せている
ような参考書はないものでしょうか?
0194デフォルトの名無しさんNGNG
>>6
0からプログラミングを組んで行く過程を載せている
ような参考書はないものでしょうか?

Cからやれ・・・
非常に地味に感じるかもしれないけど。
そんなに回り道ではない
0195デフォルトの名無しさんNGNG
>>6(>>193)
>>194 氏の言うと通り、CやC++の基本の部分からやってみれ。
以外にも重要で、Win32プログラムを作る上でも、MFC使っていても
基本は使っていくもの。
それから「猫でもわかる」で、最初からやっていくのも手。
0196デフォルトの名無しさんNGNG
金をどぶに捨てかけた>>193に乾杯
0197デフォルトの名無しさんNGNG
むしろ>>193はw(略
0198デフォルトの名無しさんNGNG
しっかしよくわからないものをよく買う気になるよなぁ
0199デフォルトの名無しさんNGNG
「金をだしたら、モトをとるため意欲が出る」というヨタ話でも
真に受けたんではないか?
0200デフォルトの名無しさんNGNG
金をどぶに捨てた>>193は完敗
0201デフォルトの名無しさんNGNG
>>196-200←貧乏人
0202デフォルトの名無しさんNGNG
おれもc++.netってただのC++6.0の次のバージョンだとおもってたw
0203デフォルトの名無しさんNGNG
>>202
え?違うの?
02046NGNG
>>195「猫でもわかる」ですか。探してみます。
>>194,202,203
CとC++が同じ物だと思っていたのですよ。実際今でも違いがわかりませんが
C++.NET以外の参考書がc++.netに通用するかどうかが怖い所です。
>>196,197,200,201 お褒めの言葉どうも。(.ー.)
金をどぶに捨てるつもりはないんですがね・・・。
近い将来どうしても使わなくてはならないのです。
0205デフォルトの名無しさんNGNG
いまどき通じるのか知らんが
C++の書籍=グラマー
VC++の書籍=リーダー

あと一緒だろうとたかをくくってボーランド系の本を買う儀式が
あなたを待っています
0206デフォルトの名無しさんNGNG
★★★★★★★★★★★★★★★★★★★★

もうたまりません!!(・∀・)
(;´Д`)ハァハァ(;´Д`)ハァハァ
↓↓↓↓↓↓↓↓↓↓
http://www12.ocn.ne.jp/~sihori/adaruto1.htm

★★★★★★★★★★★★★★★★★★★★
0207デフォルトの名無しさんNGNG
Cstring型に入っているshift_jis文字列をunicodeに変換する簡単な方法ってありますか?
0208デフォルトの名無しさんNGNG
VC++でMFCの関数や使い方が乗っている詳しい本知りませんか?
0209デフォルトの名無しさんNGNG
すいません、C++で生成されたクラスインスタンスの解放について質問があります。
以下のコード中の"※"が付いたコメント部分について、いったいどちらが正しいのでしょうか。

void test()
{
 int i,cnt;

 cnt = 3;

 // この↓クラスは定義/実装済みとして...
 TestClass *arrCls;
 arrCls = (TestClass*)malloc(sizeof(TestClass)*cnt);

 // こんな初期化はいらない?
 for(i=0;i<cnt;i++) arrCls[i] = *(new TestClass());

 arrCls[0].doSomething();

 // ※ 下でメモリをfreeにするなら、個別にdeleteはいらない?
 for(i=0;i<cnt;i++) delete &arrCls2[i];

 // ※ 上で個別にdeleteするなら、ここでfreeはいらない?
 free(arrCls2);

}
0210デフォルトの名無しさんNGNG
メモリは動的に確保した分だけ解放しなければならない。

その前にvectorなりCArrayなり使ったほうが。
0211209NGNG
>>210
ありがとうございます。で、その解放の方法について、知りたいんです。
>>209 のソースのように、mallocでメモリを確保して、そこで個別にnewしている場合、
delete するべきなのか、それとも freeで終わっていいのか、と悩んでいます。

> その前にvectorなりCArrayなり使ったほうが。
すいません、勉強(基礎固め)中なので、あえてこんな事しています(苦笑
0212デフォルトの名無しさんNGNG
> for(i=0;i<cnt;i++) arrCls[i] = *(new TestClass());
これは、newしたインスタンスのコピーするわけで、
newした分がリークする。リークするので、deleteの
しようがない。

どーしてもmallocでいくなら、placement newを使うこと。
0213名無し@沢村NGNG
>>207
CStringW(LPCSTR)
0214209NGNG
>>212
すいません。気づきませんでした。
>>209のソースだと、deleteされるのは、コピーされた方ですね。

> どーしてもmallocでいくなら、placement newを使うこと。
..なるほど。..っていうか"placement new"の意味がわからないので、
ちょっと調べてみます。ありがとうございました。
0215デフォルトの名無しさんNGNG
自分全く知識が無いんですが
まず何を見て勉強すればいいんでしょうか。
検索しても何が何やら・・・
本買った方がいいですかね?
0216デフォルトの名無しさんNGNG
>>215
何がしたいの?趣味?仕事?
0217デフォルトの名無しさんNGNG
>>215
付属品一通り目を通せ
0218デフォルトの名無しさんNGNG
>>215
何のために買ったのですか?
0219デフォルトの名無しさんNGNG
まぁ何も知らない人がVCを買っても、
VCをVCとして意味のある使い方が出来るまで数ヶ月〜数年かかるわな。
0220デフォルトの名無しさんNGNG
ちょっと(不?)便利なエディタを買いました
ぐらいの認識を脱する頃には次のバージョンの告知がきてますた
BCCからはじめろっていうのはあながち間違ってないかも
0221デフォルトの名無しさんNGNG
>>215
まず猫に逝け!
使い方が分からんの何にもならんからな。
0222デフォルトの名無しさんNGNG
パッケージ品を買えば物事が解決すると思ってるんだろうな・・・
0223デフォルトの名無しさんNGNG
べつに
0224デフォルトの名無しさんNGNG
その点、割れ厨は有料無料どころか英語だろうが有効な情報を探すのに余念がないぞ
ページ単位で雑誌のスキャン画像が出回ってるのには驚いた
犯罪だけど熱心さだけは大したもんだよ
0225デフォルトの名無しさんNGNG
コマンドラインアプリケーションを作っているのですが、
セットアップしたらPATH環境変数も設定されている状態に
したいのです。

セットアッププロジェクトでインストールフォルダの
パスをシステムのPATH環境変数に自動登録する方法が
分かりません。

どなたか、お教え下さい。
0226デフォルトの名無しさんNGNG
>>225
ttp://forums.belution.com/ja/vc/000/053/01s.shtml
0227デフォルトの名無しさんNGNG
コンボボックスの扱い方について質問です。
コンボボックスをダイアログに挿入し、変数のタイプをCComboBox、カテゴリをコントロールに設定し、
後は何も手を加えずに実行したところ例外処理が出てしまいました。
なぜでしょうか?
どう対処すればよいか教えてください。
0228デフォルトの名無しさんNGNG
>>226
ありがとうございます。
これでうまくいくかと思ったのですが、
セットアッププロジェクトは環境変数を
変更(置き換え)してしまいます。
PATH変数の現在の値とインストール先の
フォルダのパスをマージするにはどうしたら
良いのでしょう?

0229デフォルトの名無しさんNGNG
現在の値 + ";" + フォルダのパス を書き込め!
0230デフォルトの名無しさんNGNG
>>229
セットアッププログラムなので、現在の値自身は
分からないのです。現在の値を取れるかと思い、
%path%を書いてみたのですが、レジストリに
%path%と書かれてしまって、登録前の値を取り出す
ことができませんでした。
0231デフォルトの名無しさんNGNG
>>213
ありがとうございました
早速試してみます
0232デフォルトの名無しさんNGNG
>>213
検索したらMSDNサイトに引っかかりました
これからは自分でもっと調べます
余計な手間かけてすみませんでした
0233デフォルトの名無しさんNGNG
すいません。エラーが消えないので質問します。

新しいダイアログを作ってコンストラクタでそのダイアログを作成するようにしたら
エラーになりました。以下のことを行うまではエラーになりませんでした。

�@新しいラジオボタンを以前にあったラジオボタンの数から追加した。

しかも、メインのダイアログとは別に2つダイアログを新しく作っているのですが、
そのうちの一つはダイアログの作成関数をコンストラクタで作っているのに
その関数をとばしてしまいます。

これはどういう原因なのでしょうか
0234デフォルトの名無しさんNGNG
>>233
別なコンストラクタ呼んでねぇ?
引数確認しる
023595NGNG
>>169
教えてもらったやり方でやってみたらエラーがなくなりました
ありがとうございました

もう少し変数や関数の勉強します・・
0236デフォルトの名無しさんNGNG
>>227
あれだな、リソースIDがバッティング(重複)してる可能性あり

resource.hを開いてそのコンボボックスのIDを確認しる
そんで別のコントロールに同値のIDが割り当てられてたら
そのIDを他のIDに変える

変えるIDはresource.hの下のほうに
#define _APS_NEXT_CONTROL_VALUE *** ***は数字
になってるからその数字を割り当てて
_APS_NEXT_CONTROL_VALUEの値を+1する

例えば #define _APS_NEXT_CONTROL_VALUE 32768 になってるなら
32768を割り当てて
#define _APS_NEXT_CONTROL_VALUE 32769 にする
0237デフォルトの名無しさんNGNG
>>236
ありがとうございます。早速、調べてみます。
助かりました。
0238デフォルトの名無しさんNGNG
文字の比較について教えてください。

char cBuff[]=" ";
strcpy(cBuff,m_edit);
if(strnicmp(cBuff,"M",1)==0)
{
・・・・・
}

文字列はエディットボックスからCString型で取得し、char cBuff[]にキャストしています。
ここで、エディットボックスに’M'を入れてデバックするとif文を通り抜けてしまい同じ文字だと認識してくれません。
どうしてでしょうか?教えてください。
0239デフォルトの名無しさんNGNG
>>238
デバッグでifでブレークしてその時のcBuffの内容を見てみたら?
0240デフォルトの名無しさんNGNG
もまいらGoogleが七夕バージョンになっていまつ^^

http://www.google.co.jp/
0241デフォルトの名無しさんNGNG
>>240
おっ。いろいろなタイミングでかわるのは知っていたが、
ちゃんと国ごとにあわせているとは。やるな。
0242デフォルトの名無しさんNGNG
自作のプログラムを実行すると、
「例外処理 (初回) は xxxxxxxxx.exe にあります: 0xC0000005: Access Violation。」
と出てしまいます。
プログラムの処理自体は終了しているみたいなんですが…。
原因とかわかりますでしょうか?
0243デフォルトの名無しさんNGNG
>>242
多分メモリ関連。
0244デフォルトの名無しさんNGNG
今月号のCマガを読んで多言語を扱うライブラリICUを使おうと思いました。
http://www.roguewave.co.jp/developer/info/icu/icu.html

しかしサンプルプログラムを動かすための開発環境のインストールや構築すらできません・゚・(ノД`)
Visual C++.NETで使いたいのですが誰か猿でもわかるように手取り足取り解説お願いします。
ほんとお願いします<(_ _)>
0245デフォルトの名無しさんNGNG
スレッド内で、UpdateData(false)を使ってダイアログに表示しようと思ったんですが、
表示できませんでした。
スレッド内で得たデータをダイアログに常に表示しようとするときはどうすればよいんでしょうか?
0246デフォルトの名無しさんNGNG
>>245
メッセージ飛ばすとか。
つーかダイアログに何を表示しようとしてるの?
0247デフォルトの名無しさんNGNG
>>246
受信したデータの表示です。
0248デフォルトの名無しさんNGNG
>>246
こんなことしてないか?

CHogeDlg::Hoge()
{
 AfxBeginThread( worker_thread, (LPVOID)this );
}

UINT worker_thread(LPVOID ptr)
{
 CHogeDlg* pDlg = (CHogeDlg*)ptr;

 pDlg->m_edit = "(゚д゚)ウマー";
 pDlg->UpdateData(FALSE);
}
0249デフォルトの名無しさんNGNG
>>248
思いっきり似たようなことしてます・・・・(多分)

スレッドについて、それ以上にVC自体もまだまだ、勉強が足らない部分があるので、
良いアドバイスを頂けるとうれしいです。
0250デフォルトの名無しさんNGNG
エクセルの表に書かれた文字や数字を書き換えたい場合
どんな関数を使えばよいのでしょうか?
0251デフォルトの名無しさんNGNG
>>249
そのうちASSERTで怒られるよ。要はCWndオブジェクト(派生含む)は、他のスレッ
ドに持ち越せないということ。(MSDNの「MFCテクニカル ノート 3: Windows ハ
ンドルとオブジェクト間のマップ」参照)

スレッドには、ダイアログなりエディットボックスなりの HWNDを渡してSetWindowText
や SetDlgItemText など使うか、>>246のようにダイアログに文字列をユーザ定義
メッセージで送信(スコープに注意)して、ダイアログ側で更新処理をするとか、
いろいろ考えられる。
0252デフォルトの名無しさんNGNG
すみません。
動的にビットマップ リソースを描き換える方法ってありませんか?
0253名無し@沢村NGNG
>>250
ヌヒよ、それはVBAでスレ違いだが教えてやろう。
RangeオブジェクトのValueプロパティかFormulaプロパティを書き換えるんだよ。
0254デフォルトの名無しさんNGNG
Visual C++のデバッカーが起動したときuserinitのせいでフリーズするんだけど、
おんなじ症状が出た奴いない?Windows2000でね。
0255デフォルトの名無しさんNGNG
>>250
COMの勉強しなされ
0256250NGNG
>>253>>255
ありがとうございます。
超初心者なもので・・・excelvbaについて勉強します。
ついでにCOMって何でしょうか?
すいません検索しても分からなかったもので
0257デフォルトの名無しさんNGNG
DDEで逝け
0258デフォルトの名無しさんNGNG
今日Visual C++.net standard 2003 を買ったのですが、インストール時に何も言わずに
インストーラが落ちます。同じ現象の方いらっしゃいませんでしょうか?何が悪いのか見当
も付かずに困っております。誰か助けて下さい。

環境:
WindowsXP Home Edition (sp とか Windows update は全部入れました)
Visual Studio 6.0 が入っていたのを普通にアンインストールした

手順:
Disk 1 で setup.exe を実行したら Prerequisties ディスクを求められたのでそれを入れて
インストール手順の 1 の "Visual Studio.NET 必須コンポーネント" は無事終了。

2 の "Visual C++.NET" に進むと Disk2 が求められるので入れると、必要ファイルをコピーし
始めているようなメッセージが出て来て、その後に「1,2分かかります」みたいなメッセージ付き
のプログレスバーの付いたダイアログが出て来て、その後にチラッと "Visual C++.Net セットアップ"
というタイトルのウィンドウが一瞬出たかと思ったらすぐ消えてその後何も起こりません。

Prerequisties の修復インストールを何度もやってみたりしたのですが、ここから先に全く進まな
いんです。どなたか解決策を御存知とか、心当たりのある方教えて下さい。お願いします m(__)m
0259デフォルトの名無しさんNGNG
>>258
ご確認を
ttp://support.microsoft.com/default.aspx?scid=kb;ja;330733

下のほうの関連情報も要チェキ
0260258NGNG
>>259
どーもです。でもそこは一応見たんですよね。
で、ウィルス関係のソフトも別に入れてないから関係無いだろうと思いつつ、
一応試してみたけどやっぱ何も変わらないのです。

下の関連情報の所にあるようなログを吐くようなところまですら行かないので何も手掛りが無い…

黙って落ちるインストーラーなんてどうしていいのか分かんないですよぅ。
このままインストール出来なかったら返品…出来ないんだろうしなぁ…。どうしよう…。
0261デフォルトの名無しさんNGNG
>>260
サポートに問い合わせれ
0262デフォルトの名無しさんNGNG
>>260
CD-ROMが破損してるんじゃないかい?
チェックサム(あるのか?w)汁。
0263258NGNG
皆様ありがとうございますm(_ _)m
とりあえずこのまま分からなければサポートに問い合わせようとは思っているのですが、
まずは僕のマシンが悪いのかCDが悪いのかを切り分けるために月曜に仕事場のパソコンに
インストールしてみる事にします。
一応ライセンスとしては僕一人で使う分には複数台にインストールしても良いみたいなので。
0264デフォルトの名無しさんNGNG
>>251
ありがとうございました。
0265名無し@沢村NGNG
おまいら、VC++はためになるから、いろいろ勉強してみろ!?
おまいらは、タンスとかあってぜいたくだよ。なっとらんぞ!!!

http://jbbs.shitaraba.com/computer/7294/
0266デフォルトの名無しさんNGNG
↑
ブラクラ
0267デフォルトの名無しさんNGNG
すみません。
混合モードがデバックすると突然出てしまうのですが、混合モードの見方を教えていただけませんか?

→5F42B249 cmp dword ptr [eax],1
こんな感じで出てしまうのですが 何を意味しているのかさっぱりわかりません。
お願いします.
0268デフォルトの名無しさんNGNG
>>267
>>混合モードがデバックすると突然出てしまうのですが
コードペインを開いてる?

>>こんな感じで出てしまうのですが 何を意味しているのかさっぱりわかりません。
アセンブラ(ニモニック)
0269デフォルトの名無しさんNGNG
すみません。
メニューやメッセージボックス等に割り当てられている
システムフォントを取得するには、どうしたら良いでしょうか?
0270O塚NGNG
http://elife.fam.cx/a005/
0271デフォルトの名無しさんNGNG
exe とか dll のバージョンってどうやって管理してますか?

1.xx.bbbb
で、x がマイナーバージョンで
b にビルド番号とかがくるかと思うんですが
そこまで管理してますか?

0272デフォルトの名無しさんNGNG
デスクトップのリストビューを詳細表示に変更したいのですが
やり方がよくわかりません。
SetWindowLongでスタイルをLVS_REPORTにして、
ListView_InsertColumnで列を追加しても、ファイル名の列しか
表示させられません。しかも列見出しの部分はキャプションが
表示されないです。根本的にやり方間違ってますか?
0273272NGNG
すいません、環境書き忘れました。
VC6 SDK(非MFC)でOSはW2Kです。
よろしくお願いします。
0274デフォルトの名無しさんNGNG
外部エディタって使えますか?
0275デフォルトの名無しさんNGNG
>>271
適 当
0276デフォルトの名無しさんNGNG
>>271
MSのどっかの文章で以下のような記述を見たような気がする。

メジャー = 同じ製品シリーズだが、途中で開発を分岐したか、あるいははじめから別開発。基本的に下位バージョンとの互換性は考慮しない。
例)VC++6.0とVC++7.0

マイナー = 機能の変更・拡張があるが、可能な限り互換性を残したもの。
例)VC++7.0とVC++7.1

リビジョン = 仕様の変更は無いが不具合の修正を行ったため、アップデートの必要があるもの。
例)VC++6.0とVC++6.0 SP1

ビルド = 不具合の修正を行ったもの。公開しないかも。


.NETではまた違うわけだが。
0277デフォルトの名無しさんNGNG
>>272
なんか足りない。
LV_COLUMN構造体辺り調べるとわかるかも。
0278デフォルトの名無しさんNGNG
DWORD型で指定した値をTRACEで見るとき、%? でみればいいんですか。
0279272NGNG
>>277
ListView_InsertColumnで、LV_COLUMNをパラメータとして
渡してるんですけど、全く無視されてる感じなんですよねぇ(´・ω・`)
そもそもデスクトップの場合、列見出しの要素はwindowsによって
初めから決められてる気がするんだけど、違うのかなあ・・・
0280デフォルトの名無しさんNGNG
デバイスコンテキストのHDC構造体の
基本的な仕様の説明とその関連の応用例について、
比較的わかりやすくまとめてレポートされてあるサイトって
どこかにないでしょうか?

0281280NGNG
訂正。HDCは構造体ではなくハンドルでした(´・ω・`)
VC++におけるハンドルの定義自体が概念的にいまいち理解できていませんが。

ハンドルって要約するとプログラム的に一体どのように処理されているのでしょうか?
0282デフォルトの名無しさんNGNG
ハンドルの中の人も大変ですね
0283デフォルトの名無しさんNGNG
>>281
別にそんなもん気にせんでもプログラミングは出来る!
つーか誰もしてねーだろ。
0284山崎 渉NGNG

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
0285デフォルトの名無しさんNGNG
質問です。
1. 複数のスレッドから、一つのウインドウにメッセージを Post or Send したときに、競合は発生しないで、
順番待ちするという理解でよいでしょうか?

2. 複数のスレッドで、一つの構造体を利用したいとき、クリティカルセクションを使うと思うのですが、
そのときに、構造体の変数ごとに、Lock, Unlock を呼び出す関数を定義するのは効率が悪くて大変です。(メンバがいっぱいある)
もっと効率のよい方法はないでしょうか。
例 bool Get〜〜1();
void Set〜〜1(bool abc);
bool Get〜〜2();
void Set〜〜2(bool efg)
      ・
      ・
0286デフォルトの名無しさんNGNG
>>281
ハンドルは、ウインドウズ内部のリソースを隠すためのもので(直接扱うと危険)
リソースのポインタテーブルのIDみたいなもんだよ
0287デフォルトの名無しさんNGNG
すみません。
uxtheme.dllを遅延読み込みにしたいのですが、出力ウィンドウに
「xxxx.obj : warning LNK4229: 無効なディレクティブ '/DelayLoad:uxtheme.dll' が見つかりました。無視します。」
と表示され、/DelayLoadインポートが認識されていないようなのです。
なので、WinXP以外のOSで、開発したアプリを起動させようとすると
「uxtheme.dllが見つかりません。」
というエラーメッセージが返ってきて起動しません。

#include <Delayimp.h>
#pragma comment(lib, "Delayimp.lib")
#pragma comment(lib, "uxtheme.lib")
#pragma comment(linker, "/DelayLoad:uxtheme.dll")

↑これでも通常通りuxtheme.dllが先に読み込まれてしまいます。
遅延読み込みにするにはどうしたら良いでしょうか?
開発環境はVC++.netです。
0288デフォルトの名無しさんNGNG
>>287
DelayLoadは#pragmaで指定できない
プロジェクトの設定いじれ
0289デフォルトの名無しさんNGNG
エディタ部分の質問なんですが、
ソースウィンドウでカーソルのある行に下線を出すことはできないのでしょうか?
カーソル行が認識しやすくなれば他の方法でも知りたいです。
ちなみにVC++6.0をつかってます。
0290デフォルトの名無しさんNGNG
>>285
>2. 複数のスレッドで、一つの構造体を利用したいとき、

個々の変数を保護するんじゃなくて
操作(operation)を保護すべき。
そうでないと不必要に複雑になって破綻するかもね。
0291山崎 渉NGNG

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
0292デフォルトの名無しさんNGNG
FormViewに貼り付けたコントロールのサイズを
動的に変更するにはどうすればいいんでしょうか?
C#なんかでいうDockプロパティでの動作がしたいのです。
0293285NGNG
>>290
なるほど、そうしてみます。ありがとうございました。
0294デフォルトの名無しさんNGNG
>>292
MoveWindow
0295デフォルトの名無しさんNGNG
>>292
SetWindowPos
0296292NGNG
>>294
ありがとうございます。
試しにOnSizeでMoveWindow(0,0,cx,cy,TRUE)してみました。
解決しました・・と、思ったら・・

試しているのはListCtrlを貼り付けたFormViewなんですが、
ウィンドウサイズを小さくしてスクロールバーが出ると挙動が変です。
スクロールするとListCtrlの下にFormの地がでてきます。

元のFormを物凄く小さくしてみたり、OnGetMinMaxInfoで最小サイズを
決めてスクロールバーが出ないようにしてみたものの・・
スマートなやり方はあるんでしょうか?
0297デフォルトの名無しさんNGNG
スクロールバーを出さなければ良いのならビュークラス内でSetoScrollSizeすれば良いかも
0298デフォルトの名無しさんNGNG
ModifyStyle(WS_HSCROLL | WS_VSCROLL, 0);
でスクロールバー消せたかも
0299292NGNG
>>297 ありがとうございます。
void CxxxView::OnInitialUpdate()に
SIZE total, page, line;
total.cx = total.cy = 1;
SetScrollSizes(MM_TEXT, total, page, line);
を足したら思いどうりの動作になりました。
問題は・・よく理解できてないこと(´・ω・`)ショボーン 精進します。

>>298
動作しないスクロールバーが出てしまいました。
私のやり方が悪かったのかもしれないですが。

>>295
今回は試しませんでしたが、MoveWindowと似たことが
出来るのかな? ありがとうございました。
0300280NGNG
>>286
ありがとうございます。
なんとなくですが理解できました。
HDCについてはなんも解決しておりませんがw
0301デフォルトの名無しさんNGNG
すみません。
コンボボックスのリスト部分の高さを、
リソースを編集する方法ではなく、
動的に変更するにはどうすれば良いでしょうか?
0302デフォルトの名無しさんNGNG
>>301
試してないけど、 CComboBox::MeasureItem をオーバーライドして実現できないかな?
0303デフォルトの名無しさんNGNG
>>301
MoveWindowとかウィンドウの大きさを変更する方法でOK。
コンボボックスの場合はウィンドウの大きさ=リストボックスまで含んだ大きさで、
選択文字列表示部はそのウィンドウの高さに依存しない。
0304301NGNG
>>302 >>303
ありがとうございました。解決しました。
0305デフォルトの名無しさんNGNG
VC++6.0(5.0かも?)でVISIOライクなソフトを作っています。
ビューに矩形や楕円などのオブジェクトを配置したりして
図を描いていく感じです。

そこで質問させてください。
ScrollViewを使って画面の拡大縮小をやろうとしています。

SetViewportExt と SetWindowExt を使って拡縮比を決めるのは
分かったのですが、 SetViewportExt と SetWindowExt どちらの
値を変更するのが一般的なのでしょうか?(楽に扱えるでしょうか?)

何段階かに拡大できるようにしているのですが、ビューをスクロールしても
常に画面の中心を拡大していく方法は無いのでしょうか?
ScrollToPosition(うろ覚え、違うかも)を使って真面目に計算するしか
無いのでしょうか?

すみません、まだ全然C++やVCに慣れていないもので的外れな質問かもしれませんが
よろしくお願いいたします。
0306デフォルトの名無しさんNGNG
浮動小数点aがあたえれれたとき、少数以下n桁に四捨五入した文字列を返す関数を定義し、その動作を確認しなさい。
こんなレポートがでたのですがさっぱりわかりません。誰かわかりませんか?
0307デフォルトの名無しさんNGNG
わかります。
0308デフォルトの名無しさんNGNG
宿題スレで最近あったような気がする。>>306
0309280NGNG
再び質問させていただきます。

HDC hDC = ::GetDC(0);

で得られるデバイスコンテキストのハンドルとは
一体どんな(どういう場面で使われる)デバイスコンテキストなんでしょうか?
以前、MSDNライブラリかどこかに書いてあったのを見たような気もするのですが、
今探すとどうも肝心なところが見つからないもので・・・
0310デフォルトの名無しさんNGNG
>>309
スクリーンのデバイスコンテキストを取得する。
よく「デスクトップの」などと説明されてたりするが、
それだとデスクトップのリストビュー部分みたいな感じがするからよろしくないな。

用途はありがちなところでは、スクリーンキャプチャとかスクリーンに描画とか。
後者はプレゼン用のマーカーツールとかな。

MSDNには例によって英語版にだけ書いてある。
.NET以降の日本語版は新しくなってるようだが未確認。
0311デフォルトの名無しさんNGNG
VC++で作られたソフトにはどんなものがあるの?
0312デフォルトの名無しさんNGNG
Officeとか
0313デフォルトの名無しさんNGNG
>>311
VC++
0314デフォルトの名無しさんNGNG
>>313
はわっ!書かれてしまった!
0315デフォルトの名無しさんNGNG
SDIでCSplitterWndを使い下の様なViewを作りました。
 A
┌──┬─────────┐
│    │                  │B
│    │                  │
│    ├─────────┤
│    │                  │C
│    │                  │
├──┴─────────┤
│                        │D
│                        │
└────────────┘
ウィンドウの高さを変更するときDの高さはそのままにしたいのです。
ただC,D間のバーを使っての変更は可能のままで。

CMainFrame::OnSizeでSetRowInfo(),RecalcLayout()をやってみたものの
どうもうまくいきません。Dの高さを保存しておけばよいのかとも思いますが
どのタイミングで保存すればいいのかも分かっていません。
何か良いやり方ありませんでしょうか?
0316デフォルトの名無しさんNGNG
>>313
ソースは?
0317デフォルトの名無しさんNGNG
>>316
VCワンポイント
0318デフォルトの名無しさんNGNG
フルパスで指定したファイルが存在するかしないかを
返してくれるAPIってありますか?

GetFileAttributesが0xFFFFFFFFかそうでないかで
判定するとか、CreateFileを使っても良さそうですが、
なんかそのものズバリなAPIってないんでしょうか。

Is〜なんて名前で無いかとMSDNで探してみたんですが
見つけられませんでした。
0319デフォルトの名無しさんNGNG
>>318
shlwapiにPathFileExistsというのがある。
別にGetFileAttributesでいいと思うが。マクロにでもしておけば。
0320デフォルトの名無しさんNGNG
Shell API は遅いというイメージが。そんなことないですよねぇ?
0321318NGNG
318です
319さん、早速ありがとうございます。
ズバリなAPIですね。やっぱり探し方が甘いのかしら。

マクロって#defineするやつですよね?
引数も取れるんですか。やってみます。
ありがとうございました。
0322デフォルトの名無しさんNGNG
>>320
中で何やってるのか知らんから何とも言えん。
プロファイリングしてみるしかあるまい。

そういや昔Win32API質問箱でちょっとした話題になってたな。
GetAttributes、CreateFile、FindFirstFileのコストで。

>>321
#define IsExists(a) (GetFileAttributes(a) != 0xFFFFFFFF)
0323318NGNG
322さんレスありがとうございます
引数を取れるっていう言い方はおかしかったですね。

FindFirstFileもありましたか。
ちょっと興味があるのでWin32API質問箱の過去ログあさってみます。
0324デフォルトの名無しさんNGNG
初めて質問させて頂きます。よろしくお願いします。
開発環境はVC++6.0です。

まず、クラスAのprotectedメンバにクラスBを持たせます。
そしてクラスAのインスタンスを作成すると、クラスB→クラスAの順にコンストラクタが実行されることがわかったのですが、
この時クラスBではデフォルトコンストラクタが実行されているようです。

上記の状況でクラスBのデフォルト以外のコンストラクタを実行することは可能でしょうか?
(クラスAのコンストラクタのみを実行して、クラスA,そしてクラスA内のクラスBの初期化を完璧に行いたいのです)

また不可能である場合、クラスB内に初期化関数を用意しクラスA内から実行する方法では何か問題があるでしょうか?
0325デフォルトの名無しさんNGNG
>>324
Aのコンストラクタで初期化記述子を使用すればよい
A::A() : m_B(1)
{
//m_BはBのインスタンス
}
「:」の後がそれ。あとはヘルプか参考書でも見て。
0326デフォルトの名無しさんNGNG
class A{
 A(){m_pB = new CClassB(hoge);}
 ~A(){delete m_pB;}

protected:
 CClassB* m_pB;
}
0327デフォルトの名無しさんNGNG
>>325 >>326
本当にありがとうございます。
すぐ試してみます。
0328デフォルトの名無しさんNGNG
>>323
FindFirstFileは検索に使う奴だろ?
今回は使えん事は無いが面倒なだけだと思うが?
0329デフォルトの名無しさんNGNG
存在するかどうか「検索」するんだし、CreateFileよりは引数も少なくて簡単だと思うが
0330デフォルトの名無しさんNGNG
FindCloseするのがメンドリ
0331デフォルトの名無しさんNGNG
>>328-330
Win32API 質問箱 Build10の>>254あたりから読んできなさい。
0332デフォルトの名無しさんNGNG
そこまでわかるなら直リンすれや
0333280NGNG
>>310

ありがとうございます。
ここでいうスクリーンというのはデスクトップ画面全体の画面領域との解釈でよいのでしょうか?
0334デフォルトの名無しさんNGNG
>>333
画面全体ということでよろしい。
0335280NGNG
>>334
了解です。
ありがとうございますた。
0336デフォルトの名無しさんNGNG
Dlgクラス内の関数から何も派生、継承されていないNameというクラスを作りその中にa(int num,char *buff1)
という関数を作りデバックしたところ値はきちんとa関数に渡されるのですがその後、m_edit1=buffのところで
例外処理が出てしまいました。どうすればよいのでしょうか?
OnBUTTON1()
{ int i; char buff[8];CString cs; Name *pMyname; pMyname=new Name;
Updatedate(true);
cs=m_edit1;
strcpy(buff,cs);
i=1;
pMyname->a(i,buff);
m_edit1=buff;
Updatedata;
}

a(int num,char *buff1)
{
int num2;
char buff2[8];
num2=num+1;
strcpy(buff2,buff1);
strcat(buff2,"aa");
}

こんな感じで作ってみたんですが、うまく動きませんでした。
誰かご教授してくださると幸いです。

0337デフォルトの名無しさんNGNG
>>336
すみません。上のUpdateData(true)とUpdateData(false)打ちミスしました。
0338デフォルトの名無しさんNGNG
>>336
用語を正しく使って書き直し。

ところで、
>Updatedate(true);
>Updatedata;
これなんじゃい。
0339315NGNG
まだ悩んでます〜w どなたか解決のヒントを・・
CSplitterWndの派生クラス作りつつ考えております。

新たな疑問なんですが
>>315の画面を作り、CとDの間の分割バーを左クリックすると
クリックしただけで下に2pixel分割バーが動いてしまうのですが
なぜでしょうか?他の分割バーは左クリックだけでは何も起こりません。
0340デフォルトの名無しさんNGNG
>>336
strcat(buff2,"aa"); でバッファあふれてるんじゃねーか。
0341セシルNGNG
usleep がつかえないんですけどどうしたらいいですか?

ちなみにエラーメッセージは

c:\program files\common files\system\mapi\1041\kita.cpp(19) : error C2065: 'usleep' : 定義されていない識別子です。
以上よろしくおねぎあします
0342デフォルトの名無しさんNGNG
VCにusleep()は実装されていません(VC6以外は知らない)

Sleep()でも使ってください(ミリ秒単位)
マイクロ秒単位での中断なら無理だけど
0343デフォルトの名無しさんNGNG
SP5をインストールしようとしてるんですが、「他のアプリが使用中」と言って、
MSVCP60.DLLがコピーできません。
ノートンとかを停止させてもダメ。
しょうがないからシステムフォルダに直接コピーしようとしたら、今度は
「Windowsが使用中だから」と言ってコピーできない。
どうしたらよいのでしょうか?
0344デフォルトの名無しさんNGNG
.NETのSDKにはC++のライブラリが含まれていないようですが、
Platform SDKていうのをインストールすると、
タダでC++もコンパイルできるのですか?
0345デフォルトの名無しさんNGNG
>>344
それはC++標準ライブラリが含まれているか?という質問か?
それともC++コンパイラが含まれているか?という質問か?
0346デフォルトの名無しさんNGNG
>>343
それ、なるよね。
使用中のファイルを再起動時に置き変えるソフト、探すとあるはずだからそれ使う。
0347344NGNG
>>345
C++標準ライブラリが含まれているか?という質問です。
0348デフォルトの名無しさんNGNG
▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
▽激安 アダルトDVDが定価の価格関係なく1枚900円
▽      開店セール  見に来て!
▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
        アダルトDVDが激安販売中
         http://www.dvd-exp.com

       最短でご注文いただいた翌日にお届け!
         http://www.dvd-exp.com
        開店セール1枚 500円より

    セルビデオ店の人気商品が24時間お買い物が出来ます。
        時間をかけてゆっくり選んでください!
          http://www.dvd-exp.com
           DVDエクスプレス

今すぐ見にきてね!
0349デフォルトの名無しさんNGNG
VC.netでリソースファイルが追加できんんす
なんでじゃろ
0350デフォルトの名無しさんNGNG
オーナーデータリストの描画ってさ
リストが表示する時に表示するデータを
渡してやるって感じだと思うんだけど

元データの変更は検知してくれるのかい?
0351デフォルトの名無しさんNGNG
>>350
再描画する部分のリストアイテムデータを持ってくるので、
元データ変わったらUpdateしよう。
0352デフォルトの名無しさんNGNG
どうしても、解決できないんので教えてください。
現在、ファイルの中身を見ては処理、を指定フォルダ以下
全てのファイルに対して行っています。

プログレスコントロールを使いたいのですが、一度全ファイル数を
見てしまうと、結構なタイムロスになります。

これを解決する方法は無いでしょうか?
0353無料動画直リンNGNG
http://homepage.mac.com/miku24/
0354350NGNG
>>351 やっぱそうですよね。ありがと〜
0355教えてくださいNGNG
VC++で、Waveでデータを波形にし、サンプリング周波数を出すプログラムはできたのですが、
波形の高い部分を見つけ、それをテキストに変換し保存するプログラムが分かりません。
どなたか、教えてくれませんでしょうか?
参考ソースがあるURLなどご存知でしたらお願いします。
せめて、音声データをテキスト変換するプログラムを教えてください。

お願いします。
0356デフォルトの名無しさんNGNG
>>355
マルチたん(;´Д`)ハァハァ


・・・失せろや
0357デフォルトの名無しさんNGNG
すみません。
エディット ボックスにて現在選択中の文字列の位置を
文字単位ではなくバッファ単位で取得するには
どうすれば良いでしょうか?
0358デフォルトの名無しさんNGNG
>>357
長いテキストを編集するエディタを作っているのでなければ
GetWindowText() から取ってきて文字列を切り出せば
いいと思われ。
0359357NGNG
>>358
解決しました。ご教授ありがとうございました。
0360デフォルトの名無しさんNGNG
>>352
そんなにタイムロス出る? 一度列挙してしまえば、ファイルエント
リがしばらくはキャッシュされるので

列挙→再び列挙しながら処理 vs 列挙しながら処理

って、大して処理時間変わらないと思うんだけど。
0361デフォルトの名無しさんNGNG
>>360
開始するまで待たされるのが嫌なんじゃないの?
まあ、プログレスバーを適当にするしかないかな。
サブフォルダが10個あったら1-1000のレンジにして1フォルダ辺り100ファイル扱えるようにする、
フォルダごとのファイル数が違っていても1フォルダ終わると1/10進む。
サブフォルダごとにそんな処理をやり、途中でファイルが増え過ぎたら、ちょっとプログレスを戻す。
そんなんしかなさそうだな。
0362デフォルトの名無しさんNGNG
エクスプローラでファイルを大量にコピーするときもけっこういい加減だしな。
0363デフォルトの名無しさんNGNG
漏れの妥協案は、ディレクトリごととかにファイル数を計数して総数に足していく。
グラフが後戻りするけどな。

もうちょっと手間かけるなら、プログレスバーを2本にして
処理するフォルダとフォルダ内のファイルでグラフを別けると後戻りしなくはなるな。
0364デフォルトの名無しさんNGNG
処理する一方で、ファイル数数えるスレッドも動かす。これ。

数えてる間だけは、じわじわとバーを進めとく。(強気に進めると、後で数が
わかったときに進捗が戻ったりしてカコワルイことがあるから、弱気に進める)
0365デフォルトの名無しさんNGNG
>>363
面倒だけど、後者が好きだな、漏れは。
全体の進捗と個々の進捗があると精神的にも優しいと思う。
0366デフォルトの名無しさんNGNG
すみませんが、CEdit::CharFromPos の戻り値の
文字インデックスのバッファ単位から
文字単位を調べたいのですが、
どうすれば良いでしょうか?
0367352NGNG
皆さんレスどうもです。

>>360氏
最初は設計の段階でそういう事を言われていたのですが、
実際にその処理をしてみて、以下のようになりました。

およそ2万ファイルを、三回試した平均です。
ファイル検索のみ・・・15秒
実際の処理のみ・・・17秒
両方併せた処理・・・32秒

最初はスレッドも考慮して作成していたのですが、スレッドから戻ってくる頃には
実際の処理も佳境に入っていて、プログレスバーの進み方が異常です。
更に、困ってるのはHDDのカリカリ音です。
出来ればファイル検索は一回にしたいので、>>363 氏のやり方でやろうかなと考えてます

ロジック的には
スレッドでディレクトリのファイル数を検索(サブディレクトリは含まず
併せて処理をして行き、スレッドの戻り値をプログレスバーにセットしたいと
思います。
0368352NGNG
私はかなりの素人なのですが、意外にこういった手段って確立されてないのですね。
ノートンのスキャン中みたいな感じで進捗を表示したかったのですが、
レスを読んでみて、ああ、きっとノートンもアバウトなんだなぁって感じました。
皆さん、ありがとうございました。
0369デフォルトの名無しさんNGNG
strcpy ではなく _mbscpy を使わなければ不具合でるってことあります?
0370名無し@沢村NGNG
>>369
あります
0371デフォルトの名無しさんNGNG
VC++は人気なくなった。
周りの人間で使える人はいない。
VC++は頭のいい奴が自慢をするためだけのソフト。
コードの再利用ができない。
作った人しかわからない。
VC++の需要は0になりつつある。
これからはC#の時代です。
0372デフォルトの名無しさんNGNG
>>371
プログラマーのくせに全角英数字を多用していることから分かるように
あなたは出来損ないのプログラマーで、VC++に挫折したみたいですね。
0373けけけ ◆rCmM5mBD26 NGNG
VC++はヘーゲルの精神現象学と同じです。
くだらない屁理屈と大して変わりません。
自分からスパゲッティソースコードにしてどうするのですか?
VC++はニヒリズムの波によって消去される。
けけけけけけけけけ。
0374デフォルトの名無しさんNGNG
VBプログラマが紛れ込んでいる予感!!!
0375デフォルトの名無しさんNGNG
>>368
ウィルスバスターでもファイル数の検索と、ファイルの検索を同時にやってるな。
結局それしかねーんじゃねーかな.
0376デフォルトの名無しさんNGNG
>>371
> 周りの人間で使える人はいない。
それは単にお前の周りにいる人間が低レベル名だけだろ。
まぁお前の文章を見てるだけでも十分低レベルだと分かるがな〔w
0377デフォルトの名無しさんNGNG
いちいち釣られんな
0378けけけ ◆rCmM5mBD26 NGNG
いまどきC++使っている人はいません。
今はC#.NET、VB.NETが主流です。
VC++.NETはおまけで作られました。
ビルゲイツ会長に見捨てられたのです。
.NETの三種の神器でVC++.NETの話題なんか全く聞きません。
プログラミング業界の今後の趨勢が気になる次第である。
0379 NGNG
むしろC#の方が捨てられていく気がするけど・・・

MFC7ATL7とかの本とか出ないけどさすげ〜欲しい
0380けけけ ◆rCmM5mBD26 NGNG
 Javaで実行効率が問題となった場合、言語のレベルで最初に疑うの
はインスタンスの生成と破棄の部分だろう。インスタンスの生成では
ヒープにメモリを確保するという重い処理が必要だし、インスタンス
の破棄のためのガベージ・コレクションはさらに重い処理だからである。
 結果として、大量のインスタンスを扱う場合は、生成と破棄の
オーバーヘッドを避けるためにインスタンスを使い回したりインスタ
ンスの粒度を大きくしたりすることになる。そして、ソース・コード
の可読性が落ち、バグの発生率が上昇し、プロジェクトが失敗する。
嘆かわしい話だ。
 そう、生成と破棄のオーバーヘッドを避ける抜本的な解決は、
生成と破棄のオーバーヘッドをなくしてしまうことなのだ。ヒープに
メモリを確保することなくインスタンスを生成し、ガベージ・コレク
ションに頼らなくてもメモリを破棄できる手段を用意すればよいので
ある。
 実際、生成と破棄のオーバーヘッドがないデータ表現の方式はJava
にも存在する。intやdoubleのような値型だ(Javaでは基本データ型と
呼ぶ)。値型はスタックに配置されるのでヒープにメモリを確保する
必要がない。値型のスコープは明確なのでガベージ・コレクションに
頼らずとも的確にインスタンスを破棄できる。これならオーバーヘッ
ドはほとんど発生しない。
 このように考えていくと、インスタンスの生成と破棄のオーバーヘ
ッドを回避する根本的な手段は新たな値型を定義可能にすることだと
分かる。C#には、この新たな値型を定義するための文法struct(構造
体)がある。C#に乗り換えたくなってこないだろうか?
0381_NGNG
http://homepage.mac.com/hiroyuki44/jaz08.html
0382デフォルトの名無しさんNGNG
>>380
コピペうざい。
0383デフォルトの名無しさんNGNG
>>380
お前うざいし、C++使ったらそんな心配しなくていいし
0384デフォルトの名無しさんNGNG
54 :鬱院生の卵 ◆rCmM5mBD26 :03/06/27 03:22 ID:1/U7Jb1+
>>34
>>43
誕生日おめでとう〜!!
(・∀・)\(・∀・) ナデナデ
あなた達におめでとうが言いたかったです。
つらいこともたくさんあるけどほんの少しの楽しい事、嬉しいことでも絶対生きていたらあると思うんだ。
とにかくおめでとうです。少し嬉しい気持ちになりました。
0385369NGNG
>>370 具体例でおながいします
0386デフォルトの名無しさんNGNG
>>385
unsigned charの文字列の場合、strcpy()ではキャストしなくてはならない。
0387369NGNG
というか strcpy と _mbscpy 、ステップインしたらどっちも strcpyの
アセンブラルーチンに。引数の型が違うだけ?
0388デフォルトの名無しさんNGNG
>>387
僕はそう認識しているけどね
0389デフォルトの名無しさんNGNG
DirectMusicを使うのに"dmusici.h"をインクルードしようとしても
できません。警告分では
"fatal error C1083: インクルード ファイルがオープンできません。"
と出ます。Includeディレクトリも探したのですが、やはりファイルは
見つかりません。関係あるのかどうかわかりませんが、
winmm.lib dxguid.lib dsound.libはリンクさせてあります。

バージョンは6.0、OSは2000です。
どなたか教えてください。
0390デフォルトの名無しさんNGNG
>>389
インクルードファイルがなかったらエラーになるに決まってるでしょ
0391デフォルトの名無しさんNGNG
>>390
必要な宣言等をシコシコ自分で書けばエラーは出ない
0392389NGNG
>>390,391
問題はインクルードファイル"dmusici.h"が無いことです。
DirectMusicのプログラムをを載せてあるサイト等でも
初めからあるのか何の説明もありません。

"dmusici.h"はどうやって入手するものなのでしょうか?初めから
あるものなのでしょうか?教えてください。
0393デフォルトの名無しさんNGNG
SDK入ってないんじゃないか
0394デフォルトの名無しさんNGNG
他のDirectXはどうですか?
0395デフォルトの名無しさんNGNG
1. DirectX SDK 未インストール。
2. ファイルが壊れて、破損ファイルとして扱われ消えちまった。
3. 実はパスが通ってないだけ。
4. 妖精さんが消しちゃった。

どれかじゃないの?
0396デフォルトの名無しさんNGNG
VisualStudio.NET2003のアカデミックはライセンス認証が必要ときいたのですがwinXPのものと同じと考えていいのでしょうか?
0397389NGNG
原因わかりました。
   1. DirectX SDK 未インストール
でした。VC初心者なのでその辺が良くわかっていませんでした。
どうもありがとうございました。
0398まことNGNG
プログラム2:10進数の整数の桁数を表示する
例えば "12340" という整数が与えられたとき、5けたの数字であるから "5" を表示するようなプログラムを作る。
0399デフォルトの名無しさんNGNG
CString s;
s.Format( "%d", 12345 );
SetDlgItemInt( IDC_EDIT1, s.GetLength() );
0400デフォルトの名無しさんNGNG
わかりません。教えてくさい
0401デフォルトの名無しさんNGNG
VC++ってコードはわかるけど
コードを書くまでがわからない
プロジェクトの作成?とか
0402デフォルトの名無しさんNGNG
VS.NET2003インストールしてるんですけどどれぐらい時間かかるんでしょうか?
なかなか終わってくれないんですが、、
0403デフォルトの名無しさんNGNG
MFCを使ったプログラムです。
peopleというクラスがあり、そこに文字列をprivateで、char name[]と宣言しています。
piblicでpeople(char p_Name[])とあり、これがコンストラクタです。

TESTViewクラスで、このpeopleクラスのオブジェクトを作りたいので、コンストラクタであるTESTView関数で、people("kazu")のように書いているのですが「'people::Name' : クラス、構造体、共用体のメンバは、初期化できません。」とエラーがでます。
peopleクラスのcharではなく、intとかなら具体化できるのですが、文字列の扱い方がよくわかりません。
アドバイスをお願いします。
0404デフォルトの名無しさんNGNG
メンバの配列変数は初期化できませむ
0405403NGNG
あ・・・
>>peopleというクラスがあり、そこに文字列をprivateで、char name[]と宣言しています。
は、char name[10]の間違いです。
0406デフォルトの名無しさんNGNG
まず、CStringやstd::stringじゃダメなのか。
どうしてもcharにしたいなら、
メンバをchar name[128]にするとか、char* nameにしてコンストラクタでnewするとか。
0407403NGNG
>>404

となると、この場合はpeopleクラスのname変数に文字を入れたいのですが、どうやるべきでしょうか・・・
0408デフォルトの名無しさんNGNG
>>405
people(const char* pName){lstrcpy(name, pName, 10);}
0409デフォルトの名無しさんNGNG
>>403
MFCならCStringは?
0410デフォルトの名無しさんNGNG
>>408はlstrcpynだった
0411403NGNG
ごめんなさい・・・CStringでよいかもしれません。
かなり知識がないのでわかりませんでした。
試してみます
0412デフォルトの名無しさんNGNG
エディタを他のに変えてみたいんですけどどうすればいいですか?
0413デフォルトの名無しさんNGNG
質問させて下さい
今、練習で、簡易ワープロ作ろうとしています
半角英数なら普通にできるのですが
日本語を入れようとすると
字を決定する前のひらがなを打ったり
漢字に変換している途中は
ウィンドウ下部に書かれてしまい
決定するまでカレットの場所に行ってくれません
OnKeyDownには入ってくれますが
そもそも座標の与え方がわかりません
どなたか教えてくれませんでしょうか
よろしくおねがいします
0414デフォルトの名無しさんNGNG
>>413
CWnd::SetCaretPos()
0415414NGNG
スマンIMEか。ImmSetCompositionWindow()だな。
0416413NGNG
>>415
できました
正直言うとすぐにできたわけではないのですが
ImmSetCompositionWindowをヒントに
いろいろ調べて解決できました
ありがとうございました
お世話になりました
0417デフォルトの名無しさんNGNG
MFCでプログラムを組んでいます。
int型の数字とCString型の文字を、CString型に同時に入れる方法はあるでしょうか。
AfxMessageBoxで表現したいのですが、CString型じゃないと使えません。
int型の数字も同時にAfxMessageBox関数で表現したいのです。
0418デフォルトの名無しさんNGNG
>>417
CString::Format
0419デフォルトの名無しさんNGNG
>>418

ありがとうございます。
ついでなのですがCString型からcharに変換できるでしょうか。
調べたところ、LPCTSTR(ここにCStrint型のものを入れる)でできるようなのですが、「'const char *' は 'class CString' と間接操作のレベルが異なります。」とエラーがでます。
なお、ここで調べました
ttp://www.asahi-net.or.jp/~yy6m-wd/kuma/vctip/string.htm#CstrToChar
0420デフォルトの名無しさんNGNG
>>419
C言語の基礎からやることをお勧めする。
0421デフォルトの名無しさんNGNG
>>419
MSDNライブラリ中の、CStringクラスメンバをくまなく探すなり
0422デフォルトの名無しさんNGNG
こんにちわ。
VC++を勉強しようと思っています。
解説本でお勧めのものはあるでしょうか?
プログラミング自体初めてです。
よろしくお願いします。
0423デフォルトの名無しさんNGNG
>>422
とりあえず、この辺から始めてみては。
http://dir.yahoo.co.jp/Computers_and_Internet/Software/Programming_Tools/Programming_Languages/C_and_C__/

漏れは職業プログラマではないけど、ある程度覚えてしばらく経つまで本は買わなかった。
0424デフォルトの名無しさんNGNG
だから入門書に載ってるようなことを質問する奴が絶えないわけか・・・
0425デフォルトの名無しさんNGNG
>>419
俺はGetBufferを使ったりするんだけど・・・・
0426デフォルトの名無しさんNGNG
>>424
ということはあなたは本を買って勉強したんですよね?
0427デフォルトの名無しさんNGNG
>>419 のエラーをわざと出そうと思ったけど出ねー。
どんなシチュエーションで出る?
試したテスト↓
CString str = "test";
const char* p = str; // ノーエラー
char buf[100];
strcpy(buf, str); // ノーエラー
printf(buf, "hoge %s hage", (LPCTSTR)str); // ノーエラー
0428デフォルトの名無しさんNGNG
>>426
まともな奴は最初に入門書くらい買うでしょ
0429デフォルトの名無しさんNGNG
>>427
それでエラーが出ないのは当たり前なわけだが
0430デフォルトの名無しさんNGNG
>>426
参考図書の話ならスレ違い。
0431デフォルトの名無しさんNGNG
#include<iostream>
using namespace std;
int main()
{
int d,b,c,a,t;
cout<<"揚力を入力してください";
cin>>a;
d=a*a;
cout<<"翼面積";
cin>>b;
cout<<"揚力係数";
cin>>c;
t=d*b*c;
cout<<t;
}
上記のような、プログラムをかいたのですがVisaul C++のほうから、コンパイル後に
実行すれば問題なく動作するのですができた、実行ファイルを実行すると最後の値を入力し終えた後に
怒涛の勢いで終了してしまいます。
メモを取れるくらいの間、表示させとおくのは、どうしたらいいでしょうか?
0432デフォルトの名無しさんNGNG
Sleepつーか終了直前にキーの入力とか待てば良いのでは?
0433デフォルトの名無しさんNGNG
意味不明。
コマンドプロンプトから実行すれば?
0434デフォルトの名無しさんNGNG
>>431
DOS窓で実行すれ
0435デフォルトの名無しさんNGNG
つーかVC++スレのネタじゃねー名。
0436デフォルトの名無しさんNGNG
>>433
さすがに意味不明ではないでしょ
0437デフォルトの名無しさんNGNG
むしろFAQだよな
0438デフォルトの名無しさんNGNG
>>431
最後の行にキー入力待ちを置いて、
入力後に終了させようにすれば?
0439デフォルトの名無しさんNGNG
MFCでウインドウをエクスプローラ形式で作った場合
左側のツリービューのスタイルはどうやって変更?
ちぇっくボックスつけるとか点線つけるとか・・
0440デフォルトの名無しさんNGNG
WM_CREATEをオーバーライドして基本クラスのOnCreate()呼ぶ前に引数のスタイルメムバいじるか、
ウィンドウが作成された後ならModifyStyle(Ex)()かSetWindowLong()
0441名無し@沢村NGNG
>>439
PreCreateWindow()
0442デフォルトの名無しさんNGNG
ModifyStyleでできました。さんくすです
0443デフォルトの名無しさんNGNG
エクスプローラで項目を右クリックすると、プログラムの実行が停止するか、Explorer.exe が CPU を 100 パーセント使用する

http://support.microsoft.com/default.aspx?scid=kb;ja;819946

開発には向いてないようですね。XP。
Microsoft Windows Server 2003まで対象ですが…。
使うなって事でしょうか?
0444デフォルトの名無しさんNGNG
>>443 この問題、開発とどーいう関係が? ShellExtentionとかかな?
0445デフォルトの名無しさんNGNG
かなり前、C++を勉強し始めた頃
MFCはバグが多いから使わない方がいいと言われて
現在まで使用せずにいたのですが、
現在は使った方が良いんでしょうか?
又は使っても大丈夫でしょうか?
使用しても無問題ならMFCについて勉強したいのですが
前に言われた言葉が引っかかっており
躊躇しております。
0446デフォルトの名無しさんNGNG
>>445
Win32APIを理解してるなら大丈夫。
0447デフォルトの名無しさんNGNG
>>446
445じゃないけど
それは、MFCを知らなくても大丈夫っていうことなのか
> MFCはバグが多い
っていうのに対して大丈夫って言ってるのか
よくわからん
0448デフォルトの名無しさんNGNG
MFCのバグと思ったら自分のバグだったりする
コンパイラ通ってもエラー出ることって結構あったな、厨房の頃は(;´Д`)

MFCってそんなバグ多くないと思うが、あってもMFCソース見れるし
msdnドキュメントに嘘つかれたことならあるが

0449デフォルトの名無しさんNGNG
VCのSTLにもバグがあるよ。

こう言うと>>445はSTLも使わないのだろうか
0450445NGNG
>>446-449
なるほど、使っても大丈夫みたいですね
MFC勉強しよう〜
>>449
それはライブラリっすよねぇ
先輩にライブラリに頼るな。自分の力で作り上げろ〜
とか言われて使わせて貰えんかったなぁ。
先輩ももういないし、今から勉強してみるかなぁ
0451デフォルトの名無しさんNGNG
標準ライブラリも使わせないような奴は単なるアホだ
0452デフォルトの名無しさんNGNG
車輪の再開発とは…
なんという先輩だ
0453デフォルトの名無しさんNGNG
そういう先輩に限って普通に
#include <stdio.h>
とか書いてるはず。
後輩「これもライブラリですよね・・・」
先輩「いや、これはいいんだ。」

てめーの基準は何だよ!!
0454デフォルトの名無しさんNGNG
>>450
使っても大丈夫みたいですね。
じゃなくて大丈夫だから、マイクロソフトが入れてるんだろ?
0455デフォルトの名無しさんNGNG
そのセムパイに、MFCにはどんなバグがあるか聞いてみるといいよ
0456デフォルトの名無しさんNGNG
多分、その先輩はboostとか知らないな(w

使いまくったれ
0457デフォルトの名無しさんNGNG
>>443
何を今更って感じだな。
XPでVCを使うほどストレスたまるモンはそうそうない。まだ98で使ってた方がマシ。
0458デフォルトの名無しさんNGNG
VCでつくったソースを配布することになったのですが
個人情報とか漏れますか?
デバッグビルドだとwindowsに登録した名前が漏れるらしいですが
それ以外にもあれば教えてください
0459デフォルトの名無しさんNGNG
>>458
割れで作ったものなら逆汗して
シリアルキーを調べればバレます。
0460デフォルトの名無しさんNGNG
>>459
((((;゚Д゚)))ガクガクブルブル

じゃなくって本名とかHDDのフォルダ名とかあまり知られたくないのです
VCのことではないですが環境変数の値を実行ファイルに残したままのものがあった
と聞いたので警戒しています
この前登録名バレてヘコんでますがソースを見てもらうメリットも捨てがたくて質問しました
0461デフォルトの名無しさんNGNG
>>460
ユニコードの罠に気をつけながらバイナリエディタ使って検索してみればいいんでないの。
0462デフォルトの名無しさんNGNG
うむ。デバッグビルドだと、バイナリぱっと見ただけでも、ソースファイルの
フルパスが入ってますな。

ってか、デバッグビルドのバイナリ配布するの?
MFCとかCRTのデバッグ版DLLのバージョン問題もあるっちゅーか、配布
禁止じゃなかったっけ?
0463デフォルトの名無しさんNGNG
デバッグ版DLLは配布禁止。
0464学生NGNG
唐突に失礼します。
LPCTSTRって何?何バイトの変数なんでしょうか?
0465名無し@沢村NGNG
>>464
Win32では4バイト
0466_NGNG
http://homepage.mac.com/hiroyuki44/
0467デフォルトの名無しさんNGNG
エディタの文字サイズ小さくしたいんだけどどうやっらたできますか?
VC++6.0です
0468デフォルトの名無しさんNGNG
>>457
変わった人ですね

>>462
スタティックリンクすればOK
0469デフォルトの名無しさんNGNG
ツール→オプソン→書式
0470デフォルトの名無しさんNGNG
>>469
ありがとうございますです
0471デフォルトの名無しさんNGNG
すみません。
ラジオボタンは1つのダイアログにつき
オンの状態に出来るのは1つだけですが、
これを、複数オンの状態に出来るようにするため
には、どうすれば良いでしょうか?
0472デフォルトの名無しさんNGNG
グループボックス
0473デフォルトの名無しさんNGNG
>>471
コントロールをタブオーダー順に並べたとき、
(グループの先頭のラジオボタン)と、
(グループの最後のラジオボタンの次のコントロール)に
Groupプロパティを設定します。
ああメンドクセー。
0474デフォルトの名無しさんNGNG
グループボックスにあるラジオボタンのどれかが変更されたときに
拾えるメッセージってありますか?
BN_CLICKEDをラジオボタンごとに持たせるのは何か、嫌で。
0475デフォルトの名無しさんNGNG
SSE2で整数の内積演算のプログラミングをしたいのですが、
本がなくてさっぱりわかりません。
例えば、unsigned char a[8] b[8]との内積の和
a[0]*b[0]+a[1]*b[1]+....
をSSE2で書くと、どのようになるのでしょうか。
よろしくお願いします。
また、MMXで書いたものはあるのですが、
SSE2に直すことでさらなる速度アップは望めるのでしょうか。
0476デフォルトの名無しさんNGNG
RS232CをとおしてXmodemでデータを送信するプログラムを作りたいのですが
どうすればいいでしょうか
データの送受信はできているのですがネット上いろいろ探しても
プロトコルを設定する方法がわかりません
これだけでは情報が足りないかもしれませんが
これでわかる方がいたらよろしくおねがいします
0477デフォルトの名無しさんNGNG
>>474
CWnd::GetCheckedRadioButton()
0478デフォルトの名無しさんNGNG
デバッグしてたら
INT 3
で止まるんですけど、INT 3って一体どういう処理をしているのでしょうか?
0479471NGNG
>>472 >>473
どうもありがとうございました。
0480デフォルトの名無しさんNGNG
>>478
intはソフトウェア割り込み
オペランド3はブレイクポイント・割り込み

Foo() {
_asm int 3;
}
実行するとメッセージが表示されて実行が停止される(Debugビルドで確認)


Var() {
ASSERT(FALSE);
}
アサート表示後、再試行ボタン押下→デバッガの混合モードでみると
int 3から復帰していることが確認可能

アセンブラ詳しくないのでこの辺で...
0481480NGNG
8086アーキテクチャーの話ね
他のアーキテクチャの話は知らないのでご容赦
0482478NGNG
>>480-481
なんとなくわかりました。
どうもありがとうございました。
0483名無し@沢村NGNG
>>474
ヌヒよ、親ウィンドウのOnCommand()でまとめて処理すればいいんじゃなかろうか
0484デフォルトの名無しさんNGNG
せっかくだから俺はON_COMMAND_RANGEを選ぶぜ
0485デフォルトの名無しさんNGNG
C++.NETでリソースエディタでツールバーに新しいボタン追加したんだけど
押した時の処理の追加の仕方がわからんです。
どうやればよいの??
0486デフォルトの名無しさんNGNG
CString str = _T("str");
CTypedPtrArray<CPtrArray, CStringArray*> paStrA;
CStringArray* pStrA = new CStringArray;
pStrA->Add(str);
paStrA.Add(pStrA);
paStrA.GetAt(0)->RemoveAll();
paStrA.RemoveAll();

でメモリーリークするのですが、どこがおかしいの?
0487???NGNG
告白したいけど、自分に自信がない。それでも胸の奥が苦しくて・・・
そのような方、諦めないで。
ここでは、異性に効果を発揮する香水、合法ドラッグなどがおかれています。
小売価格一万円以上の品が、半額以下の値段で取引されています。
是非ここでゲットして、貴方の気持ちを打ち明けて下さい。
相手の方も、きっとそれを待っていますよ。

↓のURLの頭にhを付けて、コピー、ペーストして下さい。

ttp://www.adultshoping.com/index.cgi?id=1057809839
0488486NGNG
あ、deleteぬけてた すまん
0489デフォルトの名無しさんNGNG
アダルトDVDが
 最短でご注文いただいた翌日にお届け!
         http://www.dvd-exp.com
        開店セール1枚 500円より
0490デフォルトの名無しさんNGNG
>>489
そのよりって言うの好きじゃない。ボッタ栗バーと同じ。
0491デフォルトの名無しさんNGNG
識者の方宜しくお願いいたします。
VC++6.0英語版の開発環境にて、0x5cを含む二バイト文字(SJIS)を表示させたい場合、
0x5cを含む対象文字に\を付加することで、正しく表示されることは知っていますが、
\文字を付加せずに、他の方法で正しく表示させることは出来ますでしょうか?
(英語版の環境は変更できないんです…)
0492デフォルトの名無しさんNGNG
・文字列は全部リソースに放り込む。
・UTF-8で入力する
0493デフォルトの名無しさんNGNG
>>485
あーそれ俺も知りたい。VC++.NETのToolBarエディタから
イベントハンドラの追加できないすよね?
いまんとこ、すげー面倒な方法でやってます。
1)ダミーのAcceleratorエントリを追加し、ID_HOGEというIDをつけておく。
2)AcceleratorエディタでID_HOGEのイベントハンドラを追加する。
3)ToolBarエディタで目的のボタンにID_HOGEを与え、イベントハンドラと結合
4)Acceleratorエディタに戻ってID_HOGEを削除
われながら馬鹿な方法だと思う。。。
0494デフォルトの名無しさんNGNG
>>492
ありがとうございます。
リーソースファイルを修正できないのと、Win95でも動作させなくてはならないため、
教えていただいた方法は難しいかと思います。
再度条件をまとめますと以下になります。

・開発環境VC++6.0英語版(Win2000英語版上)
・作成した実行ファイルは日本語版のWin95からWinXPまで動作させる必要がある。
・messageboxを含むソースのみ修正可能。現状文字コードはSJIS
0495デフォルトの名無しさんNGNG
>>494
いつごろのMS-Cだったか、昔は/Jオプションを指定すると、
文字列リテラルや文字定数の0x5cの直後に\を付加してくれた。
さすがに今のVC++6の/Jオプションにそんな機能はないかねえ。
やはりゴリゴリと\をつけまくるのがいいのでは。
その程度のフィルタコマンドなら間単に作れるでしょ。
0496デフォルトの名無しさんNGNG
fscanfでテキストファイルの読み込みをしようとしたのですが
実行するとASSERTE(stream != NULL)みたいなエラーが出てしまいます.
テキストファイルのほうになにか問題があるのでしょうか?
0497デフォルトの名無しさんNGNG
>>483
あ・・・そうですね。
それでいきます。
どうも。
0498485NGNG
>>493
おおお〜!どもです。
別の方法見つかるまで使いますっ!
0499デフォルトの名無しさんNGNG
>>491
割れを使うな!以上!
0500デフォルトの名無しさんNGNG
>>496
ちゃんとオープンできてる?
ファイルが存在する?
モードまちがってない?
ファイルに排他ロックがかかってない?
0501デフォルトの名無しさんNGNG
500とられた(T_T)
0502デフォルトの名無しさんNGNG
☆★ 新商品 ゾク・ゾク 入荷!! 急げ〜!! ☆★☆
★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
☆★ 送料激安!  スピード発送!  商品豊富!   
★☆      http://www.get-dvd.com        
☆★ 激安DVDショップ 「GETDVDドットコム」 
★☆      http://www.get-dvd.com        
☆★ 今すぐアクセス Let’s Go!   急げ! 
★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
0503デフォルトの名無しさんNGNG
自分で作ったのクラスからビュークラスの関数呼ぶって事は普通しないんすか・・・?
やり方わからん
0504デフォルトの名無しさんNGNG
20分前〜俺は〜馬鹿だった〜
・・・あほなこと言ってごめんなさい
0505デフォルトの名無しさんNGNG
>>495

どうもです。やはりその方法しかなさそうですね…
sedで置換してみます。
ありがとうございました。
0506デフォルトの名無しさんNGNG
Enemy *pEnemy;

pEnemy = new Zako;

クラスへのポインタ宣言をしておいて、
あとからnewでオブジェクトを作ろうとすると、

error C2061: 構文エラー : 識別子 'Zako';

と出てしまいます。どうしてエラーなのでしょうか?
0507デフォルトの名無しさんNGNG
>>506
includeしてないだけじゃ?

#include "Zako.h"
0508デフォルトの名無しさんNGNG
今、学校でVC++6を弄んでるんですが、入門書のおすすめなどありましたら教授ください。

学校なので、MFCライブラリリファレンスの類は、全種あるのですが、なにぶん内容が難しすぎて…(汁)
今現在、参考にしてるのは、「独習C++」、「新VisualC++6.0入門(ビギナー編)」です。

やはり次に進むべき道は、「新VisualC++6.0入門(シニア編)」でしょうか…?
しかし通販じゃないと近所にはなさげな悪寒…

自分の知識としては、Cの基礎を一通り学んだ程度です。
0509デフォルトの名無しさんNGNG
猫でもわかる、でいいじゃん。
本がいいと言うなら、いちおう本にもなってたはず。

内容が優れてるかと言われれば疑問だが、入門には良いと思われ。
林晴比古も悪くないけどね。

学校でとりあえず必要としてるだけならいきなりMFCでもいいけど、
まともに覚えたいんなら、まずはSDKオンリーで仕組みから理解していくべきだと思う。
0510デフォルトの名無しさんNGNG
だから、本はスレ違いなんだよ
0511デフォルトの名無しさんNGNG
C++はCをマスターしてから勉強したほうがいいですか?
0512sageNGNG
初心者に教えるスレだからいいと思うけどね。
自分は林晴比古の新VisualC++6.0入門シリーズで勉強した。
がんばってくれ。
0513508NGNG
>>509
なるほど…猫わかもたしか本になってたんですよね…一度調べてみます。
(やっぱり本がいいです;)

>>510
すいません、スレを検索した限り、他に適当なスレが見当たらなかったのでここで質問させてもらいました。
くだ質とかの方がよかったですかね…?

>>512
このシリーズで攻め続けようか、他に乗り換えようか、少し悩んでます…<林先生の本
0514デフォルトの名無しさんNGNG
初心者に推薦図書スレを教えるのが筋だと思うが・・・
0515デフォルトの名無しさんNGNG
http://aiton21.tripod.co.jp/a.JPG
OKとキャンセルボタンいっこずつしかおいてないのに
リビルドしてもこんなんに表示されちゃうのなんでですか??
0516デフォルトの名無しさんNGNG
てか三回くらい作り直しました。。。
ありえねえええ
0517デフォルトの名無しさんNGNG
ああきにしないで
0518デフォルトの名無しさんNGNG
教えてください。
いま自分のViewにCListCtrl m_listがあるとします。
ここでこのm_listにアイテムを追加するときにSetItemDataで構造体アドレスをセットしたいです。
この構造体はそのアイテムに関連する情報を保持しており、リストにアイテムを挿入するときにnewします。
問題なのはこのViewがDistructされるときにこのm_listがデストラクトされてもnewした構造体は自動では解放されません。
あるいはDeleteAllItemsなどを呼び出したときとか。
Viewのデストラクタでdelete m_list.GetItemData(i);などとしても
もしリストにSetItemDataしてなければ変なアドレスでdeleteしそうです。
こういうケースではどういう対処が良いですか?
CListCtrlを派生してInsertやDeleteItem系のメソッドを絞って提供し
アイテムの追加や削除を全部管理しないと無理ですか?

0519デフォルトの名無しさんNGNG
>>513
最初は林の本でも大丈夫だと思うけどね。
ちょっと実力がついてきたなと思ったら用途に合わせたものを買えばいい。
0520デフォルトの名無しさんNGNG
>>518
うん。
0521518NGNG
そうなんですか。そこを何とか。どなたか良いお知恵を。
もしくは普通こうやる、とか。
お願いします。
0522 NGNG
>>518
仮想リストにすれば?
0523 NGNG
>>521
SetItemData してなければ、GetItemData では 0 が帰って来る。と思う。
もし違ってたらゴメン。で、LVN_DELETEITEM だかなんだかの通知を受けて
0 じゃなければ、delete する。

あるいは new したものは View のメンバ変数 CTypedPtrList<hoge> m_items;
とかに全部入れといて、view のデストラクタで全て delete する。
0524デフォルトの名無しさんNGNG
VC++6.0でmakeファイル使ってる人っています?
VCってmake使えるの?
0525デフォルトの名無しさんNGNG
>524
nmakeってあるはずだよ。
さがしてみそ
0526デフォルトの名無しさんNGNG
>>525
確かにありますね。
nmakeってコマンドラインから使うんですか?
IDEからは使えないんですか?
0527デフォルトの名無しさんNGNG
☆★ 新商品 ゾク・ゾク 入荷!! 急げ〜!! ☆★☆
★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
☆★ 送料激安!  スピード発送!  商品豊富!   
★☆      http://www.get-dvd.com        
☆★ 激安DVDショップ 「GETDVDドットコム」 
★☆      http://www.get-dvd.com        
☆★ 今すぐアクセス Let’s Go!   急げ! 
★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
0528名無し@沢村NGNG
学校のおじさんのつくったVisualC++真面目に勉強している、へたれたちのいるスレはここですか?
0529518NGNG
みなさま。ありがとうございます。
よくかんがえたらViewのデストラクタより先にm_listがなくなっていそうです。
そこでいちばん簡単な方法としてm_listにSetItemDataしたものを別個にリストにして
保持しておくことにします。なんか無駄な気もしますが。
0530518NGNG
>>522
仮想リストとは何ですか?
0531デフォルトの名無しさんNGNG
すみません。文字列をdouble型に変換したいのですが、

 CString str = 2.5584;
 double don = atof(str);

とした時、donの値が"2.5583999999…"になってしまいます。
この原因が全く判らないで困っています。
どなたか解決策をご教授してください。
0532デフォルトの名無しさんNGNG
1/3 = 0.3333333....
0533デフォルトの名無しさんNGNG
>>531
double型は2進数であらわされます。
ですので、10進数小数を2進数に直すと丸め誤差が生じます。
つまり、double型では、正確に2.5584を表すことは原理的にできないのです。

別に実害はないので気にせず行くのがよいでしょう。
0534デフォルトの名無しさんNGNG
>>531
有限小数、無限小数などで検索汁
0535デフォルトの名無しさんNGNG
>>530
仮想リストビューで検索しなさい
0536デフォルトの名無しさんNGNG
CObjectの派生クラスで、リソースに登録してあるアイコンのハンドルを取得するには
どうすればいい?ロードアイコンとかセットアイコンとかいっぱい試したけど
自分じゃむりだった・・。
0537531NGNG
>>533
そうだったんですか。ありがとうございました。
でも、こっちでは、どうしても文字列"2.5584"を
正確な数値でdouble型に変換したいのですが、
良い方法はないでしょうか?
0538デフォルトの名無しさんNGNG
>>536
そういうときは、まずはキーワード羅列して検索

ttp://www.google.com/search?num=50&hl=ja&lr=lang_ja&q=%83A%83C%83R%83%93+%83n%83%93%83h%83%8b+%83%8a%83%5c%81%5b%83X
0539デフォルトの名無しさんNGNG
>>537
double型では、正確に2.5584を表すことは原理的にできないのです。
                         ~~~~~~~
0540デフォルトの名無しさんNGNG
>>537
計算するときに小数点第5位以下を四捨五入すると貸して自分で工夫するしかねーよ。
小数を正確に表すことは出来ん。あきらめな。
0541デフォルトの名無しさんNGNG
>537
doubleでは不可能。
誤差が嫌なら小数部と整数部に分けてintに格納とか。
演算出来ないけど。
0542531NGNG
>>539-541
そうですか。わかりました。
どうもありがとうございました。
0543デフォルトの名無しさんNGNG
ピクチャボックス、またはエディットボックス上に
bold表示で文字を表示させたいんですけど
どういう関数を使えばいいんでしょうか
0544デフォルトの名無しさんNGNG
エディトボックスについては、SetFontすればよろし。
0545デフォルトの名無しさんNGNG
>>538
しました。そこも見たとおもいます。
アプリケーションクラスでロードアイコンすると、
Debug Assertion Failed!が出て、ビルド自体できないんすよね。
ちなみに出てるファイルはafxwin.inlのline26です。コードは
HICON hIcon = NULL;
hIcon = LoadIcon(IDR_MAINFRAME);
if (hIcon == NULL)AfxMessageBox (_T("アイコンがロードできません"));
でappクラスのコンストラクタに入れてます

って書いて、まさかと思って違う関数に入れたら通ったヽ(´∀`)/
0546デフォルトの名無しさんNGNG
Appクラスのコンストラクタってあんた・・・
0547デフォルトの名無しさんNGNG
いや、とりあえずどこでもいいからつっこんでコンパイラ通したかったんすよ笑
てかCImageListのadd関数にハンドル渡すとまたDebug Assertion Failed!が
でるうううう!また俺馬鹿なことやってんだろうなぁ。。。泣
0548デフォルトの名無しさんNGNG
人間は生まれながらにして自由だが一方で鉄の鎖に繋がれている。
ルソーの社会契約論にそうある。
人間が家畜化してるらしいよ。
0549デフォルトの名無しさんNGNG
ままままじでわからんです!
appのInitInstanceの最後に

HICON hIcon = NULL;
hIcon = LoadIcon(IDR_MAINFRAME);
if (hIcon == NULL)AfxMessageBox (_T("アイコンがロードできません"));
data.Treeimage.Add(hIcon);

TreeimageはCImageListです。この状態でリビルドしてもエラーでないんすけど
ブレークポイントで調べると四行目のAdd関数の時にDebug Assertion Failed!
がでます。なんか悪い事してる・・・?
0550デフォルトの名無しさんNGNG
>>549
せっかくアサーションが発生しているなら、
CImageListのソースを見てみろよ。
0551デフォルトの名無しさんNGNG
>>550
エラーのとこに出てるフォルダ名vs70buildsで検索かけたけどでない。
インクルードフォルダもみたんですけど・・・。
ソースどこにあるんすか??
ソース見ろってことは俺悪い事してるのか
0552デフォルトの名無しさんNGNG
>>551
インストール時にMFCのソースも入れましたか?
0553デフォルトの名無しさんNGNG
あった!!!!けど、意味不明・・・。
BOOL Arrange(UINT nCode);
でエラーなんですけど、うぅ〜
0554デフォルトの名無しさんNGNG
{ ASSERT(m_hImageList != NULL); return ImageList_AddIcon(m_hImageList, hIcon); }
こっちでした。あ”ぁ〜・・・・・・・
0555デフォルトの名無しさんNGNG
>>553
それってCListCtrlじゃないの?
0556デフォルトの名無しさんNGNG
>>554
Create()してないでしょ。予想通りだけど。
0557デフォルトの名無しさんNGNG
笑っちゃうくらい凄いっすね。。。
まじ尊敬しちゃう・・・。ありがとうございました!!
0558デフォルトの名無しさんNGNG
>556
>>appのInitInstanceの最後に
だからね。Create()が通ってるわけもない。
0559デフォルトの名無しさんNGNG
え、普通にCreateしたらできましたよ。
てか、今度はプログラム自体のアイコンが変わっちまいました・・・。
もう一時間格闘したよ・・・
0560デフォルトの名無しさんNGNG
すいません。メモリ確保について質問です。

int x = 160;
int y = 30000
int *image = (int *)malloc( sizeof(int) * x * y );

for(i = 0 ; i < x * y; i ++)
image[i] = 0;

としたのです。このとき、i = 0でなぜかエラーになってしまいます。
デバッグするとimage[0]にメモリが確保されていないように思います。

これはどういう対処をすればいいのでしょうか?
0561デフォルトの名無しさんNGNG
>>560
callocを調べてみると幸せになれるかも。
0562デフォルトの名無しさんNGNG

覗いたが価値!ウキウキしますよ♪

http://angely.h.fc2.com/page004.html
0563デフォルトの名無しさんNGNG
>>558
意味わかんねー
0564デフォルトの名無しさんNGNG
最小化をするとタスクバーにアイコン化されるようにする
コードを教えて下さい
0565_NGNG
http://homepage.mac.com/hiroyuki44/hankaku09.html
0566559NGNG
たのむ・・・。もう・・・つかれた・・・。お、おしえてくんなまし
0567名無し@沢村NGNG
>>564
WS_EX_APPWINDOW
0568デフォルトの名無しさんNGNG
プログラムが分かる先輩が辞めてしまいいきなりC言語を見てくれって言われたんで
すけど全く分かりません!

LIBCD.lib(crt0.obj) : error LNK2001: 外部シンボル "_main" は未解決です
byrhkprt.exe : fatal error LNK1120: 外部参照 1 が未解決です。
link.exeの実行エラー

とエラーが発生するのですが何が原因なのでしょうか?
過去レスで
プロジェクトー設定-リンク で設定とあったのですがそのプロジェクトが見当たりま
せん。
使っているのはc++4.0です。
バージョンが古いのでしょうか?
教えてください。
0569デフォルトの名無しさんNGNG
AdjustWindowRectで、メニューバーが複数行になる場合でも1行分のサイズしか返さないんですが
正しい値を得る方法はありませんか。
というかこれできないとこの関数の存在意義ないじゃないですか!おかしいですよ!
0570559NGNG
アイコンのIDをIDRにしてた・・・。ごめん俺・・・俺・・・逝ってくるわ・・・
0571デフォルトの名無しさんNGNG
激しく厨な質問で申し訳ないのですが、
Platform SDK でHeader: 〜〜.idl
と書かれているものはどのようにして呼び出せばいいのでしょうか?
どうやら、COMみたいなのですが、Prog id もCLSIDもわからず…
0572571NGNG
詳しく言うとIStaticPortMappingインターフェイスを取得したいんですが…
0573デフォルトの名無しさんNGNG
idl自体はmidlでコンパイルすればいいが、
PlatformSDKなら、コンパイル済みな、同名.hが付属しているはず。
0574デフォルトの名無しさんNGNG
OfficeXPとかSleipnirみたいに、ツールバーとかメニューを
かっこよくするにはどうすれば??
0575571NGNG
NATUPnP.hだけでなくNATUPnP.idlすらありませんでした(汗
0576デフォルトの名無しさんNGNG
どこを探した?
0577571NGNG
HDの中すべて探したんだけど(検索した)
SDKを落としなおすしか…
0578デフォルトの名無しさんNGNG
ふーむ。

C:\Microsoft SDK\Include のディレクトリ

2001/05/30 18:20 67,477 natupnp.h
2001/06/03 22:49 10,086 natupnp.idl
0579571NGNG
そもそもPlathome SDKがはいってなかった予感
インスコ中でし
0580デフォルトの名無しさんNGNG
>>574
自作。

まあ、冗談はともかくとして、Sleipnirはこれ。
http://www.bcgsoft.com/

フリーでなんとかしたかったら、CodeGuruとかCodeProjectとかviksoe.dk
あたりから拾ってくるとか。
0581山崎 渉NGNG
(^^)
0582デフォルトの名無しさんNGNG
>>560
iはちゃんと定義されているのか?
0583デフォルトの名無しさんNGNG
VS.NETのMFCで拡張子を追加したくて、ファイルの種類エディタを開きたいんですが
表示メニューにエディタがなくてできないんですがどうすればいい??
0584デフォルトの名無しさんNGNG
VS.NETのWindows Installer作成機能で、
インストールの最後に「Windowsを再起動しますか(Y/N)」
というダイアログを出して再起動するようなものを作りたいんですが、
標準の機能だけでは無理なんでしょうか。

カスタム動作用のプログラムを作る必要がありますか。
でもその再起動用プログラムまでインストールする必要がありそう
なのが気になります。
0585_NGNG
http://homepage.mac.com/hiroyuki44/
0586無料動画直リンNGNG
http://homepage.mac.com/miku24/
0587デフォルトの名無しさんNGNG
インストールが必要な再起動プログラムってどんなだよw
0588デフォルトの名無しさんNGNG
>>587
おまえ、メジャーリーグ級の馬鹿だな。
カスタム動作用のdllもインストーラに含めるって意味に決まってるだろ。
0589デフォルトの名無しさんNGNG
猫でもわかるプログラミングのSDK編
第6章 簡単なメニューのところでお聞きしたいことがあるのですが、

Visual C++ .NET だとリソースエディタを使ってメニューを作成すればいい
というのは分かったので、実際にメニューを作ったのですが、
メニューバーそのもののIDの設定の仕方が分かりません。
メニューバー上で右クリックしても設定できないようですし・・・。

それと、IDが設定できれば
myProg.lpszMenuName = "メニューバーそのもののID";
とすれば良いと認識しているのですが、間違っているでしょうか?
0590583NGNG
めんどいから素直にMFC組みなおすわ
0591デフォルトの名無しさんNGNG
>>589
Resource View内の項目を右クリープロパティ
0592デフォルトの名無しさんNGNG
>>591
Menuが空じゃないと設定できなくない??
0593デフォルトの名無しさんNGNG
>>584
この順序でやってみよう。
(1)本当にOSの再起動が必要かどうか見直す。
アプリの作りを変えられないだろうか。
(2)InstallShieldかなにかを買う予算がないか交渉してみる。
(3)あきらめられないかどうか検討する。

(4)もしも、どーーーーしてもVS.NETでやらなくてはならいならば…
まずWindows Installer SDK(Platform SDKの一部)のドキュメントを熟読する。
orcaとmsi編集ツールを駆使するのだ!
0594593NGNG
>593に追加。
(4)は結局はmsiのプロパティをちょこっと変更すればいいだけなんだけど。
VisualStudioのビルドに組み込むのが大変だし管理しづらくなるので
全然お勧めしない。
0595583NGNG
つりーで苦戦してる。MFCでエクスプローラースタイルでつくって
GetTreeCtrl()でアイテム追加してるんだけど、
ttp://aiton21.tripod.co.jp/a.JPG
みたいになって、TVI_ROOT指定でもこれの上にアイテムが追加できない。
このもう一個上にアイテム追加するにはどうすれば?
0596595NGNG
上ってのは階層の話です。。。
0597デフォルトの名無しさんNGNG
>>595
これは全部ルートになってる
先にルート作って、そのときに返ってくるHTREEITEMを使って子を作る
0598595NGNG
TVS_LINESATROOT指定してたあああああああ!!
597さんまじすいません。。。
つくづく自分はばかだなぁと・・・・
0599デフォルトの名無しさんNGNG
CString iconname;
Treename = "icon";
HICON iconname;
間接操作のレベルが異なるって出るんだけど、
どうすればCStringの文字列でHICONを作れる??
0600デフォルトの名無しさんNGNG
あれ。。。
CString iconname;
iconname = "icon";
HICON iconname;
だよ
0601デフォルトの名無しさんNGNG
きのせいだよ
0602デフォルトの名無しさんNGNG
もうめちゃくちゃだな
0603584NGNG
>>593
解説ありがとうございます。
(1)は仕組み的にだめだったので、いまは(3)でやっています。
#やっているというかなにもしていないというかw

VS.NETのインストーラ作成機能はしょぼいんですね。
SDKのドキュメントにはいろいろ書いてあるっぽいのに
なぜできないんだろうと思っていました。

(4)はおすすめでないとのことなので、(3)を検討してみようと思います。
しかし8万か22万ですか...。
とはいえ、SDKのドキュメントを理解するのは大変そうですし。
0604デフォルトの名無しさんNGNG
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=999294620&res=81
に貼ってあるリングバッファのソースなのですが、
何処が悪くてコンパイルが通らないのか皆目検討がつきません。
どなたかご教授お願いします。
0605デフォルトの名無しさんNGNG
>>604に書いてある質問なのですが、
どういうエラーが出てコンパイルが通らないのか皆目検討がつきません。
どなたかご教授お願いします。
0606デフォルトの名無しさんNGNG
>>605
コンパイルとおったのですか?
下のはVCが吐いたエラーログです。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/file/999294620_82/CRINGBUFF.plg

ちなみにコードは書くだけかいてあるんですが、何で見っけてくれないのでしょう??
環境はVC6sp5です。どなたかご存知ありませんか??
0607デフォルトの名無しさんNGNG
>>606
簡単に言うと、おまいが test.cpp から呼び出した

int CRingBuff::Out
bool CRingBuff::In
CRingBuff::CRingBuff

は実体がねぇぞってコンパイラ様がお怒りに
なってるってこった。
0608604&606NGNG
書いてあるのだけど、何で見つけてくれないんだろ・・・。
うーん。
もうちょっと考えてみます。
#今見て気づいたけど、エラーログとIDEのエラー表示が若干違うな・・・。

>605&607
レスThx!
0609デフォルトの名無しさんNGNG
もまいら教えてくさい!!
VS6.0なのですが、上書きのときのエディタの
キャレットが通常のときと一緒なのですがVS.NETの
ように上書きのとき幅広にしてわかるようにできないものでしょうか?
0610デフォルトの名無しさんNGNG
DLLプロジェクトからLIBファイルを作成するにはどう
すればいいのでしょうか?
0611デフォルトの名無しさんNGNG
Cを知らないとC++を習得するのは無理ですか?
0612デフォルトの名無しさんNGNG
>>611
んなこたぁない。
0613_NGNG
http://homepage.mac.com/hiroyuki45
0614デフォルトの名無しさんNGNG
>>611
C++はCの拡張規格であるから、
C++でCの基本的な書式や関数はだいたいそのまま使える。
だから書式がC++より単純なCの方からやり始めた方が、
プログラミングの勉強がしやすい。

いきなりクラスとかコンストラクタとか聞かれてもわけ分からんでしょ?
0615デフォルトの名無しさんNGNG
いきなりポインタとか聞かれてもわけ分からんと思うが
0616デフォルトの名無しさんNGNG
なんで初心者用のguiを主体にしたC++のプログラム勉強のページとか本とかないんですか?(あってもちょっとしか載ってない)
魔法の文いっぱいでも良いから、誰か作ってよ!
exeファイルにならないとおもしろくないよぉ!
0617デフォルトの名無しさんNGNG
>>616
面倒でも最初はコンソールで
しこしこやったほうがいいだろうねぇ

どうしてもやりたいなら簡単なダイアログベースで
やればいいと思われ。
0618デフォルトの名無しさんNGNG
そこでBCBなんですっ!!
GUI主体のC++だから初心者でも安心
MFCと同じ、なんて考えてる人は一度触ってごらんよ
世界が変わるよ
0619デフォルトの名無しさんNGNG
>>616
そりゃ、VC++ は基本的に“GUI を主体にしていない”からですよ。
0620デフォルトの名無しさんNGNG
ウインドウズ同士の(移動、サイズ変更時の)当たり判定って簡単にやれる方法(APIとかで・・・)ないっすか?
一応チャイルドウインドウ限定ということで・・・。

spy++見ても、あるウインドウがWM_SIZINGとか来てるときに他のウインドウに重なっても、
重なられたウインドウってメッセージとかきてないみたいなんですよね。

やはり古典的な方法でやるしかないのでしょうか?
0621620NGNG
すいません、win32apiのみで、MFCは使用してないっす。
0622デフォルトの名無しさんNGNG
>>610
libファイルってDLLと同じ場所に勝手にできるんじゃなかたっけ?

>>620
SDK32:重なったウィンドウの表示されている部分を調べる
ttp://support.microsoft.com/default.aspx?scid=kb;ja;75236

「古典的な方法」って IntersectRect()を使うことかな?
0623620NGNG
>>622
ありがとうっす。なんとかなるかな?

古典的な方法・・・ゲームみたいにそれぞれ個別に自前でチェック・・・。
0624620NGNG
>>622
なんとかうまくいきそうです。ほんとありがとうございました。
0625610NGNG
>>622
>libファイルってDLLと同じ場所に勝手にできるんじゃなかたっけ?

すんません。クラスをエクスポートしていませんでした。
全く何もエクスポートしないとlibはできないんですね。
0626デフォルトの名無しさんNGNG
初心者用HP参考にしてなんとかやってる者でつが、
DirectInputの初期化で手間どってます
// DirectInput の初期化
ShowWindow(SW_SHOW);
167res = DirectInputCreate(AfxGetInstanceHandle(), DIRECTINPUT_VERSION, &m_pDInput, NULL);
if( res != DI_OK )
{
170res = DirectInputCreate( AfxGetInstanceHandle(), 0x0300, &m_pDInput, NULL);
if( res != DI_OK )return 1;
}
res = m_pDInput->CreateDevice( GUID_SysKeyboard, &m_pDInputDev, NULL);
res = m_pDInputDev->SetDataFormat(&c_dfDIKeyboard);
res = m_pDInputDev->SetCooperativeLevel( AfxGetMainWnd()->m_hWnd, DISCL_NONEXCLUSIVE | DISCL_FOREGROUND);
m_pDInputDev->Acquire();
上をビルトすると
c:\Download\Lv2_Src\MainFrm.cpp(167): error C2065: 'DirectInputCreate' : 定義されていない識別子です。
c:\Download\Lv2_Src\MainFrm.cpp(167): error C2440: '=' : ''unknown-type'' から 'HRESULT' に変換できません。
c:\Download\Lv2_Src\MainFrm.cpp(170): error C2440: '=' : ''unknown-type'' から 'HRESULT' に変換できません。
こんなエラーが出てきます。解決策教えて下され
0627デフォルトの名無しさんNGNG
>>626
鬱だ氏のう DirectX (Part 9)
http://pc2.2ch.net/test/read.cgi/tech/1054553472/
0628悩み常駐NGNG
winapiで、フォーカスのない時でも、キーイベントを監視したい、つまり、
常駐プロがラムを作成したい、誰か、教えてください。help help help
0629デフォルトの名無しさんNGNG
>>628
> 常駐プロがラムを作成したい

ごめん、少しワロタ
0630フック船長NGNG
>>628
SetWindowsHookとかそのあたりを使おう。
0631デフォルトの名無しさんNGNG
何気にMSDNライブラリを見るやつでwebみたらタブブラワザなんじゃ、、
0632デフォルトの名無しさんNGNG

外のフォルダにあるアイコンファイルを、現在のプロジェクトに
追加したいのですが、リソースビューで
「リソースの追加」→「インポート」として、他フォルダのアイコンファイルを
選択して「開く」としても何も起こらないのです。

「リソースの追加」の「インポート」ってどの様にして使うのですか?
全く何も起こらないのですが
0633デフォルトの名無しさんNGNG
>>632
パスに日本語を含むフォルダからはリソースがインポートできない。
VS.NETのバグと思われ。これVS.NET2003では直ってますか?
0634デフォルトの名無しさんNGNG
>633
どうもありがとうございます。
しかしVC.NETのバグだったとは・・・。
そういうバグ情報ってどこから仕入れているのですか?
0635デフォルトの名無しさんNGNG
SDIでリストコントロールとかツリーコントロールを作って、OnCrickのメッセージを
拾い選択されているアイテムの情報を得ようとしても、一回目のクリックは前回クリック
した位置のアイテム情報を拾ってしまうんですが、これを回避する手段はありますか?
UpdateDataをしてみたり2回GetSelectedItemをしてみても最初のクリックで拾うのは
無効なデータ(戻り値が0x00000000)になってしまいます

VC6SP5 Win98SEです。
0636デフォルトの名無しさんNGNG
>>635
>一回目のクリックは前回クリック した位置のアイテム情報を
一回目にクリックしたのになんで「前回」があるの?
0637デフォルトの名無しさんNGNG
if(前回のアイテム == NULL)
return;

みたいなのではダメなのか?
0638デフォルトの名無しさんNGNG
と思ったらなんか勘違いしてた
636同様よく分からん
0639635NGNG
>一回目にクリックしたのになんで「前回」があるの?
分かりづらくてすみません。一回目では前回の情報はありませんから
必ず失敗するんです。

クリック位置 : GetSelectedItemの戻り値
  一個目  :  失敗
  二個目  :  一個目のハンドル
  三個目  :  二個目のハンドル
  四個目  :  三個目のハンドル
    ・           ・
    ・           ・
という状況なんです。ちなみに同じアイテムを二回クリックすれば
そのアイテムのハンドルは得られるんですが、そんなことする必要の
あるソフトなんて見たことないですし・・・
0640デフォルトの名無しさんNGNG
あ、わかった。
OnLbuttonDown(){
i = GetSelectedItem()
DefWindowProc()
}
みたいなことになってるでしょ。
0641635NGNG
>>640
なってます。微妙に違いますが↓

OnClickTree(){
  m_hSelectedTreeItem=m_cTree.GetSelectedItem();
  TRACE(HTREEITEM[%08X]が選択されました\n",m_hSelectedTreeItem);
}
ってなってます。ほかにどうすればいいのか知らないので・・・
0642デフォルトの名無しさんNGNG
HitTestとGetCursorPos使って判定してくらはい。
http://www.codeguru.com/forum/printthread.php?threadid=231232
0643デフォルトの名無しさんNGNG
TVN_SELCHANGEDじゃあかんのか
0644635NGNG
>>642
参考にしてみたところ嘘みたいに動くようになりますた。ありが�d
0645635NGNG
う゛っSELCHENGEDならGeteSelectedItemでも出来るのね・・・
0646デフォルトの名無しさんNGNG
ソースを眺めてると標準ライブラリのstringでなくCStringを使ってる香具師が多いようですがCStringがstringより優れてる点ってどの辺りでしょうか
0647デフォルトの名無しさんNGNG
MFCがインターフェースとしてCStringを使っているから。
CString::Formatがあるから。
0648デフォルトの名無しさんNGNG
>>647
ありがと
0649名無し@沢村NGNG
>>646
マルチバイト文字に対応している。
0650デフォルトの名無しさんNGNG
VC++でリリースビルドした実行ファイルにプロジェクトファイルが保存されていた
フォルダ名が残っていますが消せますか?

それともみなさんあまりそういうの気にせずに配布してます?
0651デフォルトの名無しさんNGNG
>>646
参照カウントを使用していて代入やパラメータ渡しが高速だから
0652デフォルトの名無しさんNGNG
>>650 VC6で?ホントにリリースビルドか?
0653デフォルトの名無しさんNGNG
>>652
2003です
実行ファイルの場所がReleaseフォルダなので大丈夫じゃないかと思います

ちょっと訂正
pdbファイルがフルパスで記述されてます
0654デフォルトの名無しさんNGNG
>>653
Releaseビルドの場合もデフォルトでは/PDBオプションが付くようだ。
はずしかたは/PDBオプションのヘルプで。
0655デフォルトの名無しさんNGNG
>>654
構成プロパティ→リンカ→デバッグ→デバッグ情報の生成
をいいえにすることで解決しました
ありがとうございました
0656646NGNG
>>649>>651
CStringも結構便利なのね。
0657デフォルトの名無しさんNGNG
>MFCがインターフェースとしてCStringを使っているから。
これがでかいんじゃないかな。
wstring使っててもそれだけじゃすまないし。
0658デフォルトの名無しさんNGNG
>>655
これってプロジェクト毎に設定するしか方法ないのかな?
すべてのプロジェクトでReleaseビルドはデバッグ情報の生成を切る
オプションってないの?
0659デフォルトの名無しさんNGNG
シンボルファイルってどう使うんですか?
DirectX9.0bのシンボルとかDLしたんですが、使い道がサパーリ(;´Д`)
0660デフォルトの名無しさんNGNG
下記のようなメッセージが出るのですが原因がわかず困っています。
どなたか分かる方はいらっしゃいますか?

Warning: constructing COleException, scode = DISP_E_MEMBERNOTFOUND ($80020003).
例外処理 (初回) は RecTest.exe (KERNEL32.DLL) にあります: 0xE06D7363: Microsoft C++ Exception。
0661_NGNG
http://homepage.mac.com/hiroyuki45/hankaku05.html
0662恵比寿帝冥NGNG
ここ以外に良い掲示板があったら教えてください。
0663デフォルトの名無しさんNGNG
Visual C++.netのいい参考書orサイトってありますか?
0664デフォルトの名無しさんNGNG
>>662
マルチ
0665デフォルトの名無しさんNGNG
タスクトレイにアイコンを表示してメニューを表示するところまではできたんですが
そのメニューの項目をクリックしないと消えてくれません。

えっと、やっぱ他の別のウィンドウとかをクリックして
メニューがアクティブでなくなったら消えてほしいんですが
いつまでもしつこく出ています。

どーすれば、消えてくれるんでしょうか?
0666デフォルトの名無しさんNGNG
>>665
SetForegroundWindow(hWnd);
TrackPopupMenu(...);
PostMessage(hWnd, WM_NULL, 0, 0);

ってな話だったと思う。

ttp://msdn.microsoft.com/library/en-us/winui/winui/windowsuserinterface/resources/menus/menureference/menufunctions/trackpopupmenu.asp

これのRemarksとShow Exampleを見るべし。
0667デフォルトの名無しさんNGNG
XMLの出力をしたいんですが、普通にファイル出力で出力してくしか分からないんですが、
何かいい方法ありますか?
0668デフォルトの名無しさんNGNG
とりあえず、その分で本当に人に意味が伝わるか
自分で確認してからもう一度書いておくれやす。

何に対してどのようにしたいからXMLを出力したい?
0669デフォルトの名無しさんNGNG
テキストエディタをつくりたいのですがエディットボックスコントロールでは
最大32kbまでの文字列しかあつかえないそうですが大きなサイズの文章編集
が出来るものをつくるにはどうすればいいのですか
0670デフォルトの名無しさんNGNG
>>669
RichEditBoxだったかな・・・そんなのがあるよ
0671デフォルトの名無しさんNGNG
>670
ありがとうございます

助かります
0672デフォルトの名無しさんNGNG
>テキストエディタをつくりたい

もし、秀丸とかその系統のものを目指しているなら
自作が早道。RichEditCtrl はとかく使いにくい。
0673665NGNG
>>666
SetForegroundWindow(hWnd);
こいつがなかったせいみたいでした。
つけたらOKでした。
ありがとうございました。
0674デフォルトの名無しさんNGNG
VC++からDBの操作についてなのですが、
CDaoRecordsetの派生クラスをつくりクラスウィザードで
複数のテーブルを選択して派生クラスのメンバ変数として
選択した複数のテーブルがメンバ変数に登録されたのですが、
1つのテーブルだけを処理したいのですが、可能なのでしょうか?
たとえば下記のようなコードを実行すると意味のわからない
レコード数が戻ってきてしまいます。
クラスを作る段階で選択しているテーブルが1つだけなら
問題なくレコード数なのどは参照できるのですが・・・

----ここから----

CRecSet MyRecSet;
MyRecSet.Open();
MyRecSet.MoveLast();
long RC = MyRecSet.GetRecordCount(); //ここに意味不明な数値
MyRecSet.Close();
0675デフォルトの名無しさんNGNG
VC.NETなんですけどダイアログにコントロールを追加するには
どうすればいいんでしょうか?
0676恵比寿帝冥NGNG
662の結果です。

----------------------------------------
VC超初心者会議室
http://www.mtakahashi.com/bbs.htm
----------------------------------------
VC ラウンジ
http://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng.cgi
----------------------------------------
Visual C++ Q & A 掲示板
http://hpcgi1.nifty.com/MADIA/Vcbbs/wwwlng.cgi
----------------------------------------
2チャンネル
http://www.2ch.net/
----------------------------------------
VC++に関する質問・回答BBS
http://www.net24.ne.jp/~kenji/bbs/wforum.cgi
----------------------------------------
プログラミング質問掲示板
http://cgi2.html.ne.jp/~piro/bbs/wforum.cgi?page=0&mode
----------------------------------------
C言語関係掲示板
http://www2.realint.com/cgi-bin/tbbs.cgi?pointc
0677デフォルトの名無しさんNGNG
独自のライブラリを作ってそれに名前空間名Commonを
つけて、それをつかうために

using namespace Common;

と書いたのですが、

`global namespace'' のメンバではありません。

と叱られてコンパイルできません。
Common::function();
と完全修飾すれば通るのですが...

なにか原因は考えられるでしょうか?
0678677NGNG
↑C++相談室で教えてもらいますた。
ありがとうございますた。。。
0679デフォルトの名無しさんNGNG
新規作成(Win32プロジェクト)のコードをそのままビルドしようとすると

Debugだと
project1 error LNK2001: 外部シンボル "__RTC_InitBase" は未解決です。
project1 error LNK2001: 外部シンボル "__RTC_Shutdown" は未解決です。
project1 error LNK2019: 未解決の外部シンボル @_RTC_CheckStackVars@8 が関数 _WinMain@16 で参照されました。
project1 error LNK2019: 未解決の外部シンボル __RTC_CheckEsp が関数 _WinMain@16 で参照されました。
project1 fatal error LNK1120: 外部参照 4 が未解決です。

Releaseだと
project1 error LNK2019: 未解決の外部シンボル @__security_check_cookie@4 が関数 "long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z) で参照されました。
project1 error LNK2019: 未解決の外部シンボル ___security_cookie が関数 "long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z) で参照されました。
project1 fatal error LNK1120: 外部参照 2 が未解決です。

というエラーが出るのですが何が原因でしょうか?


環境/Win2000/VC++.NET
0680デフォルトの名無しさんNGNG
VC++.NETなんですけど、
WM_CLOSEメッセージが来た時に、MessageBoxを出して終了するかしないかを決定するのを組んだのですが、
メッセージボックスが表示されません。Altキーを押すと出てくるんですが。。
何が原因なんでしょうか?
以下がその部分です。よろしくお願い致します。

case WM_CLOSE:
int nResult;
nResult = MessageBox(hWnd, "本当に終了してもよろしいですか?", "確認",
MB_YESNO | MB_ICONQUESTION | MB_TOPMOST | MB_SETFOREGROUND);
if(nResult == IDYES) DestroyWindow(hWnd);
break;
0681デフォルトの名無しさんNGNG
つまらないことですがお願いいたします。
VC++のエディタでクラスのコンストラクタが自動メンバ表示
されないのですが(デストラクタはされる)何か理由が
あるのでしょうか?
0682デフォルトの名無しさんNGNG
直接呼べないコンストラクタを補完して何かうれしいのかね?
0683681NGNG
>>682
でもデストラクタは呼べるのですが。
0684デフォルトの名無しさんNGNG
たしかに、デストラクタは明示的に実行できるね。
でも、それは反論にはなっていないよ。
0685681NGNG
もう一回コンストラクタ、デストラクタから
勉強しなおしてきます。。。
0686デフォルトの名無しさんNGNG
デストラクタは明示的に呼べるが、
コンストラクタは明示的に呼べない。
従って、コンストラクタを補完する必要はない。
0687デフォルトの名無しさんNGNG
VC++6(sp5)でstlport4.5.3を使い始めたんですが、
#include <iostream>
#include <deque>
using namespace std;

上記のように宣言すると、iostreamでライブラリの競合エラーが出て使えません。
これを回避する方法ご存知でしたら教えていただけないでしょうか。
0688デフォルトの名無しさんNGNG
>>687
確かstlportの優先順位をageれば良かった気が…
0689デフォルトの名無しさんNGNG
C++って、Cより++(チョメチョメ)な分エロいんですか?
どんなプレイのことをC++(シーチョメチョメ)って呼ぶんですか?
それと昔、棒ランド(某ランド?)っていうヤバい会社もC++してたんですか?
MSのはVisual的にスゴいのか・・・(;´Д`)ハァハァ
0690687NGNG
>>688
解決しました。ありがとうございました。
0691デフォルトの名無しさんNGNG
C言語なら俺に聞け!スレから来たんですが、VCでのDLLの
作り方がよく わからず、困っております。どなたかわかりやすく
教えてください。 それか、ソースを晒すのでDLLにしてください。
おねがいします。(サイトみて手順通りやってみたけどできない
泣)
0692デフォルトの名無しさんNGNG
ソースだけ晒しても無駄ですんで、
どうできなかったのか具体的に説明してください。
0693691NGNG
http://www.angel.ne.jp/~mike/vb_dll/index.html
このサイトの通りやったんですけど、なんか、関数名(?)みたいな
所でエラーが出てしまい、また、defファイルの加え方もよくわかり
ません。教えてください。(Cはある程度使えますが、VCは本当に
初心者です)
0694デフォルトの名無しさんNGNG
>>693
http://www.athomejp.com/goldfish/
の
http://www.athomejp.com/goldfish/mfc/dll/csample.html
辺りを参照してみてください。
>>693のサイトより単純明快だと思いますんで。
0695デフォルトの名無しさんNGNG
VC++ 6.0でクラスライブラリを作って、そのヘッダやライブラリファイル
が入っているフォルダをオプションのディレクトリのところに登録したんだが、
いざそのクラスのヘッダファイルをインクルードしてもビルドはちゃんと
できるのにメンバがMFCやWin32の関数みたいにエディタのIntellisence機能で出てきて
くれないんだけど、どうしたらいいんでつか?
やっぱりその都度、プロジェクトにソースやヘッダファイルを追加しないとダメなんですか?
0696デフォルトの名無しさんNGNG
ヘッダーだけプロジェクトに参加させればえぇで。
0697デフォルトの名無しさんNGNG
昔にCでDOSで動くやつを書いていたんですけど、さすがにGUIアプリケーション作りたくなってVCを使ってみたいと思いました。この場合、開発過程の習得は簡単なのでしょうか?
不安なのはCとC++で文法がどれぐらい違うのかということです。
0698デフォルトの名無しさんNGNG
Console ApplicationをMFCサポートで作成しています。

プログラム実行中に、右上の×ボタンを押下すると強制終了できますが、
強制終了できないようにすることは可能でしょうか?
0699デフォルトの名無しさんNGNG
>>697
CとC++の違いっつうと、クラスとオーバーロードかね。(ほかにもあるけど)
もっともそれよりもWindowsアプリの場合は結構めんどくさい事しなきゃならんから
まずC++を勉強するのか先か?
猫でも分かるプログラミングでも読んでみ?
ぐぐればすぐ出る。
0700デフォルトの名無しさんNGNG
>>698
永遠に止まらないプログラムを書きたいのですね?
0701デフォルトの名無しさんNGNG
>>700
途中で窓を閉めてしまうとエラーがでてしまいます。
なので、処理終了後には自動で窓が閉めれるといいのですが・・・
0702デフォルトの名無しさんNGNG
ソースを選択してctrlかシフトを押しとどれかのキーを押すと自動にソースにあった
インデントが入る機能があったと思うんだが、どうやるんだっけ?
0703695NGNG
>>696
レスさんくすです。

Win32API関数とかが、何もしなくてもIntellisenceが起動するのはVC++内部の仕様なんですかね?
0704デフォルトの名無しさんNGNG
バグです
0705デフォルトの名無しさんNGNG
>>702
Ctrl+K→Ctrl+F (VC++.NET)
Alt+F8 (VC6)
0706デフォルトの名無しさんNGNG
>>697
違いというよりも追加要素といった方がいいな。
とりあえず、クラスの構造や機能を理解して、
さらにクラスの継承、コンストラクタ・デストラクタ、
オーバーロード、オーバーライド、エラー処理を
最低限抑えておくとVC++に移行しやすい。
テンプレートもやっておくと便利だが、
やらなくてもとりあえずVC++は使えるので、
VC++を使いながら勉強しても特に問題ない。

漏れはC→Java→VC++と変則型だったので、
VC++やりながらC++も勉強した。
まぁ、JavaとC++は内部処理的にはともかく書式は似ているので、
それほど苦にはならなかったけど。
0707デフォルトの名無しさんNGNG
>>705
あんがと
Altだったか。
0708デフォルトの名無しさんNGNG
Visual C++で

mylib.h
// mylib_tの説明
typedef struct mylib_t
{
int value; // valueの説明
} mylib_t;

// mylib_initの説明
void mylib_init(mylib_t *self);

mylib.c
#include "mylib.h"
#include <memory.h>

void mylib_init(mylib_t *self)
{
memset(self, 0, sizeof(*self));
}

というソースをビルドしてmylib.libを作ります。

次に別プロジェクトのapp.cからmylib.hをインクルードして
関数・構造体をインテリセンスで列挙したところ
コメント部分がチップヘルプで表示されません。
mylib.h, mylib.cをapp.cと同じプロジェクトに移動すると表示されます。
ソースを提供しないでヘッダとライブラリファイルだけでリリースして
なおかつインテリセンスのチップヘルプでのコメント表示を有効にするには
どうすればいいのでしょうか。mylib.bscをlibと同じディレクトリに生成しても表示されませんでした。
0709デフォルトの名無しさんNGNG
>>708よ。VisualC++スレで
>Visual C++で
は、ないだろ。
0710デフォルトの名無しさんNGNG
>>708
不可能。
0711デフォルトの名無しさんNGNG
質問お願いいたします。
TRACE0マクロでデバッグウィンドウに文字を出力する方法を
最近覚えたのですが、例えばintとかに入っている
数値を出力する場合も文字に変換しないといけないのでしょうか?
(そのまま出力すると数値でなく文字化けみたいになるのですが)
0712デフォルトの名無しさんNGNG
// TRACE の例
int i = 1;
char sz[] = "one";
TRACE( "Integer = %d, String = %s\n", i, sz );
0713711NGNG
>>712
できました!
サンクスコです!!
0714691NGNG
どうにか作ってみたんですが、VBから呼び出せないようです。
書き方自体が根本的に間違っているかもしれないので、
どなたか見てやってください。
ちなみに、外から呼び出したいのはdoublemulapi関数だけで、他の関数は
DLLの中でdoublemulapi関数から呼ばれるだけの関数です。
http://www12.ocn.ne.jp/~mygrid/DOUBLEMUL.TXT
0715山崎 渉NGNG
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
0716デフォルトの名無しさんNGNG
extern "C"が要らなかったっけ?
0717691NGNG
>>716
すいません。本当に手探りなので、どこに付けるのか
教えていただけるとうれしいです。
(ちなみに、return a+b;だけの関数を備えたDLLの場合
は今の書き方で出来ました。関数1個だけの場合)
0718デフォルトの名無しさんNGNG
ファイルを実行したら、DAMAGE: after normal block(#40)というのが出てきました。
これは何なんでしょうか?
0719デフォルトの名無しさんNGNG
板違いの指摘を受け、パソコン初心者板から移動してきました。

クライアント領域にビットマップを表示したいのですが、
メモリデバイスコンテキストに割り当てたビットマップクラスオブジェクトは
表示終了後に必ず解放しなければなりませんか?
例えば以下のようなコードにおいて、最後の::SelectObject呼び出しは必須ですか?
これを行わないで関数が終了した場合、
pMDCはスコープを失ってDeleteされた結果として
何らかの深刻なエラーを引き起こしますか?
もし起こすとしたら、なぜ起こしますか?

{
 CBitmap Bitmap,*pDefBitmap;
 CDC *pMDC;
 pMDC = new CDC;
 // この辺りで::LoadBitmap
 pMDC->CreateCompatibleDC(pDC);
 pDefBitmap = pMDC->SelectObject(&Bitmap);
 // この辺りで::BitBlt
 pMDC->SelectObject(pDefBitmap); // ←ココ
}

CPenクラスやCBrushクラスも同様に解放を行わないと実行時エラーが起きるようですが、
どうして起こるのか原理がサポーリです。;_;
高名な先輩プログラマの皆様、よろしくおねてぃ。
0720デフォルトの名無しさんNGNG
というか解放して問題が出なければとりあえず解放しといた方が良いと思うんだが
0721デフォルトの名無しさんNGNG
それいぜんに、そのコードでは、pMDCとかがリークしているわけだが。
0722デフォルトの名無しさんNGNG
>>721
pMDCは関数の終了とともにスコープを失って
自動的にデリート(デストラクタ呼び出し)されませんか?

では↓

{
 CBitmap Bitmap,*pDefBitmap;
 CDC MDC;
 // この辺りで::LoadBitmap
 MDC.CreateCompatibleDC(pDC);
 pDefBitmap = MDC.SelectObject(&Bitmap);
 // この辺りで::BitBlt
 MDC.SelectObject(pDefBitmap); // ←ココ
}

MDCを静的に確保してみましたが、これならどうでしょう?
0723デフォルトの名無しさんNGNG
>>722
(´-`).。oO(pDefBitmapってちゃんとオブジェクトを指してんのか?)
0724デフォルトの名無しさんNGNG
>722
されない。断じてされない。スコープがはずれるのは、ポインタそれ自体で
あって、ポインタの指し示す先にあるオブジェクトではない。
struct test{ ~test(){printf("d");} };というクラスでもでっち上げて試してみたらどう?

さてSelectObjectだが。
・必須です。
・起こします。
・MSDNのDeleteObjectのRemarkには、"Do not delete a drawing object (pen or brush)
while it is still selected into a DC."とあります。そのようなことを前提にAPIが
設計されていないから、でしょう。失敗すれば、結果はリソースリークです。
0725719=722NGNG
>>724
>スコープがはずれるのは、ポインタそれ自体であって、
>ポインタの指し示す先にあるオブジェクトではない。

そうでした・・・。m(__)m
今再度調べてみたところ、
::SelectObjectは解放されたオブジェクト(今まで参照していたオブジェクト)を
デストラクタを呼び出してdeleteする機能があるので、
明示的には::DeleteObjectを呼ばなくていいみたいですね。
そういう意味でも、最後の::SelectObject呼び出しは必須だということで・・・
むぅ、動作が難解だ・・・。;_;

回答どもでした。また何かありましたらよろしくお願いいたします。m(__)m
0726719=722NGNG
>>723
 pDefBitmap = pMDC->SelectObject(&Bitmap);

これは正当なようです。
とりあえず、コンパイラは文句いってきません。(笑
0727719=722NGNG
>デストラクタを呼び出してdeleteする機能があるので、
>明示的には::DeleteObjectを呼ばなくていいみたいですね。

・・・と思ったら、やっぱりちゃんとdelete pMDC;ってやんないとダメみたいだわ。(笑
0728デフォルトの名無しさんNGNG
VC6ので、ファイルをオープンする時に
const char* じゃなくて stringって使えますでしょうか?

#include <fstream>
...略...
string FNAME = "c:\test.txt";
ifstream file_in;
file_in.open(FNAME);

みたいにしたいのです。
0729デフォルトの名無しさんNGNG
>>728
やってみろよ。
0730デフォルトの名無しさんNGNG
新規作成(Win32プロジェクト)のコードをそのままビルドしようとすると

Debugだと
project1 error LNK2001: 外部シンボル "__RTC_InitBase" は未解決です。
project1 error LNK2001: 外部シンボル "__RTC_Shutdown" は未解決です。
project1 error LNK2019: 未解決の外部シンボル @_RTC_CheckStackVars@8 が関数 _WinMain@16 で参照されました。
project1 error LNK2019: 未解決の外部シンボル __RTC_CheckEsp が関数 _WinMain@16 で参照されました。
project1 fatal error LNK1120: 外部参照 4 が未解決です。

Releaseだと
project1 error LNK2019: 未解決の外部シンボル @__security_check_cookie@4 が関数 "long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z) で参照されました。
project1 error LNK2019: 未解決の外部シンボル ___security_cookie が関数 "long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z) で参照されました。
project1 fatal error LNK1120: 外部参照 2 が未解決です。

というエラーが出るのですが何が原因でしょうか?
また、"__RTC_InitBase"や"__RTC_Shutdown"などは何なのですか?
ぐぐってもダメでしたし、MSDNにも見つかりませんでした。

よろしくおねがいします。
(環境/Win2000/VC++.NET)
0731デフォルトの名無しさんNGNG
>>730
ヘッダファイルに付属していたであろう
*.lib をプロジェクトにぶちこめ!
0732728NGNG
c_str使ったりいろいろ試したんですが無理でした。
素直にconst char* でやります。
0733デフォルトの名無しさんNGNG
>>732
string.begin()
0734デフォルトの名無しさんNGNG
あるいはMFCならCStringを使うといい
0735691NGNG
>>714
どうやら、戻り値がないとDLLはだめ?なのかIntで戻り値を返す
ようにしたら普通に呼び出せるようになりました。(書き方は変えました
が)この事は常識なのでしょうか?それとも、やはり私の書き方がおかし
いのでしょうか。まぁ、とりあえずできたのでよしとします。
0736デフォルトの名無しさんNGNG

コーポレイトソフトウェアていうサポセンの馬鹿が
PGに喧嘩売ってます。

http://money.2ch.net/test/read.cgi/haken/1057486349/287

腹立ちました。
みんなでやっつけにいこう。
0737べんとらべんとらすぺーすぴーぽーNGNG
質問させてください。m(__)m
これはCPenオブジェクトの配列にそれぞれ別個のPen設定を保存して、
それを切り替えながら文字や線を描画する処理です。

void PenTest(CDC *pDC){
  const int iMaxPen = 5;
  CPen *myPen[iMaxPen],*pOldPen;
  pOldPen = (CPen*) pDC->SelectStockObject(BLACK_PEN);  // デフォルト設定を保持
  for (int i=0; i<iMaxPen; i++){
    myPen[i] = new CPen;
    // ::CreatePenでmyPen[]の各要素に別個のPen設定を保存する
  }
  // 適宜Penを切り替えながら描画する何らかの処理
  // pDCをデフォルト設定に復帰した後、myPen[]を削除
  pDC->SelectObject(pOldPen);
  for (i=0; i<iMaxPen; i++){
    myPen[i]->DeleteObject();
  }
  delete [] myPen;  // ← ココ
}

描画が終わった後、メモリ領域をdeleteしようとすると実行時エラーが起きます。
なぜなんでしょう?;_; ちなみに、
  for (i=0; i<iMaxPen; i++){
    myPen[i]->DeleteObject();
    delete myPen[i];  // ← ココ
  }
のように書くとエラーはおこりません・・・。
むぅ、どちらも配列を削除していることには違いないんだけど・・・。
0738デフォルトの名無しさんNGNG
>むぅ、どちらも配列を削除していることには違いないんだけど・・・。

char *p[2]; p[0]=malloc(10); p[1]=malloc(10)
char *p=malloc(20);
の違いがわかるか?
0739737NGNG
>>738
むほっ。よく分かりません。;_;

最初の行は要素2のポインタ配列を用意して、
要素のそれぞれに10バイトのメモリ領域へのポインタを割り当てています。
これはdelete [] p;で削除します。

2番目の行は(配列ではない)ポインタに
20バイトのメモリ領域へのポインタを割り当てています。
これはdelete p;で削除します。

これと>>737とがどういう風に結びつくのでしょうか。_●□=
0740デフォルトの名無しさんNGNG
VC++6.0ってXPにもいれられますか?
0741デフォルトの名無しさんNGNG
>>739
> これはdelete [] p;で削除します。
だめ
0742デフォルトの名無しさんNGNG
>739
1.char *p[2]; p[0]= new cahr [10]; p[1] =new char [10]
2.char *p[2]; p[0]= new char; p[1]=new char;
・1,2について解放の仕方をそれぞれ述べよ(10点)。
0743737NGNG
>>742
1番
{
  char *p[2];
  p[0]= new char [10]; p[1] =new char [10];
  for (int i = 0; i < 2; i++){
    delete [] p[i];
  }
}
2番
{
  char *p[2];
  p[0]= new char; p[1]=new char;
  delete [] p;
}

・・・くわっ!Σ( ̄□ ̄;
そうか、delete [] p; っていうのは、
ポインタが参照するメモリ領域が配列の時に使うのですね!
ポインタ自身が配列の時に使う構文じゃないってことですか。
2番は間違えですね。ひゃっひゃっひゃ・・・恥ずかP。(〃゚▽゚;A

ありがとうございました。m(__)m
0744デフォルトの名無しさんNGNG
appidってどうやったらわかりますか?
0745デフォルトの名無しさんNGNG
appid?
0746デフォルトの名無しさんNGNG
>>740
http://www.microsoft.com/japan/msdn/vs_previous/vstudio/techinfo/toolos.htm
0747744NGNG
アプリケーションIDだと思うんですけど。プログラムIDと同じらしいですが
0748デフォルトの名無しさんNGNG
とりあえず、appidが出てくるurlの例でも示せ
0749デフォルトの名無しさんNGNG
ちょっと相談、っていうか教えて欲しい。

今開発中のアプリにテキストの表示機能が必要と言うことになった。
Notepad.exeを呼び出してもいいが、そのファイルを変更されてしまう可能性がある。
となると、アプリ中で表示しないといけないのだけどなにか手っ取り早い手はあるかな?
0750デフォルトの名無しさんNGNG
MFCなら CEditView とかダイアログにテキストボックス作ってそれで表示するとか
Win9xなら64kの制限あるけど
0751デフォルトの名無しさんNGNG
Visual C++.NET でプロファイラを使おうと思ってマニュアルを調べたのですが、
「/PROFILE リンカ オプションは削除されました。」
や
「リンカ ユーティリティであるソース プロファイラは削除されました。」
という記述しか見つかりませんでした。
プロファイルできなくなってしまったんでしょうか?
0752749NGNG
>>750
NotepadもWin9xだと32KBの制限があるから64KBなら問題なし。
ってことで、ダイアログ作って中身をスクロールバーつきのEditBoxでやることに。
レスThx.
0753デフォルトの名無しさんNGNG
VisualC++6.0でC言語(C++ではなくて)を勉強し始めた超初心者なんですが
#include <igraph.h>で、プログラムを作っても
「fatal error C1083: インクルード ファイルがオープンできません。'igraph.h'」となって実行ができません。
付属の解説書を読んで自分の知識では答えが見つけられませんでした・・・。
物凄い初歩的な質問で恐縮なんですがグラフィックスをプログラムする場合
どのような設定をしたらよいのか、無知な自分にどなたか教えてやって頂けないでしょうか。
0754デフォルトの名無しさんNGNG
「今私のオッパイ見てたでしょう。」ってそりゃ見ますって。
これだけの立派なオッパイが目の前にあったら。
淫乱女教師がフェラ、パイズリで同僚の先生を責めまくります。
挿入部のアップも豊富なのでオマンコもモロ見えですよ。
無料動画をどうぞ
http://www.exciteroom.com/
0755デフォルトの名無しさんNGNG
>>753
そんなファイルはないか、またはその解説書オリジナルのものだと思う。

絵を書きたかったらWindowsプログラミングのスキルは必須。
>>2の「猫でも〜」を見ることをお勧めする。
Windows SDK編 第1部 25章あたりで絵を描いてるから。
0756デフォルトの名無しさんNGNG
>>751 .NETスレで聞いてくらはい
0757デフォルトの名無しさんNGNG
あれ? VC++は .NETも含めてこのスレ?
0758デフォルトの名無しさんNGNG
>>754
誰が貴様のような自意識過剰女なんぞ見るかよ!
0759デフォルトの名無しさんNGNG
>>755
勉強しなおしてきます・・・。ありがとうございました。
0760デフォルトの名無しさんNGNG

       期限は 8/20 まで

文部科学省に反対メールを!!今しかない!

「朝鮮学校含め大学受験資格容認へ 来春入試から、文科省方針」
http://www.sankei.co.jp/news/030802/0802sha008.htm

文部科学省 http://www.mext.go.jp/f_mailto.htm

文部科学省ご意見メールアドレス [email protected]  <<<ここ

(友人知人家族にも知らせてね!携帯からもメールできます。反対の意思表示を!)

組織的工作で、朝鮮総連が文部科学省に「認めろ」とメール攻撃中。
2chが応戦中。応援お願いします。メールで「絶対反対!」の意思表示だけでも!
一人でも多くの方のご協力をお願いします!
0761_NGNG
http://homepage.mac.com/yamazaki8
0762デフォルトの名無しさんNGNG
#include <stdio.h>
#include <conio.h>
int main(void)
{
  for(;;)//終了はCtrl+cで
  {
    if(kbhit())
      printf("%c ",(char)getch());
  }
  return 0;
}

ビルド時に自動的に実行されるプログラムに比べて、Debug、Releaseフォルダに
できた.exeのスピードが遅くて困っています。配布する時に動作の悪い方しか
できないので。解決方法を教えてください。
0763762NGNG
>>762
スピードが遅いと言うのは、キーを押しっぱなしにした時の事です。
0764デフォルトの名無しさんNGNG
くだらんよチミ
0765デフォルトの名無しさんNGNG
C++.NETのWindowsフォームアプリケーションでプログラムを作っているのですが
CStringArray型を使いたいと思い#include "afxcoll.h"をしてみたら
MessageBox::Show("1");の場所で
error C2653: 'MessageBoxA' : 識別子がクラス名でも名前空間名でもありません。
error C2660: 'System::Windows::Forms::Control::Show' : 関数に 1 個の引数を指定できません。
というエラーが出てしまいます
#include <afx.h>を記述しただけでエラーが発生してしまうのですがエラーを消す為にはどうしたらいいでしょうか?

From1.h内
private: System::Void button1_Click(System::Object * sender, System::EventArgs * e)
{
//CStringArray Cst_File_Array;
MessageBox::Show("1");
}

From1.cpp内
#include "stdafx.h"
#include "afxcoll.h"
#include "Form1.h"
#include <windows.h>
0766デフォルトの名無しさんNGNG
>>765
WindowsフォームアプリでMFCのクラスを使えるの?
0767デフォルトの名無しさんNGNG
>>762
標準出力はバッファリングされる。
0768デフォルトの名無しさんNGNG
VC++で、セマフォみたいな機構を利用したいのだがなんかあったっけ?
0769デフォルトの名無しさんNGNG
>>766
MessageBox::Showを使わなければ
エラーが発生せず正常に使えます
String* Str_File_Array[];の配列だとAddが使えず・・
SystemArray型はサイズが固定なので動的には使えず・・
なので文字列を追加していく処理を行うにはCStringArray型を
使うとかなり楽なんですよ
だからMFCクラスを使おうと思っているんですが
0770デフォルトの名無しさんNGNG
>>769
Vectorでstring使っちゃダメなの?
0771デフォルトの名無しさんNGNG
>>770
すいません
「Vectorでstring」ってどういう意味ですか?

#include <string>
using namespace std;
で通常のbasic_stringを使うという事でしょうか?
0772デフォルトの名無しさんNGNG
std::vector<CString>ってことだろ。
0773デフォルトの名無しさんNGNG
>>769
ArrayList
0774765NGNG
>>772
なるほど、そういう事ですか
ありがとうございました

>>773
ArrayListでうまくできました
本当にありがとうございました
はまっていた所なんで助かりました
0775デフォルトの名無しさんNGNG
C++.NETFrameworkでiniファイルの書き込みと読み込みをしたいのですが
ネットで調べた所したのURLにサンプルコードがあったのですがC#で書かれていて
よくわかりません

ttp://www.atmarkit.co.jp/fdotnet/dotnettips/039inifile/inifile.html

このサンプルコードをどのように使えばいいのでしょう?
試しにclass IniFileHandler {}をコピペしてみましたがエラーが発生してしまいました(当たり前だが)
error C2814: 'Ar::Form1::IniFileHandler' がマネージ 'Ar::Form1' の中で定義されています。明示的に __gc、__nogc または __value を指定する必要があります。
error C2337: 'DllImport' : アトリビュートが見つかりません。ビルトインまたは、現在の名前空間でアクセスできるカスタム属性ではありません。
error C2143: 構文エラー : ';' が 'public' の前にありません。

どうかよろしくお願いします
0776デフォルトの名無しさんNGNG
WritePrivateProfileString と GetPrivateProfileString を調べれ。
0777デフォルトの名無しさんNGNG
>>768
CSemaphore
■ このスレッドは過去ログ倉庫に格納されています