トップページ⇒tech
1001コメント309KB

VisualC++相談室 6

レス数が1000を超えています。これ以上書き込みはできません。
0001いさましいチビNGNG
VisualC++関連の話題を扱うスレッドです。

旧スレッド
http://pc.2ch.net/test/read.cgi/tech/1006834463/l50
0002デフォルトの名無しさんNGNG
もったいないなぁ、まだ書き込めたのに。
0003いさましいチビNGNG
>>2
ぎりぎりまで書き込むと、そっこうでdat落ちするみたいなんで、
余裕があるうちに作りました。
0004死NGNG
Effective C++の47項に書いてあるシングルトンのやり方で、
inlineにしても大丈夫なコンパイラを教えてください。
というか、VC++6.0はオッケーですか?
00054NGNG
自分で調べてみます。
答えていただかなくて結構です。
0006死NGNG
>>5
そんな巧妙なトラップを仕掛けなくても、普通に
「自分で調べろや、ゴルァ」でいいじゃないですか…。
0007学習中NGNG
VC++6.0でコンパイルをかけた時、「このプログラムは(0x0)で終了しました」と出ますが、いったい何が起こっているんですか?
0008デフォルトの名無しさんNGNG
システムに致命的なエラーがでたって、今すぐOSリカバリーしる!
00098NGNG
>>7ね、できるだけ急げよ。
0010デフォルトの名無しさんNGNG
>>7

>>8の言ってることは信じるなよ。
それはプログラムの完成度の高さだよ。
「(0x0)で終了しました」はまあまあかな。
ほかに
「(≧x≦)で終了しました」や
「(;´Д`)」や「(・∀・)」なんかもある。
0011デフォルトの名無しさんNGNG
>(;´Д`)
はエロゲのプログラムしてるときよくでたよ。
0012デフォルトの名無しさんNGNG
「このプログラムは(;´Д`)ハァハァで終了しました」
0013デフォルトの名無しさんNGNG
main.cpp( 56 ) : (・∀・)ニクコプーン
0014デフォルトの名無しさんNGNG
>>7

まぁまぁだね。
最高のときは永遠に終了なんてしないさ。
0015デフォルトの名無しさんNGNG
はじめてのWindowsプログラミング�@〜�B、って本と
MSDNでVC++6.0の勉強してるんですけど
関数とか構造体などについて調べる時に
MSDNでは効率が悪いなぁ、と感じています。

こんな漏れにおすすめの本ってありませんか?
0016デフォルトの名無しさんNGNG
どんな本よりもMSDNのほうが効率がいいと思う俺は逝ってよし?
0017デフォルトの名無しさんNGNG
>>15
関数とか構造体だろ?へたな本よりはるかにMSDN早いぞ。
なれなさい。
0018デフォルトの名無しさんNGNG
>>15
ためしにBITMAPINFOHEADERを調べて見れ。
キーワードを入力するだけで数秒で目的の情報が得られる。
あの説明を本にしたらそれだけで2〜3ページになっちまう。
その上ご丁寧にV4〜5HEADERや関連項目へのリンクまで張ってある。
これより効率のよい本はまず無いと思われ。
0019デフォルトの名無しさんNGNG
LRESULT CALLBACK MainDlgProc(HWND hDlg,UINT uMsg,WPARAM wP,LPARAM lP)
{
static HWND hLV;
switch (uMsg) {
case WM_INITDIALOG:
  hLV = GetDlgItem(hDlg,IDC_LIST);
  InitializeLV(hLV);
  break;
  ....
として自作関数InitializeLVの中でさらに別関数を呼ぶ時に、
InitializeLVの引数であるhLVをそのまま渡しているんですが
たらい回しみたいで変な感じがするんですがこれは普通なんでしょうか?
実際はInitializeLVからリスト構造にアイテムを追加する関数を
呼んでいるのでMainDlgProcで宣言したリストの先頭アドレスも
渡しています。
0020デフォルトの名無しさんNGNG
>>19
人は知らないけれど、別におかしくないと思うYO!!

0021225NGNG
>>20
hLVがstaticなのはちょっと普通じゃないと思われ。
002220NGNG
>>21
見落としてました。逝ってきます。
0023デフォルトの名無しさんNGNG
>>21>>22
ありがとうございます。
staticは直します。
0024デフォルトの名無しさんNGNG
VC4でコンパイルしたオブジェクトとVC5以降でコンパイルしたオブジェクトっ
てリンクしても問題ない? もちろん-Mオプションは一致させるとして。
0025デフォルトの名無しさんNGNG
>>24
多分、ヘルパルーチンの名前が違うんじゃないかな。
だとしたらリンクは無理。
できたとしても、激しく心配。
0026デフォルトの名無しさんNGNG
>>25
やぱし。tnx
002715NGNG
>>16-18
やはり、MSDNが一番ですか。
会社の先輩にも同じ事言われたんですよ。
個人的には、横に本があった方が
やりやすいのですが…
馴れるしかないですね。ありがとうございました。
0028デフォルトの名無しさんNGNG
>>27
それは単に紙の方が読みやすいってことでは?
俺もディスプレイ上でMSDNの不自然な日本語訳らしき文を読むよりは
書籍の方が読みやすいけど、リファレンスとして関数や構造体を
調べるならMSDNの方が効率的だと思う。
0029デフォルトの名無しさんNGNG
VBスクリプトだからここじゃないかもしんないけど。
マクロでdoxygenのコメントをつけれるようにしようと思ってVCの
マクロを作成中なのです。

ActiveDocumentのコメントサーチをするときに思ったんだけど、
EOFってどうやって見つけるんですか?
ドキュメントの行数を取得するプロパティみたいなのも無いし。
やっぱドキュメント全選択してSelection.TopLine->BotomLineで
行数をカウントするしかないのか?ダサッ(藁

つかこゆーのは普通アドインなの?
0030デフォルトの名無しさんNGNG
あげ。
0031デフォルトの名無しさんNGNG
最近COMに興味を持ち始めました。
インターネット関連のプログラム(ASP)をやるとなるとCOM(サーバーの方)て必要ですよね?
そこでCOM関連の解説サイトを探しています。
「猫でもわかるプログラミング」みたいな感じでサンプルと解説を行っているサイトって有りませんか?
教えてチョンマゲ!

0032デフォルトの名無しさんNGNG
>>31
プログラムやめろ。
0033デフォルトの名無しさんNGNG
>31
COMじゃなくてまずSOAPを勉強するのが筋というもんです。
0034デフォルトの名無しさんNGNG
>>33
異様に大変らしいね。あれ。
0035デフォルトの名無しさんNGNG
COMもSOAPも理解できてないけどWEBサービス簡単に出来たーYO!
0036デフォルトの名無しさんNGNG
>>35
恐ろしい世の中だ・・・
0037デフォルトの名無しさんNGNG
>>36
激しく同意。

全然関係ないけどさぁ、どうも最近の世の中って、
便利な手段さえ使えば、及第点ぐらいの内容が作れた気になってる厨房が多くない?

きっと「ASPといえばCOM」ってーヤツは、「サーバといえばIIS」で、
「ブラウザとはIEのこと」と思ってるんじゃねーかな。

Badtrans.BやCodeRedの普及を激しく応援したくナターヨ。
0038デフォルトの名無しさんNGNG
> Badtrans.BやCodeRedの普及を激しく応援したくナターヨ。
奴らは応援なんて必要としてないと思われ……。
ガタガタ(((;゚Д゚))ブルブル
0039デフォルトの名無しさんNGNG
ATLのインプロセスサーバーを作ってます。
チュートリアルをやってみて何となく分かった気がします。
VCでビルドすると勝手にレジストリに登録しますが完成したプログラムを他のPCにインストールする場合は
DllRegisterServerを使って登録するんですよね?
インストーラでDLL読み込んでDllRegisterServerをコールって感じ?
それとATLオブジェクトウィザードで「フルコントロール」とか「ライトコントロール」とかありますが
さっぱり分かりません。チュートリアルは「フルコントロール」を使っていたので自分は「フルコントロール」を
使っていますが「フルコントロール」じゃなくて「ライトコントロール」を使わないと都合の悪い時ってあるんですか?
一応ATLの勉強として「フラッシュ」のようなものを作りたいんですが可能ですよね?
0040ABZNGNG
ClassView内の関数や変数にマウスのポインタを合わせると、四角で囲まれる関数や変数と
なにもアクションが無い関数や変数があるのですが、それらの違いって何なのですか?
0041デフォルトの名無しさんNGNG
>>40
VC++の性能の限界じゃねぇの?
VC++7だとかなり性能上がってるよ。
.や->のコード補完もかなり賢くなってる。
0042デフォルトの名無しさんNGNG
ATLCOMオブジェクトを新規作成して、
適当なカスタムインターフェイスで
返値としてHRESULTを返さないメソッド(BOOLとかを返す)を作ると、

interface IFrameCallup : IUnknown
{
[helpstring("メソッド CallFrame")] BOOL CallFrame();
};

MIDLコンパイラに怒られます。
error MIDL2269 : procedures in an object interface must return an HRESULT : [ Procedure 'CallFrame' ( Interface 'IFrameCallup' ) ]

何がいけないんでしょうか?
004342NGNG
インターフェイス宣言にlocalを追加したら通りました。(理由は?)
お騒がせしました。
0044デフォルトの名無しさんNGNG
IMediaPlayerを使ってムービープレーヤーを作ってます。
MFCで CWnd::CreateControl でメディアプレーヤーを起動(?)させています。
再生などは問題なく出来ていますがイベントってどうやって取得したらいいんですか?
_MediaPlayerEvents の PositionChange を処理したいんですけどやり方が分かりません。
QueryInterface でインターフェイスを取得しようとしても失敗します。
というよりイベントのインターフェイスを取得しても意味が無い?
COM初心者です。
MSDNに解説があるのかもしれませんが、どこ読んでいいのか分かりません。
とにかく教えて。

ついでに言うと IRealPlayer も使っているんですがムービーが表示されません。
再生自体は出来ていると思うんですがコントロールパネルが画面一杯に表示されてムービーを表示するウィンドウがありません。
どのメソッドを使えばムービーを表示出来るようになりますか?

昼からずっと考えていますが限界です。
死ぬほど眠いので眠りにつくことにします。
さようなら・・・
0045C++消防NGNG
質問させて下さい
引数付きのマニピュレータを作りたいのですが
これは可能でしょうか?

具体的には 倍精度を表示する際に
12.3E+001
という表示を
12.3E+01
と,指数部の桁数を変更したいのですが.
よろしくお願いします.
0046デフォルトの名無しさんNGNG
とりあえず、あげ!!!
0047号泣マンNGNG
>>http://pc.2ch.net/test/read.cgi/tech/1006834463/956
どうもありがとうございました。
探してみます。
また、御助言ありがとうございました。
0048ABZNGNG
>>41
限界ですか・・・ってどういう条件のとき四角で囲まれるのかも
わからないので、7不思議にしときましょうか。
0049デフォルトの名無しさんNGNG
>>40 >>48
単にクラス名が長くて ClassViewのウィンドウに収まっていなければ、
四角で囲まれて(ツールチップで)フルネームが表示される。

ただ、それだけのことじゃないのかな?
005041NGNG
すまん、よく読んでなかった。
ClassViewなら>>49の言うとおり。
ちなみにVS.NETβ2だとこのチップをクリックしても関数のところへ飛ばないという仕様だかバグだかわからない感じだ。
0051デフォルトの名無しさんNGNG
クラスがいまいち良くわかりません。

はじめはグローバルで関数を作っていましたが、関数が多くなりそうなのでクラスを作ることにしました。
で、genericクラスで新規作成してそこに関数を入れましたが、
「定義されていない識別子です」とエラーが出ます。

そこで自分なりに調べた結果、関数を呼び出しているソースファイルに
自作クラスのヘッダファイルをインクルードさせたのですが
「'Cxx' : 'class' で示される型としてすでに定義されています」と出てしまいます。
どうすればちゃんと関数を呼び出せるでしょうか?
0052デフォルトの名無しさんNGNG
インスタンスはどこへ消えた?
0053デフォルトの名無しさんNGNG
>>44
>QueryInterface でインターフェイスを取得しようとしても失敗します。
>というよりイベントのインターフェイスを取得しても意味が無い?
>COM初心者です。
どのインタフェースを取得しようとしているか書いてないけど?

DirectShowのヘルプを読んで見たら?
ヘルプだけダウンロードできるよ。
005451NGNG
>>52
すいません、初心者なものでそれだけではよくわからないです・・
0055デフォルトの名無しさんNGNG
>>54
コードで、その関数とやらを使っている部分を示せ。
005651NGNG
グローバルで作ったものです。
(MainFrm.cpp)
#include "stdafx.h"
#include "(プロジェクト名).h"
#include "MainFrm.h"
(中略)
void CMainFrame::OnFileNew()
{
InitWaveBuff();
(中略)
}

(WaveIO.cpp)
#include "stdafx.h"
#include "WaveIO.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

// バッファの準備
#define NumWaveBuff 4
#define WaveBuffSize 65536

HANDLE m_hHeap;
LPWAVEHDR m_pWaveHdr[NumWaveBuff];
LPSTR m_pWaveBuff[NumWaveBuff];

// バッファの初期化
BOOL InitWaveBuff(void)
{
for (long i=0; i<NumWaveBuff; ++i)
{
m_pWaveHdr[i] = NULL;
m_pWaveBuff[i] = NULL;
}
m_hHeap = HeapCreate(0, 0, 0);

if (! m_hHeap)
{
AfxMessageBox(IDS_HEAPCREATE);
return FALSE;
}
return TRUE;
}
0057デフォルトの名無しさんNGNG
あげ
0058デフォルトの名無しさんNGNG
単に
#pragma once
か
#idndef hoge
#define hoge
:
#endif
が無いだけちゃうか?
0059デフォルトの名無しさん NGNG
>>44
そいつはCOM→COMのインターフェースなんか?
それで話すけど
イベントを受けるにはAdvise処理しないとイベントは受信できないぞよ。
ATLCOMにはAtlAdviseというATLサポート関数があるから
MSDNで引いてみてね。
受信側はイベントシンクの実装を忘れないでね。
Adviseでシンク側のI/Fポインタを相手に通知して
イベント発行でシンク側が受信するんだよ。
あ、でもこれATLCOMだから
MFCはちょっと違うのかな?参考にならなかったらスマソ
0060デフォルトの名無しさんNGNG
>>56
新規作成したクラスってやつが見当たらないぞ。こいつはひょっとして
(0) はじめにグローバルで関数を作っただけのソース
(1) 「定義されていない識別子です」とエラーが出た時のソース
(2) 「'Cxx' : 'class' で示される型としてすでに定義されています」が出たソース
のうちの(0)じゃないのか? せめて(1)か(2)のソースを見せてくれ。
0061ABZNGNG
>>49
>>50
ビンゴでした。逝って来ます(T-T
0062APCNGNG
Visual C++ 6 はCで書かれたプログラムをコンパイルできますか?
例えばLinuxのプログラムをコンパイルすることはできますか?
0063デフォルトの名無しさんNGNG
OS依存のところ
0064デフォルトの名無しさんNGNG
>>62
> Visual C++ 6 はCで書かれたプログラムをコンパイルできますか?
できる。

> 例えばLinuxのプログラムをコンパイルすることはできますか?
それは前半と関係ない質問だぞ。Linux にはあるが Win32 にはない関数/システム
コールを使っていたらアウト。

UNIX 系のシステムコールを多用しているプログラムを Win32 で走らせたいなら

1. cygwin を使う
2. VMWare を使う

どっちかが現実的な解と思われ。
0065shigeNGNG
Linux用のソフトウェアをWindowsで動かしたいだけなら、こんなものもある。
http://line.sourceforge.net
006651NGNG
>>60
(1)の場合です。
(WaveIO.h)
#if !defined(AFX_WAVEIO1_H__1B8DEB60_15C3_11D6_A111_00A0C9E271A9__INCLUDED_)
#define AFX_WAVEIO1_H__1B8DEB60_15C3_11D6_A111_00A0C9E271A9__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "resource.h" // メイン シンボル

class CWaveIO
{
public:
CWaveIO();
virtual ~CWaveIO();
public:
enum {
NumWaveBuff = 4,
WaveBuffSize = 65536
};
public:
HANDLE m_hHeap;
LPWAVEHDR m_pWaveHdr[NumWaveBuff];
LPSTR m_pWaveBuff[NumWaveBuff];

public:
BOOL InitWaveBuff(void);
};

#endif // !defined(AFX_WAVEIO1_H__1B8DEB60_15C3_11D6_A111_00A0C9E271A9__INCLUDED_)
です。あと、>>56の
WaveIO.cppでBOOL CWaveIO::InitWaveBuff(void);としました。
MainFrm.cppにCWaveIO.hをインクルードさせました。

どこが抜けているor間違っているでしょうか?

006751NGNG
>>56のWaveIO.cppでの変数の宣言等はWaveIO.hに移動させました。
0068デフォルトの名無しさんNGNG
builderのストリンググリッド の機能をVCで使いたいのですが、
VCではどのようなものがあるのでしょうか? 教えてください。
よろしくお願いいたします。
0069デフォルトの名無しさんNGNG
>>66
実際に InitWaveBuff を呼び出すところ。ちゃんと
CWaveIO* hoge = new CWaveIO;
hoge->InitWaveBuff();
みたいにクラスのインスタンスを経由して呼び出してる?
0070telnetNGNG
>64
Very thank you

Vmware 3 でLinux Red Hatを使います
0071次郎NGNG
Visual C++ 6.0にバグがあると思うのですがみなさんはどう思います?


??=include <stdio.h>
??=if 1
main()??<printf("Hello??/n");??>
??=endif

がコンパイルできないんです。


??=include <stdio.h>
??=if 1
main()??<printf("Hello??/n");??>
#endif

だとコンパイルできるですけれど・・・・・
みなさんはどう思います?
ちなみに??ばっかりですけれど文字化けではありません。


0072デフォルトの名無しさんNGNG
>>71
バグ
VC++.NETでは1つ目コンパイルも実行も出来たよ。

でもそれ何語?
007372NGNG
リファレンス見てみたよ・・・
・・・そんなことも出来たんだね・・・知らなかった。
意味なさそうだけど。
0074次郎NGNG
72>>
C++の言語仕様では#、{、}などの文字は??から始まる文字に置き換えられないといけないらしい
0075デフォルトの名無しさんNGNG
>>71
VC++6 SP5 でコンパイル通ったぞ。

つーか日本にいながら何故トライグラフを使う必要が…。
0076デフォルトの名無しさんNGNG
VCでMFCのフォームつかってんだけど一回だけ処理したい関数は
どこに書いたらいいんでしょうか?

上のほう???
0077デフォルトの名無しさんNGNG
VC++6.0上からはビルド→実行でEXEファイルは問題なく動作するけど、
ふつうにEXEファイルのアイコンをダブルクリックしたら、全く反応が無いんですけど
こういう状態になった人は他にいますかね。
単純ミスかもしれませんけど、解決方法がわかる人がいたらご教授願いたいです。
0078 NGNG
コールバック関数って必要あんの?
システムから呼ばれようがオナジジャネーカヨ。
イミナーイネ
0079トライグラフNGNG
>>71
また、このネタかよ。
(昔、オイラがIBMの汎用機使ってた頃、その機械のキーボードには
{ とか [ っていう文字が本当になかったのよ )
fortran 走らせる時には問題なかったんだけど、C使おうとして唖然としたもんだ(笑)
0080デフォルトの名無しさんNGNG
>>77
コマンドライン引数が必要なアプリである。に、500argv

つか、MessageBox()トレースすれ。
0081デフォルトの名無しさんNGNG
>>78
自分が理解できないものを、すべて「意味ない」で済ませられるのは、ある意味で幸せ
だな。

0082デフォルトの名無しさんNGNG
age
0083デフォルトの名無しさんNGNG
>>77
カレントディレクトリの問題じゃねーか?
ショートカット作って
EXEファイル
hoge\release\hoge.exe
ワークディレクトリ
hoge\
にしてみ。
0084デフォルトの名無しさんNGNG
>>76
意味不明。
ダイアログの初期化処理をしたいんだったら、普通 OnInitDialog に書く。
0085故意の病NGNG
MFCのクラスライブラリ表が俺の部屋にはってある。
VC++買ったときは「こりゃ多いな」と思ったが
今日はなんとも言えない気持ち。。。。
この気持ちはなんだろう、もしかして。。。
恋!?、恋なのね、この気分。。
漏れは母になろうと思いました。
0086デフォルトの名無しさんNGNG
とりあえずデバッグ
0087デフォルトの名無しさんNGNG
今までBorlandのBCB++使って、またりとプログラム組んできましたが、
今度、接続する計測器の関係で、VCで汲まざるをえなくなりました。

どっかに、VCを使って、ダイアログベースで、ボタンとかラベルを
ペタペタ貼って、ボタンクリックして、そこにコードを書く、っていう
早い話しが、VBみたくVCを使いこなす、なんていう事が解説してある
サイトないでしょうか?
0088デフォルトの名無しさんNGNG
えと、VCでDLLとか、COMとかつくれば解決するような
気がしますが、そういう話ではないのですかね?
0089デフォルトの名無しさんNGNG
>87
UIだけBCBで作れば?
009077NGNG
ありがとうございました。
問題が解決しました。
0091富士の病 NGNG
モーニング娘。のプロフィール表が俺の部屋にはってある。
娘。ファンになったときは「こりゃ多いな」と思ったが
今日はなんとも言えない気持ち。。。。
この気持ちはなんだろう、もしかして。。。
恋!?、恋なのね、この気分。。
漏れは母になろうと思いました。
0092デフォルトの名無しさんNGNG
たいしておもしろくないから流行らないと思うよ。
0093もにょNGNG
Windows 9x において現在接続されている HDD / CD-ROM / IDE コントローラ
などのハードウェア名情報はどのように取得すればよいのでしょうか?
レジストリエディタで検索してみると当然みつかりますが、
環境によって場所が違うようです。
となると、どこかに、「どこそこに情報がある」というまとめ役のキーがあると
思うのですが、見つけることは出来ませんでした。
0094デフォルトの名無しさんNGNG
SJIS、EUC、JIS、マルチバイト、ユニコード・・
ぜんぜんわからん。
_ismbblead()?なんか上手く動いてないよ・・
漢字コードの仕様もわかんねぇしわけわからん用語ばっかりが羅列されてるMSDN

漢字かどうかの判定ってどうやるんだ!?
しかもこの場合漢字ってひらがなとかカタカナも含むのかよ!!
要は漢字だろうが仮名だろうが2バイト文字を判定するにはどうしたらいいのだーーーー

教えてちょ!
0095デフォルトの名無しさんNGNG
昔おれのいたDQNな会社の先輩たちは、
「半角全角」とか「XXコード」みたいな言葉を知らなくて、
全角のひらがを「漢字のひらがな」「漢字のかたかな」
っていってたんだよな。
ちょっと思い出してしまった。
0096デフォルトの名無しさんNGNG
VD++6.0でClistBoxを使っているのですが、
リストを選択した状態でエンターを押した時に
エディットボックスに、選択状態のリストの文字列を送ってやりたいのですが、
リストの項目番号を取得することもエンターを検出することも出来ません。

どうやったらいいのでしょうか?
0097デフォルトの名無しさんNGNG
>>95
むしろ「半角」「全角」の方が不正確。
つーか、技術者として如何なものか。
0098デフォルトの名無しさんNGNG
>>97
「むしろ」ということは、「漢字のひらがな」が正確だとでも?
0099デフォルトの名無しさんNGNG
>>98
そ。「JIS X0208 という漢字セットの中のひらがな」。
0100デフォルトの名無しさんNGNG
100
010194NGNG
だれか詳しく教えてくらはい。
資料でもいいしサイトでもいいのでおねがいします
0102デフォルトの名無しさんNGNG
google
0103デフォルトの名無しさんNGNG
>>98
漢字 = 漢字(文字圏) = MBCS文字圏
かもしれないじゃないか。すげぇよ!その共通理解。
0104デフォルトの名無しさんNGNG
>>96
ダイアログだったら、ENTERキーが押されるとIDOKが送られる。
OnOK()の中でフォーカスの位置を調べて、リストボックスに
フォーカスがあったらENTERキーの処理をする、というのではどうか。
010594NGNG
おまえらじつは詳しくないのか?
聞いても無駄かな・・
0106デフォルトの名無しさんNGNG
>>98
半角、全角はもともと文字の横幅をあらわしたもの。
JISだかで偶然(意図的に?)半角文字が1バイトに、全角文字が2バイトに割り当てられただけ。
0107デフォルトの名無しさんNGNG
>>94
まずどんなコード書いたら_ismbbleadがうまくいかなかったのか書いた方がいいと思われ。
文字列の中から先頭バイトを引っこ抜いてやるとうまくいかないと思った。
010894NGNG
>>107
文字列の任意の場所から1バイト持ってきて漢字(2バイト文字)か1バイト文字か調べようとした。
なんかちゃんと判定できない奴とかあった。
0109デフォルトの名無しさんNGNG
char hoge[] = "ほげほげ";
の文字列に対して、
if(_ismbblead(hoge[2]))
ならいいけど
char hoge = hoge[3];
if(_ismbblead(hoge))
ならまずいんじゃなかったっけ

0110デフォルトの名無しさんNGNG
>>94
つーか、文字コード何だよ?Shift JIS なら
> 文字列の任意の場所から
判るわけないだろ。
0111デフォルトの名無しさんNGNG
>>108
SJISの場合原理的に不可能だそれは。
011294NGNG
つまりその原理が知りたい。
俺は「便利な関数がありますよ!」だけいうMSは嫌い。
原理を知らずに関数など使えない。

でも資料がない。

SJIS教えて?以前みたソースでIsKanji()みたいなマクロがあって
それは任意の場所のcharを見て判断してたよ。
ウソクサっと思ったけどウソという確信も持てないし。
0113SJISNGNG
char[任意の場所] と、char[任意の場所-1]の符号を見れば、
区別つくんでない?
0114デフォルトの名無しさんNGNG
>>113
つかない。
文字列先頭か、あらかじめトレイルバイトじゃないとわかってるところから始めるのが現実的。
0115デフォルトの名無しさんNGNG
本当に資料が無いのだろうか。
俺は検索もせずに「教えて」だけいう厨房は嫌い。
0116デフォルトの名無しさんNGNG
>>113
char[任意の場所] が英数の範囲内で、char[任意の場所-1]がSJISの
1バイト目、2バイト目の共通部分だったらどう判断するの?
011794NGNG
>>115
すまん。一応検索したんだがたくさん引っかかってメンドくなって・・
2chで聞いた方がたいがい早いし。
0118デフォルトの名無しさんNGNG
>>117
全然原理を知る気ないやん。
黙ってMSの便利な関数使ってれ。
0119デフォルトの名無しさんNGNG
おとなしく_ismbslead使え
012094NGNG
ちなみに以前見たソースってのは

0x81〜0x9f
0xe0〜0Xfc
は漢字って判定だった。
0121113NGNG
スマソ。詫びにこんなのを見つけた。

int IsLegal(const char *s){
  unsigned char u=*s, v=*(s+1);
  return ( ((0x81<=u && u<=0x9F) || (0xE0<=u && u<=0xFC))
    && ((0x40<=v && v<=0x7E) || (0x80<=v && v<=0xFC)) );
}
あとは漢字コードとにらめっこして納得すれば、IsKanji()も何をやってるのか
か分かるね。
012294NGNG
>>121
サンクス。感謝感激

でもSJIS任意の位置からは原理的に無理って意見もあるし、
このIsLegalのsは先頭のアドレスって限定した使い方なのかな。
0123119NGNG
_ismbsleadはだめなのか?
012494NGNG
>>123
_ismbbleadは先頭から順に調べないとダメらしいのですが、
それも別のところで聞きかじっただけです。
↑
よってダメじゃないかもしれないけど。なんかこういう不確かな情報を払拭する
「これだーーーーー」ってのが無いかなぁ
0125デフォルトの名無しさんNGNG
>>124
_ismbsleadはまさに「先頭から順に調べないとダメ」を体現してる気がするけどなぁ。
0126デフォルトの名無しさんNGNG
なんだ只のバカかよ。ツマンネ
012794NGNG
どうやら先頭から調べなきゃいけないで決まりらしい。
ってことは結構インチキ判定ロジックがちまたにゃあふれてんじゃねーか。
つーか、あ^−−−−−−この「らしい」ってのがゆるせん。
なんだよ「らしい」って
なんだよ「らしい」って
なんだよ「らしい」って
なんだよ「らしい」って
なんだよ「らしい」って
結局俺は糞みたいな半端な知識止まりらしい。ウザ
0128デフォルトの名無しさんNGNG
「どうやら先頭から調べなきゃいけない」←これが「原理」かよ。
少しは頭使えよ。考えたらわかるだろ。
0129デフォルトの名無しさんNGNG
>128
94が考えてもわからないことぐらい考えたらわかるだろ。
0130デフォルトの名無しさんNGNG
表とか坂とかね。
013198NGNG
ハァ…ヤレヤレ
半角、全角については、2バイト半角が現れたPC-9801の時代に終わってるよ。
でも、「漢字のひらがな」がどれほど正確なんだ?
つか、みんなネタか?
013294NGNG
うんうん。やっぱ文字コードの仕様は糞だな。
それは確かだ。
0133デフォルトの名無しさんNGNG
CreateThread()で作ったスレッドからCランタイムライブラリの関数呼ぶと
メモリリークが起こるんですよね?(と、MSDNライブラリに書いてある)
ではnewも出来ないのでしょうか? なんとなく中でmalloc()してそうだし。。。

# だめなら _beginthread() 使います
0134133NGNG
役に立つかどうかわりませんが。
# Shift JIS 限定の話です
Shift JIS は以下の三つの文字集合を使います。
(1) JIS X 0201 のラテン文字集合部分
(2) JIS X 0201 のカタカナ文字集合部分
(3) JIS X 0208 の文字集合
JIS がついているところから分かるように、これらは JIS規格で決まっています。
どのような文字が定義されているかというと、
(1) 1バイトのアルファベットや記号
(2) いわゆる半角カナ
(3) 2バイトのアルファベットや記号や漢字

これらに一文字ずつ区別がつくようにコードを振ることをエンコードといいます。
Shift JIS の場合、
(1) 0x21〜0x7E
(2) 0xA1〜0xDF
(3) 1バイト目 0x81〜0x9Fまたは0xE0〜0xFC、2バイト目 0x40〜0xFC(ただし0x7Fを除く)
となっています。ここから分かるのは
・(1)と(2)はすぐに区別が付く
ということです。これは Shift JIS が出来たときの事情がからんでいるのですが。
しかし、(3)に対しては
・1バイト目は(1)、(2)ともにかぶらない
・しかし2バイト目は(1)、(2)とかぶっている
という問題があります。
ですから、ある位置の1バイトが(3)の一部かどうか判定するには、
「0x40より大きくて、(3)の2バイト目と(1)(2)のどちらか区別が付かない場合は、
さらに一つ前の1バイトを読み込んで、(3)の1バイト目かどうかを調べる」
というのが正解です。
0135デフォルトの名無しさんNGNG
>>134
SJIS はバイト列の途中から読もうとすると面倒だけど、頭から読むなら isleadbyte() が
真なら 2 バイト文字の 1 バイト目、そうでなければ 1 バイト文字、で簡単に判別できる
よね。

そもそも文字コードが SJIS かどうか分からん場合には、文字コードを統計的に推測す
るしかない。方法に関しては nkf のソースでも読んで研究して見てくれ。
0136デフォルトの名無しさんNGNG
> そ。「JIS X0208 という漢字セットの中のひらがな」。

だから「漢字のひらがな」という言い方が正しい?
こいつバカですか?
0137デフォルトの名無しさんNGNG
>>136
少なくとも「漢字のひらがな」よりは「全角のひらがな」のほうが100倍ましだと漏れも思う。
0138デフォルトの名無しさんNGNG
>JIS X0208 という漢字セット
0点。じゃあ、「漢字のアルファベット」に、
「漢字のキリル」か。おめでてーな。
0139デフォルトの名無しさんNGNG
>一つ前の1バイトを読み込んで、(3)の1バイト目かどうかを調べる
実は、そこは2バイト目という罠
0140デフォルトの名無しさんNGNG
>>116でソトデという罠
014194NGNG
>>133
おおおーーすばらしい・・・
丁寧にありがとうございます。やっと理解できました。
早速my資料に追加・・とφ(.. )カリカリ・・
0142デフォルトの名無しさんNGNG
> 一つ前の1バイトを読み込んで、(3)の1バイト目かどうかを調べる
実は調べたいのは文字列の最初の文字で、一つ前のバイトなど存在しないと言う罠
0143デフォルトの名無しさんNGNG
「半角って何ですか?」 by void
0144デフォルトの名無しさんNGNG
CListBoxで
リストのうちの何番目かを
指定して反転表示させたいのですがよくわかりません。


0145デフォルトの名無しさんNGNG
まずgoogれ、話はそれからだ
0146デフォルトの名無しさんNGNG
>>143
半角板
0147133NGNG
>>139
そのときは、1回目に読んだ1バイトは(1)または(2)だったことが分かります。
0148デフォルトの名無しさんNGNG
>>147
1つ前が(3)の2バイト目だったのか、(3)の1バイト目だったのかは、
文字列の頭から見ていく以外に確かめる術は無いのです。

例) 0x9B .......... 0x9B 0x9B 0x44 0x44 の後ろから2個目の0x44を判定せよ。
0149デフォルトの名無しさんNGNG
>>147
1バイト目と2バイト目が両方とも_ismbblead()==trueのマルチバイト文字が延々と続いてるときはどうするんですか?
どこを文字列の先頭とするかでコードの解釈が180度変わります。
途中だけ見て判断するのは不可だね。
0150133NGNG
>>148 >>149

まったくもってその通りです。
(3)の1バイト目か2バイト目か判別出来ないときは
さらに1つ前の1バイトを……というのを、識別出来るまで
延々とやらなければいけないですね。

嘘言っちゃってゴメン
0151デフォルトの名無しさんNGNG
つか、wchar_tつかえよ、、、
0152_NGNG
VCのスタンダード版は静的リンクができないけど、コンパイルしたプログラムは
他人のパソコンでも動きますか?MFCのDLLが必要なのですか?
0153デフォルトの名無しさんNGNG
>>152
まあ、だいたい大丈夫だね。
たまーに動かない人がいるみたいだけど。
0154なんかねぇNGNG
VC++5.0エンタープライズ版
を使っていますが、6.0を買いなおした
方がいいですか?


0155デフォルトの名無しさんNGNG
いまVC6を買うのはただのばかだなぁ
0156デフォルトの名無しさんNGNG
>155に同意

Web系だと不便かも知れないけど
そうじゃなけれ5.0で良いのでは?
0157デフォルトの名無しさんNGNG
質問です。
現在 Win32 console application を作っているのですが、
現在のコードページに対応(_getmbcp())して表示させるヘルプを日本語と英語で分けようと考えてます。

次のようにコーディングしたんですが、

switch (_getmbcp())
{
case 932: lang = LANG_JA_JP; break;
default: lang = LANG_EN_US; break;
}
printf("code page = %d\n", _getmbcp()); /* debug のため表示 */

コマンドプロンプトで us して実行しても 932 になってしまいます。
chcp をオプションなしで実行すると
Active code page: 437
と表示されるのですが…
どうすれば _getmbcp() できちんとコマンドラインの状況を判断できるでしょうか。
0158デフォルトの名無しさんNGNG
>>157
訂正。日本語が変でした。

>どうすれば _getmbcp() できちんとコマンドラインの状況を判断できるでしょうか。
↓
どうすればきちんとコマンドラインで設定されているコードページを取得できるでしょうか。

0159デフォルトの名無しさんNGNG
VC6.0の調子がおかしくなってしまいました。
通常、ワークスペースを開くと、ClassViewにクラスとメンバの一覧が
表示されますが、それが表示されなくなってしまいました。
また、ビルドを行おうとしてもできなくなりました。
但し、この現象が起きるのは最近、新規作成されたワークスペースに
ついてであり、昔作っていたワークスペースでは
問題なく表示され、ビルドも可能です。

私なりに問題点を調べてみたのですが、どうもdpsファイルの中の
TargetのSource Fileの部分で、問題あるワークスペースの方で、
# PROP Exclude_From_Scan -1
# PROP BASE Exclude_From_Build 1
# PROP Exclude_From_Build 1
という3行が挿入されていました。
この現象について何かご存知の方おられましたら教えて下さい。
0160デフォルトの名無しさんNGNG
>>159
おいらも時々なるかも。

いくつか要らない(と思われる)ファイルを消して起動しなおせば直るんだけど,フォルダ
作ってたらそれも作り直しなので安全な修正方法あれば漏れも知りたい。
0161157NGNG
>>157-158
自己解決しました。
GetConsoleCP() 使ったらうまくいきました。

ちょっと Win95 でどうなるか不安ですが…
http://www.microsoft.com/japan/developer/library/jpwinpf/_win32_getconsolecp.htm
0162デフォルトの名無しさんNGNG
CListBoxで
リストのうちの何番目かを
指定して反転表示させたいのですがよくわかりません。




0163デフォルトの名無しさんNGNG
>>162
そうですか。
0164デフォルトの名無しさんNGNG
>>162
答えはヘルプファイルにあります
0165デフォルトの名無しさんNGNG
あの、InternetExplorerでプラグインとして使えるActiveXをVC++で作るにはどうすればいいんですか?
0166デフォルトの名無しさんNGNG
>>165
InternetExplorer.hをインクルードする
0167デフォルトの名無しさんNGNG
fatal error C1083: インクルード ファイルがオープンできません。'InternetExplorer.h': No such file or directory
0168デフォルトの名無しさんNGNG
>>168
include/InternetExplorer.hをインクルードする
0169デフォルトの名無しさんNGNG
atal error C1083: インクルード ファイルがオープンできません。'include/InternetExplorer.h': No such file or directory
0170デフォルトの名無しさんNGNG
インクルードって、リンクファイルじゃなくてIncludeですか?
0171デフォルトの名無しさんNGNG
みっともないのでネタはやめてくださいね
0172デフォルトの名無しさんNGNG
あの、上の方の冗談(?)はとにかく本当に #include "include/InternetExplorer.h"でファイルオープン不可のエラーが出るのですが…。
0173デフォルトの名無しさんNGNG
まずそんなファイルがあるかどうかPC内検索してみろよ
0174デフォルトの名無しさんNGNG
>>173
次に MSDN ライブラリを BHO で検索だな。
0175デフォルトの名無しさんNGNG
ないです…。VC++以外のものをインストールする必要があるんすか?
0176152NGNG
>>153
お答えくださってありがとうございます。
0177デフォルトの名無しさんNGNG
Unixかなんか向けに作られたプログラムをVCでコンパイルしようとすると
#include <sys/time.h>をオープンできませんってエラーが出ます。
その他に
struct timeval start, end; や
gettimeofday(&start,0);
random()
の行のところで定義されてないのを使っているとエラーが出ます。
VCでそういうのが定義されているヘッダファイルとライブラリはないのですか?
プログラムの実行時間を計るために使われている(randomは違うけど)は分かるけど
具体的にどうしたらいいか分かりません。
お願いします。
0178デフォルトの名無しさんNGNG
>165
まず、COMというものの知識をつけてください。
その後、VC++を起動し、新規作成→プロジェクト→ATM Com App Wizard→銀行→ATM→(゜Д゜)ウマー
0179デフォルトの名無しさんNGNG
OS依存の部分を
すべてなおすナリ
0180デフォルトの名無しさんNGNG
VC++を起動し、新規作成→プロジェクト→KFC AppWizard(exe)→ドラゴンツイスター頼む→(゜Д゜)ウマー
0181デフォルトの名無しさんNGNG
VC++を起動し、新規作成→プロジェクト→MFC AppWizard(exe)→CVSup→make world→signal11でへくった(゜Д゜)マズー
0182login:PenguinNGNG
イベントで
Becky2を起動して
特定のアドレスに
メールを送信する
というプログラムを書きたいのですが、
アドバイスお願いします。
0183デフォルトの名無しさんNGNG
>>182
どっかで見たことあるよな・・・マルチ?
どうでもいいけどどんなアドバイスがほしいのか書けよアフォ。こちとらエスパーじゃねーんだからさ。
全部とか言うなよ。
0184デフォルトの名無しさんNGNG
すいません。
クラスでの関数ポインタ配列について教えて下さい。

================================
class testClass{
private:
  void (*pArFunc[2])(); //関数ポインタ配列
public:
  void Func();
  void Func0();
  void Func1();
};
void testClass::Func(){
  void (testClass::*pArFunc)()  = Func0; //OK...�@
  void (testClass::*(pArFunc+1))() = Func1; //駄目...�A
}
void testClass::Func0(){}
void testClass::Func1(){}
================================

上の�@のコンパイルが大丈夫だったので、�Aを試したのですが、
"構文エラー : ')' が '<tag>::*' の前に必要です"
というエラーが出てしまいます。
クラスで関数ポインタ配列を使用する場合はどうしたら良いのでしょうか?

0185デフォルトの名無しさんNGNG
[section]
aa=あいうえお
bb=かきくけこ
cc=さしすせそ

GetPrivateProfileStringの2番目の引数(Key)にNullを指定すると
GetPri(略)で指定したbufにKeyが全て入ってくるとヘルプファイルに書かれているのですが、
=より後ろ(あいうえお)等の文字列はどこへいってしまうのでしょう?

あと、全てのkeyとそれに対応するStringを検索して表示させたいのですが、
何かいい関数はないでしょうか?

できれば例も、、、




0186デフォルトの名無しさんNGNG
keyを貰ったんなら、それをつかって、
GetPriv...を回せばいいのでは?
0187デフォルトの名無しさんNGNG
>184
ずいぶん邪悪なキャストですね....

class testClass{
private:
void (testClass::*pArFunc[2])(); //関数ポインタ配列
public:
void Func();
void Func0(){}
void Func1(){}
};
void testClass::Func(){
*(pArFunc+0) = Func0;
*(pArFunc+1) = Func1;
}
0188デフォルトの名無しさんNGNG
標準ライブラリを使いたくないのですが
va_list
va_start
va_end
の代わりにになるWin32Apiってあるんですか?
0189デフォルトの名無しさんNGNG
VC++では、va_*はマクロです。
ちゃんとヘッダを覗きましょう。
そして、APIで実現されようがないことを
理解しましょう。
0190デフォルトの名無しさんNGNG
クラスをエクスポートしたと思われるDLLを無理矢理使う方法知ってるひといませんか?
ダンプしたのはこんな感じ

00001090 1 0000 ??0audioRemCon@@QAE@XZ
00001160 2 0001 ??1audioRemCon@@UAE@XZ
000030F8 3 0002 ??_7audioRemCon@@6B@
000012E0 4 0003 ?CloseAudioCtlDriver@audioRemCon@@QAEXXZ
000011C0 5 0004 ?GetAudioCtlDriverName@audioRemCon@@QAEHXZ

あと名前変形はいったいどういう規則で行われてるのやら……
0191デフォルトの名無しさんNGNG
自分でaudioRemConクラスの定義を捏造、ダミーメソッドでexport。
尚、メンバ変数は、char dummy[2000]などで代用しておくこと。
それと、メソッドの型情報は自力で復元すること。

できあがったlibを使用して、リンク。元のdllを使用。
0192184NGNG
>>187様様
コンパイルできました。
ありがとうございます。
助かりました。
0193デフォルトの名無しさんNGNG
>>189
ありがとうございます。
もう1つひつもんなのですが
vsprintf等は標準関数?みたいなのですが
これはLIBCをLINKしなくても良いのでしょうか?
0194デフォルトの名無しさんNGNG
vsprintfは標準関数。
WIN32APIならwvsprintf使え。
0195185NGNG
keyはわからない状態で検索しないといけないんです。
0196デフォルトの名無しさんNGNG
Here are fill of silly.
0197185NGNG
>>186
すんません。
実は検索したキーの入り方がよくわからないんです。
0198デフォルトの名無しさんNGNG
>>194
ありがとうごさいます。
好きです。大好きです。
0199デフォルトの名無しさんNGNG
わらをもすがる思いです。どなたか教えてください。
ドキュメント/ビューアーキテクチャで、ドキュメントの方にメッセージを
飛ばしたいんですが、できるんでしょうか?メニューからは飛んでくるので
できると思うんですが。ウィンドウハンドルはどうやってとったらいいんでしょう?
0200デフォルトの名無しさんNGNG
>>199
普通はViewにメッセージが飛んできて、
それをドキュメントにつたえるという形になると思うが...
0201デフォルトの名無しさんNGNG
質問があります。
メイン画面から別のダイアログを表示した場合に、
メイン画面を非表示にするとタスクバーボタンも消えてしまいます。
タスクバーボタンを表示する方法はないのでしょうか?
いろいろ調べてみましたが、どうしてもわからないので、
誰か教えてください。
よろしくおねがいします。
0202デフォルトの名無しさんNGNG
>201
ShowWindowで最小化するか、MoveWindow他でサイズ0のウィンドウにするか。
0203デフォルトの名無しさんNGNG
あぼーん
0204デフォルトの名無しさんNGNG
>>201
ダイアログに拡張スタイル WS_EX_APPWINDOW を指定する、とか。
0205201NGNG
>>202
>>204
返事ありがとうございました☆
早速参考にして、いろいろ試してみようと思います。
一人で考えていると、考え方が偏ってしまってダメですね・・・。
0206デフォルトの名無しさんNGNG
ダイアログアプリケーション(MFC)で
ウィンドウ全体にビットマップ(リソース)を貼り付けるには
どうしたらよいのでしょうか。
どうしてもシステムメニューの上にまで
ビットマップを貼り付けることができません。
0207デフォルトの名無しさんNGNG
>206
GetClientRectでウインドウの長さつかまえてデスクとっぷのDCゲットしてClientToScreenで現在地を得て描け。
0208デフォルトの名無しさんNGNG
>>206
タイトルバーが必要ないなら消しちゃえば。
0209デフォルトの名無しさんNGNG
>>206
GetWindowDC()
0210デフォルトの名無しさんNGNG
>>206
WM_NCPAINT
0211206NGNG
できました。
ありがとう。
0212デフォルトの名無しさんNGNG
>>211
せめてどうやって出来たのか書け、
いくらここが2chでも最低限の礼儀は守ってくれ。
技術系MLに行ったときにはもっと注意してくれよ。
0213206NGNG
すみません。こんな風にやってみました。

HBITMAP hbm = (HBITMAP)::LoadImage(NULL,
"ビットマップファイル名", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_CREATEDIBSECTION );
if(hbm == NULL)return;
CDC* pMemDC = new CDC, *pDC = GetWindowDC();
CBitmap* pBitmap = CBitmap::FromHandle( hbm );
BITMAP bm;
CRect rcRect;
GetClientRect(rcRect);
pMemDC->CreateCompatibleDC(pDC);
CBitmap* pOldBitmap = (CBitmap*)pMemDC->SelectObject(pBitmap);
pDC->BitBlt(0, 0, rcRect.right, rcRect.bottom, pMemDC, 0, 0, SRCCOPY);
pMemDC->SelectObject(pOldBitmap);
pMemDC->DeleteDC();
delete pMemDC;
::DeleteObject( hbm );
0214043NGNG
VC6.0で作成したプログラムに、ACCESSで作ったデータベースを
ODBCでつなげたいんですけれども。

以前に、作成したプログラムに ACCESSをつなげるにはどのような
手順でやればいいのでしょうか?

ACCESS単品のODBCのつなげ方はわかるのですが・・・
既存のプログラムにデータベースサポートのつけ方どうか
教えてください!!調べてもなかなかみつからなくて 泣

お願いします!
0215SAVENGNG
リストボックスをシングルクリックした時にクリックした場所の項目番号を取得したいのですが、
ダブルクリックした時の項目番号しか取得できません。

どうやって取得したらいいのでしょうか。
適当に教えてください。
0216デフォルトの名無しさんNGNG
>215
GetCurSel() ?
0217デフォルトの名無しさんNGNG
以前までビルドするのはその際に書き換えたソースだけビルドしていたのに何故か昨日から急に
どんなことがあっても毎回全ソースをビルドするようになりました。コンパイル実行した直後にもう一度
コンパイルしようとしてもまた全てビルドしようとします。VC++の再インストールも試みましたが結局
症状が治ることはアリマセンでした。
どうすればこの症状が治せますでしょうか・・・よろしくお願いします。
0218デフォルトの名無しさんNGNG
うぜーーーーーーーーーーーーーーーーーーーーーーーー
0219>>219NGNG
0220デフォルトの名無しさんNGNG
>>217
押すボタン間違えてんだろ
0221217NGNG
F7押してからCtrl+F7でも駄目なんです・・・。
Ctrl+F7で実行してから終了後、すぐにCtrl+F7押しても駄目です。ビルドされてないとでます。
0222デフォルトの名無しさんNGNG
>>217
Makefileというかプロジェクトのファイル壊れたんじゃないのか?
もう一度プロジェクトを作りなおしてみれ。
0223217NGNG
プロジェクトも作り直してみましたが駄目です・・・ためしにProjectつきのサンプル等をWeb等から落としてきた後
コンパイルしてもやはり毎回全ビルドします・・・。うあ・・・。
0224デフォルトの名無しさんNGNG
>>217
マシンの時計が狂ってるとか
0225デフォルトの名無しさんNGNG
MFCでドキュメントクラスに、
ダイアログバー上にあるコンボボックスのメッセージハンドラ作ったんですが、
値を読むのって、フレームウィンドウからコントロールを取得しないと駄目なの?
それともハンドラはフレームウィンドウに作って、
ドキュメントクラスの処理関数呼ぶのが正しいのかな?
0226SAVE(215)NGNG
>>218
すいません
0227デフォルトの名無しさんNGNG
>217
時計が狂ってるんじゃないのか
0228デフォルトの名無しさんNGNG
>>200
ありがとうございます。そうですね、設計がヘンだと思います。
*Docにもメッセージが飛ばせるとおもったのですが。
もうちょっとドキュメント・ビューアーキテクチャを勉強しないと・・・
でも、メニューから飛んでくるのはどうしてなのでしょうね??
0229デフォルトの名無しさんNGNG
>217
俺の隣に座っている人も、これに、はまってたよ。
でも、全プロジェクトじゃなくて、特定のプロジェクトだけ。
.dswとか見ても、特に変わったとこないし、.ncbやら.optやらを消しても直らない。
タイムスタンプも時計も異常なしで、もちろんアクセス権とかの問題でもない。
「駄目だこりゃ」ということで、そのときは放っておいたんだけど。

もしかしたら、HKCUの DevStudioのレジストリキーを一旦削除かなんかしてみると、
直るかも。
0230デフォルトの名無しさんNGNG
インストールしていないフォントファイルからフォント名を取得するには
どうすればよいのでしょうか?
0231デフォルトの名無しさんNGNG
getsystemmetrix
0232デフォルトの名無しさんNGNG
>>231
誤爆?
0233デフォルトの名無しさんNGNG
VC++ で使えるフリーの ActiveX コントロールを探しています。
具体的には「Microsoft Forms ...」コントロールのような
標準コントロールライクなものやグリッドコントロールを探して
います。Vector とかで探したら何個かはありましたが、試して
みると VC++ で使えませんでした。
ご存知でしたらそのサイトを教えて頂けないでしょうか?
どんな些細な情報でも構いませんのでよろしくお願いします。
0234217NGNG
何故かこのスレをチェックした後、229さんの方法を試す前にテストしてみようと思ったら治ってやがりました。
昨日寝る前に224、277さんの助言通りTClockで時計合わせてみたのですがその直後は全然駄目だったんですけど・・・。
まぁ治ってよかったです。ありがとうございました。
0235201NGNG
>>202
>>204
遅くなりましたが・・・
最小化する方法にしました。
でも、最小化するとWin98SEの時だけ別ウィンドウが一番下に
表示されてしまうんですが・・・。
そういうものなんでしょうか??
もしかしたら、他のOSでは偶然ならなかっただけかもしれませんね。
あまり気にしないことにします。
0236デフォルトの名無しさんNGNG
>>235
最小化しなくても画面外に出しちゃえば?
0237201NGNG
>>236
なるほど・・・そういう方法もありますね。
試してみますね。
0238海太郎NGNG
VC初心者です。ちょっとわからないことが出来たので書き込みさせて
いただきます。

ダイアログ上のスタティックテキストの色の変更をしたいのですが、
方法がわかりません。
InitInstanceでSetDialogBkColorを使えばすべてのダイアログの
表示を変えることが出来るのですが、ひとつだけダイアログの文字色
を変えたいのです。

すみませんが、よろしくお願いします。
レスポンス、お待ちしています。
0239デフォルトの名無しさんNGNG
>>238
http://www.expertmg.co.jp/html/cti/vctips/control.htm
0240230NGNG
もう一度。
インストールしていないフォントファイルからフォント名を取得するには
どうすればよいのでしょうか?
0241デフォルトの名無しさんNGNG
>240
LoadLibrary して EnumResourceNames→FindResource→LoadResource のコンボ
後はゴリゴリ解析するんだと思う。
0242女性社員NGNG
あのーVCでDAOとか使ってデータベース操作などをしている人って
いますでしょうか。
VBでは参考資料が豊富にあったのですが、VCだと全然ありません
参考にあるような本やサイトがあったら教えてください。
0243 NGNG
http://www.microsoft.com/japan/developer/library/vccore/_core_dao_and_mfc.htm
0244デフォルトの名無しさんNGNG
>>241
フォントファイル(.ttfなど)をLoadLibraryするんですか??
0245デフォルトの名無しさんNGNG
APIオンリーで組んでます。
初心者な質問ですが許してください(;´∀`)

VC++はNNなど、メニューバーから各項目にフォーカスを当てたとき
ステータスバーにその項目の機能について簡単な説明が出ますよね?
この機能をつけたいのですが、フォーカスが当たったときにどういったメッセージが
送られてくるのかが分かりません。
どなたか教えていただけないでしょうか?
0246デフォルトの名無しさんNGNG
ネット越しに相手のPCのネスケを起動するのはどうすればいいでしょうか?
APIみたいのを探してみたんだけど、分かりませんでした。
よろしくお願いします…。
0247デフォルトの名無しさんNGNG
>>246
ネタは sage でな。
0248デフォルトの名無しさんNGNG
>>246
Windowsのセキュリティーホールを探して下さい。
0249デフォルトの名無しさんNGNG
246の者です。
ネタではありません。Cは初めてなのでよく分かりません…。
やはりAPIは無理なのでしょうか?
0250デフォルトの名無しさんNGNG
「トロイ バックドア バックオリフィス」でゴグルすれ
0251デフォルトの名無しさんNGNG
ShellExecuteプログラムを相手のPCで起こせばいい事は分かってるんですが…。
どうしてこんなに難しいんだー!!!
0252デフォルトの名無しさんNGNG
>>245
ペイン
ストリングテーブル
0253デフォルトの名無しさんNGNG
>>249
もしそれが可能だったら、ちょっと手を加えるだけで、

 俺が 246 のメールソフトをリモートから立ち上げて、ウィルスメールをばら撒く

とかできると思わんか?
0254デフォルトの名無しさんNGNG
>250
ゴグれ
0255デフォルトの名無しさんNGNG
>250
コクれ
0256デフォルトの名無しさんNGNG
>246
こっちが何かコマンドを相手に向かって撃ったらその内容に応じてExcuteだっけ?で相手側でたちあげりゃいいんでねーの?
0257デフォルトの名無しさんNGNG
みなさん、すいません。先ほどやっとPCに詳しい人と連絡が取れたのですが、
無理だということが分かりました。
(相手のPCに特別なアプリを立ち上げておけばいいらしいですが、
今回の案件ではそれは無理なので…)
253さん、256さん、せっかくレスを頂いたのに申し訳ありません。
0258デフォルトの名無しさんNGNG
>>245
フォーカスとかいうからWM_SETFOCUSって答えそうになったぞ。
WM_MENUSELECTな。MenuHelp 関数とかも見ておくと小吉。
0259デフォルトの名無しさんNGNG
>257
お前・・・いや、やっぱやめとこう・・・
0260245NGNG
>>258
ありがとうございます。
どう表現したらいいか分からなかったので(;´∀`)
一番フォーカスがしっくりくるような気がしたものですから・・・
とにかくありがとうございました。
早速やってみます〜
0261デフォルトの名無しさんNGNG
>>244
Yes。だまされたと思ってやってみてくれ。
うまくできたら漏れも使わせてもらうから(w
0262デフォルトの名無しさんNGNG
WinXP上でメモリリークが無いかタスクマネージャ睨んでたら
禿しくりリークしてる様で、newで確保した領域を解放しても
使用メモリが減らず、再確保すると更に増加します。

いくら見直しても穴が見つからず、なんとなく同じプログラムを
そのままWin98で実行してみた所、確保−解放できっちり元に
戻りました。  この様な症状はNTの仕様なのでしょうか?
0263デフォルトの名無しさんNGNG
自分でallocatorを定義しなさい。
いちいち空きメモリをOSに返すやつを。
0264262NGNG
ではNTの仕様と言う事なんですね…
0265デフォルトの名無しさんNGNG
NTじゃない。
VCの標準のallocatorの仕様だ。
0266262NGNG
あら…しかしWin98上では即解放されてる様なのですが。
0267デフォルトの名無しさんNGNG
>262 パフォーマンスモニタとはお友達?
0268262NGNG
いや…エクスプローラ拡張メニューのメモリ情報ですw

Win98上では解放すると、きっちり元のサイズに戻るんですが、
XPでは何故か、逆に増えたりする事もあります(;´Д`)
0269デフォルトの名無しさんNGNG
そりゃ、お前がデブだからだ。
0270デフォルトの名無しさんNGNG
じゃ、262はデブってことでこの話は
     ∧∧  ミ _ ドスッ
     (   ,,)┌─┴┴─┐
    /'   つ 糸冬 了 │
  〜′ /´ └─┬┬─┘
   ∪ ∪      ││ _ε3
               ゛゛'゛'゛
0271262NGNG
すまん、正直ガリぎみ。
0272デフォルトの名無しさんNGNG
アカデミックバジョンってなんですか
異常に安いんですけど・・・・
中身はやっぱり違うんですか?通常版と
0273デフォルトの名無しさんNGNG
アカデミックいいよねぇ。
びんぼ学生でもエンタープライズ買えるし。
0274デフォルトの名無しさんNGNG
>272
たまーにポインタの指す位置がかわることがある。
0275デフォルトの名無しさんNGNG
>274
ヲイ
0276272NGNG
アカデミックバジョンってなんですか
異常に安いんですけど・・・・
中身はやっぱり違うんですか?通常版と
だれか、マジでおしえてください
0277デフォルトの名無しさんNGNG
ちがわねえよ
学生ならそっち買え
0278デフォルトの名無しさんNGNG
>>272
アカデミックでない用途に使うと警告ダイアログが出る。
0279デフォルトの名無しさんNGNG
VC++特有ってわけじゃない(と思う)けど、
DOSプログラムよりWinプログラムのほうが実行速度が速いのはなぜ?
単純な計算のループなんだけどさ。
0280デフォルトの名無しさんNGNG
先生!どうやって判定するんですか?
0281デフォルトの名無しさんNGNG
>279
OSのパフォーマンスが違うから
0282デフォルトの名無しさんNGNG
>>281
スマソ。
Win上のコンソールプログラムとそうでないプログラム
0283デフォルトの名無しさんNGNG
VC++.NETもやっぱりProfessionalとstandardに別れるのかな?
0284デフォルトの名無しさんNGNG
>>283
.net スレで、商品構成と値段が出てたような気がする。
0285デフォルトの名無しさんNGNG
ところでVC6.0のsetup.exeが起動しないのはどうして?
0286デフォルトの名無しさんNGNG
>285
割れだから
0287デフォルトの名無しさんNGNG
>>285
詳細に関してはマイクロソフト社技術情報
「J053653 [NT]J052309 の修正適用後 Office2000
のセットアップができない」をご参照ください。
0288デフォルトの名無しさんNGNG
とあるツールをSPY++で解析しているのですが,
右クリックのポップアップメニューで,
メニューを選択してもWM_COMMANDとかが飛んでいません。
そもそも,trackpopupmenu()を使っていなさそうなのですが。
WM_COMMANDを送信しないようなメニューの作り方,
またはその場合どうやって項目を選択した事を
ウィンドウプロシージャに伝えるのか,知っている人はいますか?
0289デフォルトの名無しさんNGNG
>288
フックしてメッセージを削除
0290デフォルトの名無しさんNGNG
ちょっくら気になったのですが、
GDIでパレットアニメーションはどうすればできるのでしょうか?
またwindowsの画面モードが256色以外でもできるのでしょうか。
0291デフォルトの名無しさんNGNG
AnimatePalette()
できません。
0292デフォルトの名無しさんNGNG
>>289
フックしてメッセージを削除する事には,どういった意味があるんでしょう?
それと,試しにそのウィンドウに,
メニューの項目のIDと共にWM_COMMANDを送信してみましたが,
反応はありませんでした。
ぼくは何か考えちがいをしていますか?
0293デフォルトの名無しさんNGNG
>>288
自前でWM_LBUTTONDOWNとか見て処理してるんじゃないのか?
0294290NGNG
> 291
ありがとうございます。
やはり256以外ではできないんですね。
0295login:PenguinNGNG
16の8じょうを Ansi Cを使って計算しようとすると
どうかけばいいですか?
0296デフォルトの名無しさんNGNG
0
0297デフォルトの名無しさんNGNG
>295
16*16*16*16*16*16*16*16
0298デフォルトの名無しさんNGNG
Linux板とのマルチポストなんだな、きっと…
0299デフォルトの名無しさんNGNG
(define (power n x) (if (zero? x) 1 (* n (power n (- x 1)))))
(power 16 8)
4294967296
0300295NGNG
16のn 乗 を計算せさせるには?
0301デフォルトの名無しさんNGNG
>>300
ヘルプでもWebでも検索しろよ。
こうだよ。

pow(16, n);
0302デフォルトの名無しさんNGNG
スレ違いな書き込みに、あまり餌をやるのはどうかと…
0303デフォルトの名無しさんNGNG
(power 16 32)
340282366920938463463374607431768211456
0304デフォルトの名無しさんNGNG
(power 16 128)
13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096
0305デフォルトの名無しさんNGNG
はやい!
0306デフォルトの名無しさんNGNG
VC6でプロファイルを取るため、
ttp://www.bd.wakwak.com/~opapa/VC/Operation/Profile.htm
を参考にVC6のバグを回避してプロファイルを行う設定にしました。
しかし、「ビルド」メニューの「プロファイル」が灰色になっているので
プロファイルが取れませんでした。
環境はWin2k+VC6 Enterprise SP5です。
原因がわかる方は教えて下さい。お願いします。
0307デフォルトの名無しさんNGNG
ftime.batとかあるからソレ使え。
MSDNにやり方載ってる。
0308デフォルトの名無しさんNGNG
VCで「デバッグの中止」ボタンを押して、プログラム中断すると、動的確保した
メモリやら、開いていたハンドルってどうなるの?
0309デフォルトの名無しさんNGNG
解放されるんちゃうかー
0310デフォルトの名無しさんNGNG
>>308
メモリは開放される。
他のリソースもプロセスが終了するときに自動的に開放されるってのが多い。
でも、全部が開放されるかどうかは分からない。
0311直リン普及委員会NGNG
>>306
今度から直リンでおねがいします。
0312デフォルトの名無しさんNGNG
>>310
少なくともファイルは残るな。ハンドルは開放されるけど、ファイルそのものは
消えない。

共有メモリとか名前つき mutex も残るんじゃない。
0313デフォルトの名無しさんNGNG
>共有メモリとか名前つき mutex も残るんじゃない。
残らないって。
0314デフォルトの名無しさんNGNG
>>313
GlobalAllocしたのも消滅するの?
0315デフォルトの名無しさんNGNG
>312
ファイルハンドル閉じてもファイル自体は残るのが普通だと思いますが。
0316308NGNG
他のプロセスが確保したメモリって開放できるんですか?
特権とかの関係ですかね?

また、newで例えば 10MB確保して、開放せずにプログラムを終了しても
パフォーマンスモニタなんかを見てると、きちんと 10MB増減するんですが、
メモリリークとはどのような場合を指すのですか?
0317デフォルトの名無しさんNGNG
>>314
開放される。
Win32だとGlobalAllocもLocalAllocも同じ。
0318316NGNG
newは、中では HeapAllocですよね?
VirtulaAllocは開放されるみたいです。
0319デフォルトの名無しさんNGNG
>>316
メモリリークはプログラム実行中の話。
終了すれば開放される。
0320316NGNG
>319
はぁ、そういうことですか。
プログラムが終了しても開放されないメモリのことだと思ってた...
0321デフォルトの名無しさんNGNG
>>315
もちろん普通だけど(それがファイルの存在意義だし)、

 正常な手順を踏んで終了した場合には残らないが、強制終了させると残る
 リソース

ということで挙げてみたり。

>>313
Win32 だと共有メモリは残らんのか。昔 UNIX System V で開発してたときに
共有メモリが残ってしまって(正常終了時には、終了処理で消すようにしてた)

 ダサすぎ

と思ったことがあるんで。
0322デフォルトの名無しさんNGNG
>>317
そうなんだ。
ってことはHGLOBALは生成したプロセス終了時に無効になるってことか。
ありがとう、参考になった。
0323デフォルトの名無しさんNGNG
すみませんが、教えて下さい。
CDialogをChangeDisplaySettingsを用いてフルスクリーン表示させるのですが、
このとき、縁(ダイアログ枠?)の部分が残ってしまいます。
スタイルを変更しようと思って以下のような処理をしたところ、
ModifyStyle ( WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX| WS_POPUP |WS_DLGFRAME, 0 , SWP_FRAMECHANGED) ;
ModifyStyleEx(WS_EX_CLIENTEDGE,0,SWP_FRAMECHANGED);
上記のModifyStyleExで0が返ってきてしまうのですが、
なぜでしょうか?
ModifyStyleではスタイルの除去が出来たのですが・・・。
0324デフォルトの名無しさんNGNG
>>ModifyStyleEx(WS_EX_CLIENTEDGE,0,SWP_FRAMECHANGED);
MSDN見たけどSWP_FRAMECHANGEDのことかかれてないなぁ・・・

俺もフルスクリーンとウィンドウを切り替えるモジュール作ってあるけど
ModifyStyle(Ex)は使ってないな
ウィンドウのスタイル変更は『SetWindowLong』『SetWindowPos』使ってやってるけど
0325デフォルトの名無しさんNGNG
Winsockを使う以外でファイルをネットワークからダウンロードすることは出来ますか?
0326デフォルトの名無しさんNGNG
ワークスペースの中のプロジェクトが多くなってきて管理しづらくなってきたんですが、
プロジェクトをフォルダの階層構造みたいにすることはできますか?
0327デフォルトの名無しさんNGNG
>>325
ネットワークドライブからコピー(w
\\hogehoge\dir\file

一応ネットワークからダウンロードだろ。
0328デフォルトの名無しさんNGNG
>326
プロジェクトの中はフォルダ分けできるけど、プロジェクト自体の階層化は無理っぽい。
EXEとDLLといった関係だったら、「ブロジェクトの依存関係」で少しは見通しがよくなるけどね。
0329326NGNG
>>328
やっぱ無理ですか…。まあ、出来る範囲で見通し良くして頑張ります。
0330デフォルトの名無しさん NGNG
プログラムの生産性を高めようと思い今年の夏くらいからライブラリ化を行うようにしました。
それぞれのプログラムで共通の部分を探してライブラリにまとめたら
ライブラリが5MBくらい(ソースファイルのサイズ)になってしまいました。
ライブラリが巨大過ぎてどこに何があるのか把握し切れません。
プログラムごとにコードを書いて再利用できると思う部分はコピー&ペーストで貼りつけていた頃のほうが生産性が高いくらいでした。
これは慣れてないからでしょうか?
それともライブラリなんて自分で作るもんではないのでしょうか?
ちなみにライブラリ内の各関数は複数のプログラムで使われることは殆どありません。
それどころが無いと思ってライブラリに追加した関数と同じ機能の関数が既に存在していて後でムカついたりと
嫌なことだらけです。
正直辞めたいです。
でも半年かけて作ったものを捨てるのは非常に悲しいです。
どうしましょう?
0331デフォルトの名無しさんNGNG
>>330
人生は出会いと別れの繰り返しさ。
時には悲しい別れと向き合わなければならない。
0332デフォルトの名無しさんNGNG
>330
そりゃ、お前、何も考えてないからだろ。ていうか、何をライブラリにしたんだ?
俺はもっぱらDirectXにしかつかわないが・・・
それぞれの関数を分野に分けて複数のlib作ればいいだろ。
0333323NGNG
>324
レス、ありがとです。
仕方ないんで、Viewのクライアントレクトをとって、
伸縮してフレームを消しましたです。
0334デフォルトの名無しさんNGNG
>>333
おいおい、マジですか・・・(w
それって非常にマズーよ
0335デフォルトの名無しさんNGNG
DLLのデバッグにおいて、ブレイクポイントやステップ実行は可能なのでしょうか?

現在呼び出し側のプロジェクトに、DLLのプロジェクトを加えています。
キーボードフックのためのDLLなのですが、WM_KEYDOWN等が来ている
(動作はしているので)のに、ブレイクしてくれないので、勘で試している様な体たらくです。
0336デフォルトの名無しさんNGNG
>335
普通にデバッグできるけどナー。
ありがちなのは、実行ファイルがデバッグ対象とは違うDLL
(たとえばリリース版の方とか)をロードして動いているというケース。
まず双方の出力ディレクトリを確認してみては。
0337デフォルトの名無しさんNGNG
デバッグ情報をあらかじめ読み込んでおく設定ができていないという罠
0338デフォルトの名無しさんNGNG
IEとかMSWordとかで、ツールバーがメニューを全て表示できない場合、
">>"ボタンになって、クリックすると隠れているメニューが表示されますが、
あれって、自力で実装するしかないのでしょうか?
MFCで用意はされていないのでしょうか?
0339335NGNG
>>336
DLL側ののDebugフォルダにある、作成されてたdllを
呼び出し側のDebugフォルダへ、実行の度に一々コピーしてました。
>>337
そういう設定した記憶が全くなかったりします(T-T

なんか根本からダメダメ事がよく分かりました。頂いたヒントを元に
MSDNと旅に出てきます。レスありがとうございました。
0340 NGNG
>339
最近のVCって実行パスをプロジェクトフォルダ(DebugやReleaseの1つ上)に設定してなかった?
だからDebugの中にコピーしてもダメな気がするんだけど・・・。
0341 NGNG
っていうかそもそもDLLプロジェクトのデバッグ設定がダメダメなのか。
0342335NGNG
>340,341
それがむしろ、プロジェクトフォルダにDLLおくと、実行すらされないんですよ。

それにしても、下URLを参考に、もう4時間ばかり試行錯誤してるのですが、未だ駄目で‥。
http://www.microsoft.com/japan/developer/library/vccore/_core_methods_for_debugging_dlls.htm

dll内の、他のEXPORT関数は、普通にデバッグできるのですが、
メッセージフックのコールバックプロシージャ関数だけは無理なんです。
誰か、そういうものだと言って楽にして下さい‥。
0343デフォルトの名無しさんNGNG
今までWin32でコードを書いてきました。
しかし開発効率はMFCの方が良いと聞きます。
そこで、MFCを勉強しようと思うのですが良い
MFCの書籍を紹介していただけないでしょうか?
お願いします。
0344デフォルトの名無しさんNGNG
MFCだってWin32ですが。
0345デフォルトの名無しさんNGNG
>>344
343です。
申し訳ないです。
訂正します。
Win32→APIです。
0346デフォルトの名無しさんNGNG
>>345
MFCだってAPIつかってますが。

・・・ま、そんなことはどうでもいいんだけどね。
俺は一応

プログラミング学習シリーズ
VisualC++�B
はじめてのMFCプログラミング
ISBN4-88135-823-5
山本信雄 著
SHOEISHA 発行

だったが、今から考えるとなんでもよかった気もする。
0347デフォルトの名無しさんNGNG
343です。
>>346
>>MFCだってAPIつかってますが。
まだまだ無知なのでご指摘感謝します。
また、丁寧な返答もありがたいです。
早速参考にさせていただきます。
0348デフォルトの名無しさんNGNG
STLのsetを使用すると大量の警告が出てしまいます。
これは何故ですか?
また回避する方法はありますか?
0349デフォルトの名無しさんNGNG
>>348
FAQ
0350デフォルトの名無しさんNGNG
>>348
ファッキュー
0351デフォルトの名無しさんNGNG
何の警告かも書かないあほには方法すらない
0352デフォルトの名無しさんNGNG
コマンドラインから情報もってくるのってどうやるの?

たとえばファイル名を指定して実行。

プログラム名 パラメタ1 パラメタ2

↑パラメタ1とパラメタ2を利用したいんですが、、、
0353デフォルトの名無しさんNGNG
>>352
WinMain の第三引数、もしくは main の第一/第二引数
0354デフォルトの名無しさんNGNG
>>353
うわーい
ありがたう
0355大助NGNG
特定の時刻になったら何かするっていうのはどう実装すれば良いでしょうか?
一定時間経ったら何かするってのは、SetTimer()を使えば良いのですが
私のやりたいのは、定期的にある処理をしていて、ある時刻(例:5時10分)に
なったら別の処理を行うというものです。
内部的に目覚ましみたいなものを作成したいのですが、どのように
作れば良いでしょうか?
よろしくお願いします。
0356デフォルトの名無しさんNGNG
質問なんですが、コンパイルエラーで、クラスが定義されていない、
識別エラーとでてしまいます。
前方宣言、includeミス以外で何が考えられるんですか?
0357デフォルトの名無しさんNGNG
スペルミス。
0358デフォルトの名無しさんNGNG
>>355
3.WM_TIMERで定期的に現在時刻を調べる。
0359( _ 。。) _ バタ。 ◆lUd9keO2 NGNG
>>355
イベントループを使わず、peekmessageを割り込ませた
メインループを作り毎回時間を取得する。

…精密でなくていいなら >>358 の方がおすすめ。 1分か…30秒に1回かな。>チェック
0360デフォルトの名無しさんNGNG
>358 1と2が何だったのか気になる……
0361デフォルトの名無しさんNGNG
>>355
(目的の時刻 - 現在の時刻)の分だけ Sleep() するなり、
SetTimer() でこの値を使うなり、
SetWaitableTimer() (およびそれに付随する奴)で目的の時刻をセットするなりすれ。
0362大助NGNG
ありがとうございました。
SetWaitableTimer() を使って実装してみることにしました。
サンプルを作っているのですが、ビルドできません。
MSDNによるとSetWaitableTimer()は
ヘッダー:winbase.h 内で宣言
インポートライブラリ:kernel32.lib を使用
とのことなので、winbase.hをインクルードしてkernel32.libはデフォルトで
リンクしているので、そのままとしています。
HANDLE hTimer;
hTimer = CreateWaitableTimer(NULL, FALSE, NULL);
というサンプルをビルドすると
error C2065: 'CreateWaitableTimer' : 定義されていない識別子です。
error C2440: '=' : 'int' から 'void *' に変換することはできません。(新しい動作 ; ヘルプを参照)
整数型からポインタ型への変換には reinterpret_cast、C スタイル キャストまたは関数スタイル キャストが必要です。
と表示されます。
ちゃんとwinbase.hで定義されているはずなんですが?
ネットでサンプルを探したのですが、適切なものがありませんでした。
何が悪いのでしょうか?
よろしくお願いします。
0363デフォルトの名無しさんNGNG
>362
Windows NT/2000:Windows NT 4.0 以降
Windows 95/98:サポートされていません。
MSDNにはこう書かれてるけど、この辺は大丈夫?
0364大助NGNG
>363
>Windows NT/2000:Windows NT 4.0 以降
>Windows 95/98:サポートされていません。
>MSDNにはこう書かれてるけど、この辺は大丈夫?

はい。Windows2000で開発してます。
http://members.tripod.com/myyee/cs431/timer.txt
にそのまま流用できそうなソースを見つけたのでやってみましたが
やっぱり同じエラーになります。
さっぱり分からなくなりました。
0365デフォルトの名無しさんNGNG
こんばんわ。VC++というよりWindowsのプログラミングかもしれませんが、
コンソールアプリをプログラムで最初から全画面表示にするには
どうすればいいのでしょうか?
(Alt+Enterを押して切り替えるのではなく、最初から全画面にしたいのです)
0366デフォルトの名無しさんNGNG
>364
#define _WIN32_WINNT 0x0400
NT4.0以上だからこれを定義すればいいんじゃないかな。
0367大助NGNG
>366
>#define _WIN32_WINNT 0x0400
>NT4.0以上だからこれを定義すればいいんじゃないかな。

おおっ、ビルド出来ました。
ありがとうございました。大変助かりました。(^o^)
これからサンプル動かして確認してみます。
0368デフォルトの名無しさんNGNG
起動後Alt+Enterをプログラムに送る(藁
0369デフォルトの名無しさんNGNG
>365
ショートカットから、プロパティ->オプション->表示オプション->
ウインドウ/全画面?
APIで、というと、GetConsoleDisplayModeはあるが、
SetConsoleDisplayModeは無いみたいだが。
0370デフォルトの名無しさんNGNG
コンパイルエラーの情報は「アウトプット」っていうウィンドウに表示されますよね。
この「アウトプット」ウィンドウに表示されるメッセージが横に長いせいで
非常に見づらいんです。ウィンドウの横幅内で自動改行して表示するような
オプションってありませんかね?
0371鬱……NGNG
GUI のコントロールのダイアログを閉じてしまったのですが、
再び出す方法が分かりません。どうやったら出せますか?

どうしようもないな、俺……。
0372デフォルトの名無しさんNGNG
>>371
・・・リソースエディタのコントロール選ぶやつの事か?
フレームの、なにも無いところで右クリックしてみい。
0373デフォルトの名無しさんNGNG
>>371
根性ねえな。
メニューを片っ端から開けばみつかるyo。

メニューの「ツール」→「カスタマイズ」
 →タブの「ツールバー」→「コントロール」にチェックをつける。
もしくは
ツールバーの何もないところを右クリックして現れるメニューのコントロール
にチェックをつける。
0374鬱……NGNG
>>372-373
ありがとう。出た。
自分の情けなさに涙出てきたよ……。
0375デフォルトの名無しさんNGNG
Doc-Viewについて質問。
今作ってるアプリ、オプションで表示フォントを変更できるようにしたいわけだが、
設定の保存法で悩む。
CPropertyPageをCMainFlameのメンバにして保存しようと思ったが、そうなるとViewクラスから
どうやってアクセスすりゃいいのか分からん。というかこの実装はださいと思う。
皆さんオプションダイアログってどうやって実装するんですか?
0376デフォルトの名無しさんNGNG
FTPクライアントを実装しようとしているのだが、MFC提供のクラスを使うと
コマンドを送ることができない…。
どうすれば良いんでしょう?
0377デフォルトの名無しさんNGNG
VC++のリソースエディタで作成したリソースの内容を、実行時に変更することは
可能でしょうか?
たとえば、staticテキストフィールドの文字列を実行時に変更するようなこと。
VBなら簡単だけど。結構こういうことをしたいときは多いと思うのですが。
0378デフォルトの名無しさんNGNG
>>376
CSocketを直接使ってFTPのコマンドを送るというのは駄目??
0379デフォルトの名無しさんNGNG
>>377
GetDlgItem(リソースID)->SetWindowText(文字列)
0380377NGNG
>>379 thanks!
0381デフォルトの名無しさんNGNG
>378
ソケットを使うのも考えたのですが、挫折してしまいました(恥
0382デフォルトの名無しさんNGNG
forのループ変数のスコープをfor内に収めることはできないの?

for(int i=0;....){};
for(unsigned int i=0;....){};
マズーなんですが.
TurboCはOKだった これが標準なのでしょうか?
0383デフォルトの名無しさんNGNG
#define for if(0);for
0384デフォルトの名無しさんNGNG
#define for if(0);else for
だ
とにかくふぁっっきゅー
0385デフォルトの名無しさんNGNG
>382
MSの独自拡張のチェックを外せばエラーが出なくなったと思うけど、
他のソースがコンパイルできなくなったような。MS逝ってよし?

>384
そんなのあるんか。見るからに嫌な気分になってくるTipsだなぁ。
0386デフォルトの名無しさんNGNG
デバッグ中にSTLの変数の中身を見たいときどうしてますか?

vector<T> v;
v[i] を見たいとき v._First[i]

list<T>, map<T> の iterator i
*i を見たいとき i._Ptr->_Value

ちなみにconst_iteratorの場合、VC++のウォッチで_Ptrが見えるのに
iteratorだと見えないのは、iteratorがconst_iteratorから派生していて
基底クラスのメンバは出てこないためのようです。
(自分で打ち込めば見えるんだけど)

他にいい方法ないですか?
0387デフォルトの名無しさんNGNG
VC++のSTLは何を使ってますか?

付属の奴そのまま
STLPort
SGI
0388デフォルトの名無しさんNGNG
付属のやつそのまま。
糞グラマですが何か?
0389デフォルトの名無しさんNGNG
>>387
STLport

付属のヤツだと auto_ptr に reset() がなかったりと、微妙に仕様が古いので
困ることがある。
0390糞グラマNGNG
コーディングに関係ないんですが、一応VC相談ちゅことで
VC6にてコマンドラインからビルドするときに

>msdev /make "hoge.dsp/dsw" ...

と書くと楽チンなんですが、ビルドの設定をここで指定したいんですが
具体的にはプリプロセッサ定義の追加と出力ファイル名。
SET CL=/DHOGE
でCL.exeは反応してくれるんですがリソースコンパイラとリンカに
この状態で設定変えることはできるかな?

プロジェクトに追加しる!ってのが現状の結論ですが。
0391デフォルトの名無しさんNGNG
>390
メイクファイルをエクスポートしてNMAKEで作るとか。やったことないけど。
0392名無しさん@お腹いっぱい。NGNG
VisualStudioを入れると、OS側でアプリケーションエラーが発生したときなどに
それをフックしてデバッグしますか?みたいなダイアログがでますが、アレを解除
する方法ご存知ありませんでしょうか?VS6でWin2kです。
0393デフォルトの名無しさんNGNG
>>392
クラッシュ時に起動されるデバッガは、次のレジストリの値で指定されてる。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\Current Version\AeDebug\Debugger

こいつを VS インストール前の値に書き換えてやれば OK。
0394392NGNG
>>393
ありがとうございます。やってみます。
0395デフォルトの名無しさんNGNG
>>392
っていうか、
ツール -> オプション -> デバック の「ジャストインタイムデバッグ」のチェックを外す。
0396デフォルトの名無しさんNGNG

PNGを読み込みたいです。
BMP・JPEG・GIF・アイコン・カーソルなどの主要フォーマットはAPIで読み込めるのにPNGはなぜ読み込めないのでしょう?
自分は Win98 なんですがXPやなんかでも読みこめませんか?
新しいPNG読み込みAPIが実装されていたりしませんか?

それとAPIがスレッドセーフかどうかってどうやって調べたらいいですか?
MSDNで特に明記されていない場合スレッドセーフとみなしていいんでしょうか?
もちろんライブラリはマルチスレッド用の物をリンクさせます。

0397デフォルトの名無しさんNGNG
 VC++6.0 のダイヤログベースプロジェクトで、
子ダイヤログとしてモードレスダイヤログを表示させた上で、
親ダイヤログにメッセージボックスなど、
モーダルなダイヤログを出したのですが、
その際にも子のモードレスダイヤログにアクセスできてしまいます。
(フォーカスが移動してしまいます)

親にメッセージボックスを出している最中に、
子のモードレスダイヤログにフォーカスできないようにするために、
何か良い方法は無いでしょうか?
(子モードレスを非表示にすることは仕様上出来ないです)
0398デフォルトの名無しさんNGNG
>>397
子を EnableWindow( FALSE ) しちゃうとか。
0399397NGNG
>>398さん

 それも考えてはいたのですが(試してないですが・・)(^^;
実際に子窓は、たくさんある状況なので、
モーダルの方に命令1つ・・というスマート?な方法を模索してます。
(MessageBox関数は、代用のダイヤログがあるので、
 実際には全てCDialogのDoModalを利用する事にしています)

 ・・とはいえ、(当たり前ながら)親は全ての子を知っているので、
EnableWindow(bFlag)を、全ての子供に送るようなメッセージを作るなどで、
ある程度煩わしくない対処が出来るのかもしれません。

 ただ・・メッセージボックスは、子にも出す必要があるので、
子→親へSendMessageっていうのもどうかな・・と(^^;;;
0400デフォルトの名無しさんNGNG
>396
IEコンポーネント経由で読み込むことが出来る、と思う。
詳しくは「IEコンポーネントを使い倒すスレ」の過去ログを検索してみて。
解ったら報告のこと。
0401デフォルトの名無しさんNGNG
エディットボックスやリストボックス上に
ドラッグ&ドロップしたファイル(アイコン)のパスとかをそのエディットボックスやリストボックスに
表示してやりたいんですが、どうやって認識してあげたらいいのでしょうか?
0402デフォルトの名無しさんNGNG
>>401
DragAcceptFiles()すると、WM_DROPFILESがやってくる。
0403デフォルトの名無しさんNGNG
>>402
ウワーン
まじでありがとYO!
0404デフォルトの名無しさんNGNG
ヘンなハナシを振らせてください。

gccやVisual C++6.0の実装のハナシだけど、
ifstream(fd)/ofstream(fd)でファイルディスクリプタを渡せますよね。
これでソケットやパイプに対してgetlineやマニピュレーターを適用できる。
(Visual C++だと_get_osfhandle()なんかでハンドル→ディスクリプタ変換)
さあて、ここで、open/read/write/socket/pipeなんてのは
POSIXでもANSIでもありませんよね。

あと、↓の仕様って妥当だと思うけど、これに外れる実装例ってあるのかしら。

ファイルがコンストラクタまたは open メンバ関数を使って開かれているときだけ、
ファイルはクローズされます。

あ、引数にもどしてないや・・・
0405デフォルトの名無しさんNGNG
>>404
このコピペたまに見るけど、なんなの?
0406デフォルトの名無しさんNGNG
ねえねえ、clの最適化オプションなんですけど、

>/G6
> Pentium Pro プロセッサ用にコードを最適化します。
>
>/GB
> Pentium 用に作成されたコードを最適化します。80386 (/G3)、80486 (/G4)、
> Pentium (/G5)、および Pentium Pro (/G6) オプションの最適化をブレンドします。

これ、/GBは/G6を包括してるわけですか?
それとも、/GBよりも/G6のほうが
Pentium Pro向けにはいいコード吐くようになってるってことですか?
0407デフォルトの名無しさんNGNG
>>406
ほとんど変わりません。
たぶん速度が1%変わったら大成功な方でしょう。
0408デフォルトの名無しさんNGNG
MFC初心者です。
ラジオボタンのenable、disenableを切り替えたいのですが、
関数で用意されているのでしょうか?

0409名無しさんに接続中NGNG
MFC&SDI にて、あるファイルを開いている状態から別のファイルを開く場合に、
Document が view からデタッチされると思うのですが、その時呼ばれる
メッセージかもしくは仮想関数はないでしょうか。
今、OnInitialUpdate で仮想画面を create してるのですが、delete する
タイミングを逸しています。できれば泥臭いことはしたくないのです。
もしだめなようなら、仮想画面を作るタイミングを再検討してみようと思います。
0410409NGNG
ちなみに SPY を使っても目的のメッセージは見つかりませんでした。
しかし SPY を使うと色々なプロセスが落ちて、システムが不安定になるの
ですが、私だけでしょうか。
0411デフォルトの名無しさんNGNG
vectorのerase()って要素を削除した後後ろの要素を前に詰めてくれるんですか?
0412411NGNG
あ、スレ違いだったかな・・・
0413デフォルトの名無しさんNGNG
>>412
こっちかな。

●STL スレッド●
http://pc.2ch.net/test/read.cgi/tech/1004287394/
0414411NGNG
>>413
すいません。逝ってきます。
0415デフォルトの名無しさんNGNG
>>408
EnableWindow

>>409
deleteはOnDestroyかな・・・
0416ぼんぢゅーるNGNG
system()でバッチ処理をすることがあるのですが
あるディレクトリに移って相対パスを使うことってできますか?
system("\hoge1\hoge2\a.exe < \hoge1\hoge2\b.dat");
を
system("cd \hoge1hoge2");
system("a.exe < b.dat");
のような感じで動かしたいのですが。。。
0417デフォルトの名無しさんNGNG
実際に試してみればいいんじゃないでしょうか
0418416NGNG
↑このままじゃ動きませんでした、確か。
0419デフォルトの名無しさんNGNG
スクリプトファイルに出力して
それを system で実行するとか
fprintf( fp, "cd \hoge1...
system("temp.bat");
0420デフォルトの名無しさんNGNG
SetCurrentDirectoryしてから、じゃダメなのかな?
確認してなくてごめんだけど。
0421416NGNG
>>419 >>420
ありがとうございます、試してみます。
0422デフォルトの名無しさんNGNG
初歩的な質問で申し訳ないのですが、
WNDCLASS.lpfnWndProcには普通WndProcが入りますが、
他の関数(例えばWndProc2)にしてもいいのでしょうか?
0423954NGNG
解決しました
0424デフォルトの名無しさんNGNG
>>422
引数の型が同じで戻り値の型が同じで呼び出し規約が同じ関数なら、
名前は何でもよろしいぞ。…っというか、そうでないと2種類とか
3種類とかウインドウ作りたいときに困るではないか。

cite=MSDN
> The WNDPROC type defines a pointer to this callback function.
> WindowProc is a placeholder for the application-defined function name.
0425デフォルトの名無しさんNGNG
解決しました
0426デフォルトの名無しさんNGNG
MFC不使用の場合ファイルを開くのに、CreateFileとfopenが考えられますが
どちらを使えばいいのでしょうか?
0427デフォルトの名無しさんNGNG
好きな方使え。
移植のこと考えるならfopen
排他とかバッファリングとかの細かい制御をしっかり指定したいならCreateFile

0428学生さんNGNG
ダイアログベースで作っています。
ダイアログのエディットボックスのデータを別のダイアログのエディットボックスに
移すにはどうしたらいいのでしょうか?教えて下さい。


0429デフォルトの名無しさんNGNG
WM_SETTEXTしてくだちい
0430 NGNG
>>428
別のダイアログって言っても、元のダイアログの親なのか、子なのか
はたまた別のプロセスのダイアログなのかで全然違う。
0431デフォルトの名無しさん NGNG
 ATL COM AppWizardでEXEサーバーを作り、ATLオブジェクトウィザードで
ダイアログを追加しました。そして以下のテンプレートクラスを継承させました。
public CAxDialogImpl<CComDialog>,
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CComDialog,&CLSID__ComDialog>,
public IDispatchImpl<IComDialog,&IID_IComDialog,&LIBID_SAMPLELib>
 ダイアログリーソースにエディット、インターフェイスにVisibleプロパティを
追加してクライアントプログラム(クライアントはコンソールアプリケーション)から起
動しましたが、エディットボックスに文字をタイプすることが出来ません。
カーソルは表示されマウス操作によるカット&ペーストは可能です。さらにBackSpace
キーは無効でDeleteキー、カーソールは有効です。
 EnableWindow、SetFocus周りの見落としがあるのかと試行錯誤しました。
このような場合、エディットのテキストエリアに文字を入力できるようにするには、
どうしたらよいのでしょうか?
0432junNGNG
VC++相談よろしいでしょうか!!お願いします!!

アクセスでOLEオブジェクトでBMP画像を格納して
それを、VC++6.0にODBCで接続して BMP画像をLongバイナリ
データで読み込むのですが、VCで表示するために

BYTE *p = (BYTE*)GlobalLock(m_pSet->m_column1.m_hData);

FILE *fp = fopen("aaa.bmp", "wb");

fwrite(p, 1, m_pSet->m_column1.m_dwDataLength, fp);

fclose(fp);

GlobalUnlock(m_pSet->m_column1.m_hData);

(m_column1 という変数が ロングバイナリはいってます)

とやったのですが、aaa.bmpというロングバイナリにbmp拡張子
つけてみたんですが、ファイルの作成はできるのですが
表示が できません・・・たぶん バイナリデータの頭に
アクセスでペイントを開くデータがあるからだと思います。
どうやって解決したらよいでしょうか?
おねがいします! ながなが すみません!
0433デフォルトの名無しさんNGNG
>>432
マルチポストうざい。
↓で判るだろ。
http://www.codeguru.com/mfc_database/storing_paintbrush_in_accessdb.shtml
http://www.codeguru.com/mfc_database/MSAccessOLEField.shtml
0434junNGNG
>>433
すみません・・・
迅速なお返事
どうもありがとうございました!!
がんばってみます!!
0435デフォルトの名無しさんNGNG
インライン関数がインライン展開されたかを
確認する方法ってないのでしょうか?
0436デフォルトの名無しさんNGNG
>>435
アセンブリコードを出力させる。
0437デフォルトの名無しさんNGNG
 製作途中のプログラムがあるんですが、ノートからデスクトップにワークスペースを
コピーして続きを作ろうとすると、なぜかフロッピーディスクにアクセスしようとして
固まってしまいます。適当なフロッピーを入れると再び動き出すんですが、なぜでしょ
う?
 ノートがPC98なので、VisualC++がAドライブだったせいでしょうか。フロッピーを
突っ込んでおけば一応問題ないのですが、直し方ってありませんか?
0438デフォルトの名無しさんNGNG
メニューの「ツール」「オプション」「ディレクトリ」あたりをみてみれ。
0439437NGNG
 全ファイルのパスは正しくCドライブになっておりました。他にチェックすべき
ところありますか?

 質問を重ねて申し訳ありませんが、MFCのクラスのサブクラスを自作して、
他のプロジェクトでFileViewからプロジェクトにファイルを追加したとき、
ClassWizardでハンドラ等の関数を追加できないのですが、解決策はありません
か?それとも別な方法で自作したサブクラスをプロジェクトに追加しないと駄目
なんでしょうか?もしそうなら、方法を教えてください。
0440デフォルトの名無しさんNGNG
MRLが関係しているのかも。
とりあえず、GREPなどかけてみれば?
0441437NGNG
>>440

 ???何がなんだかさっぱりわかりません…(汁
0442デフォルトの名無しさんNGNG
CByteArrayの値をファイルに書き出す方法をおしえてください。
FILE *fp = fopen("aaa.bmp", "wb");
fwrite(p, 1, ???, fp);
こんな感じでやりたいのですが・・・・
0443デフォルトの名無しさんNGNG
>>442
CByteArray ba;
fwrite(ba.GetData(), 1, ba.GetSize(), fp); // ま、こんな感じでいいんじゃない?
0444デフォルトの名無しさんNGNG
if(this->nPoint >= 3){
this->normal = ::CalcNormal(this->point[0], this->point[1], this->point[2]);
}
何してるか分かりますか?
0445デフォルトの名無しさんNGNG
>>437
*.ncb *.aps *.clwを消して見れ。
0446デフォルトの名無しさん NGNG
>>444
thisを省略すりゃ見やすい。
::CalcNormalでスコープの外側の関数をコール。
namespaceの外側、グローバル関数あたりをコールしている。
thisが分からなければclassを勉強しなさい。

0447デフォルトの名無しさんNGNG
>>446
レスサンクス
つまりnPointが3以上ならばpoint[0]〜[2]をコールしてるってことですよね?
this・・・よくわかんねぇ鬱
0448デフォルトの名無しさんNGNG
http://mappy.mobileboat.net/~seek/up/img-box/img20020225051641.jpg

すいません。
上のようなリストをつくりたいんですがどうやったらいいでしょうか?
ファイル|サイズ|更新日時というやつです。

0449デフォルトの名無しさんNGNG
>>448
CListViewじゃダメなの?
0450デフォルトの名無しさんNGNG
INCLUDE も LIB も設定したのに CL.EXE が

インクルード ファイルがオープンできません。'windows.h'

と言ってきます。なぜでしょうか?
VS6 Windows2000 です。
もちろん Include ディレクトリの中には Windows.h は入ってます。
0451409-410NGNG
>415
ウインドウを閉じた場合は確かに OnDestroy が呼ばれるんですけど。
SDIで新しいファイルを開いてビューに割り付ける場合は、Ondestroy が
呼ばれません。
メモ帳やペイントはどうやっているのだろう。仮想画面は使ってると思うの
ですが。
0452450NGNG
事故レスです。
INCLUDE は "" で囲ってはいけません。
LIB は大丈夫なのかな? HelloWorld は正常にコンパイルできたから。

凡ミスでした。
0453デフォルトの名無しさんNGNG
あるある
0454デフォルトの名無しさんNGNG
発掘あるあるプログラミング大事典スレ行きだな。

そんなスレねぇよ!
0455デフォルトの名無しさんNGNG
ないない
0456デフォルトの名無しさんNGNG
コマンドラインからコンパイルしているんですけど、
インクルードしているヘッダがどうしても C のソースとして
解釈されようとしてコンパイルエラーが出ているようです。
拡張子が h なのが原因なのでしょうか?
コンパイルオプションの -Tp をつけても駄目みたいです。
どうしたらいいでしょうか?
0457456NGNG
勘違いでした。スンマソン。
0458デフォルトの名無しさんNGNG
クリティカルセクションを使って同期をとっているんですがロックをネストさせた場合正常に機能しますか?

CRITICAL_SECTION critical;

void f1()
{
  EnterCriticalSection(&critical);    // �@
  // ここで何か処理をする
  LeaveCriticalSection(&critical);    // �A
}

void f2()
{
  EnterCriticalSection(&critical);    // �B
  f1();
  // ここで何か処理をする
  LeaveCriticalSection(&critical);    // �C
}

こういうプログラムの場合に f2() を呼び出した場合
�B�@�A�Cの順番で実行されますが�Cまでロックした状態は維持されますか?
�Aの時点で解除されませんか?

自分で試せってのは無しでお願いします。
試そうと思ったのですがどうやって試したらいいのか分かりません。
それっぽいプログラムを作ってみたら見た目ではうまく動いているようですが
本当に同期がとれているかは謎です。
教えてください。
0459デフォルトの名無しさんNGNG
エディットコントロールのスクロールについて教えてください。

マルチラインでテキストログを表示させているのですが
定期的にテキストを追加すると、先頭行にスクロールバーが移動してしまいます。

これを現在の表示位置で固定するにはどうしたらよいのでしょうか?
よろしくお願いします。
0460デフォルトの名無しさんNGNG
>>458
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcemain4/htm/cerefEnterCriticalSection.asp

> The thread must call LeaveCriticalSection once for each time that it entered
> the critical section.

とのことなので、EnterCriticalSection()を呼んだ回数と同じだけLeaveCriticalSection()
を呼ぶ必要がある。

試すには

・f2()の「ここで〜」のところでSleep(10000)して、その隙に他のスレッドで
EnterCriticalSection()してみる
・f1()のLeaveCriticalSectionを取っ払ってみて、f2()実行後に他のスレッドで
EnterCriticalSection()してみる

とか。
0461デフォルトの名無しさんNGNG
>>460
WINNT.H で定義されている RTL_CRITICAL_SECTION 構造体 (CRITICAL_SECTION
は RTL_CIRITICAL_SECTION の typedef 名) を見ても

 LONG RecursionCount

というフィールドがあるから、再帰的にロックした数をカウントしてるのは、ほぼ確実。
0462デフォルトの名無しさんNGNG
PropertySheetにビットマップを貼り付けたいのですが
何かいい方法はありませんか?
もし知っている方がいらっしゃったら、教えてください。
おねがいします。
0463デフォルトの名無しさんNGNG
IXMLDOMDocument::save
で保存するとUTF8で出力されるのだが
ShiftJISで出力するにはどうすればいいの?
0464サンコンさんNGNG
いま卒業研究をやっていまして、質問があります。
ダイアログベースで、親ダイアログのエディットボックスにファイルパスを
入れて、子ダイアログのエディットボックスにファイルの内容を表示して、
入力不可にするには親ダイアログのボタンにどのようなコーディングをすれ
ば、よいのでしょうか?教えて下さい。宜しくお願い致します。
0465デフォルトの名無しさんNGNG
スレッドを作るのにCreateThread か beginthreadが考えられるのですが
MSDNには、
C ランタイムライブラリの関数を使うスレッドは、CreateThread 関数と
ExitThread 関数ではなく、_beginthread 関数と _endthread 関数を使う
ようにしてください。

と書いてあります。
そこで、スレッド内でCのランタイムを呼び出しているかわからない場合
(ソースのないDLLを呼ぶので)どうしたらいいでしょうか?
0466デフォルトの名無しさんNGNG
>>465
不明でも_beginthread を呼んでおけば確実じゃん?
0467デフォルトの名無しさんNGNG
>>465
その DLL が MSVCRT.DLL をインポートしてるかどうか調べれば?

もしインポートしていれば _beginthread/_endthread を使えばいいし、
インポートしていなければ、CreateThread/ExitThread を使えばいい。

万が一、その DLL が MSVCRT.DLL をインポートしていないのに、
ランタイムライブラリの _beginthread/_endthread を使っているようなことがあれば、
その DLL、逝ってよし。そいつは DLL がわかってないと思われ。
0468437NGNG
>>445

 いけました。どうもですヽ(´∀`)ノ
0469デフォルトの名無しさんNGNG
>>467
昔は MSVCRT.DLL の微妙なバージョンの差で問題が発生することがあった
から DLL に libc(mt).lib をスタティックリンクしたという話もあった気がするん
だが、最近は大丈夫なの? (それとも、俺の空耳か)
0470465NGNG
_beginthread使うことにしました。御意見どうもです。

追加ですが、スレッドのPriority上げるために
DWORD m_dwThreadID = ::_beginthread(ThreadProc, 0 ,(void*)this);
::SetThreadPriority((HANDLE)m_dwThreadID ,THREAD_PRIORITY_HIGHEST);

としたのですがOKでしょうか?
DWORDをHANDLEにキャストしてる部分です。
SetThreadPriorityも成功しています。
MSDNには_beginthreadの戻り値にハンドルが返る、と書いたので大丈夫だとは
思うのですが。
0471デフォルトの名無しさんNGNG
なんであげるの?

より重い処理こそ、スレッドの優先順位を下げなさい。
それ以外はそのままにしておきなさい。
0472デフォルトの名無しさんNGNG
Visual C++ で質問です。
WinMain を使ったプログラムで(プロンプトから起動しても) std::cout が何も出力してくれません。
多分標準出力が割り当てられていないんじゃないかと思うのですが
これはどうしたらいいでしょうか?
0473デフォルトの名無しさんNGNG
>>472
コンソールアプリにすれば?
0474デフォルトの名無しさんNGNG
CreateWindowEx に関して質問です。
何故か CreateWindowEx が失敗します。
GetLastError したら「この関数は正常に終了しました」と出ました。
どういう事なんでしょうか?
RegisterWindowEx はちゃんと正常終了しています。

m_hWnd = ::CreateWindowEx(windowStyleEx, s_szClassName, "", windowStyle, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, s_hInstance, NULL);
if ( !m_hWnd)
{
MessageBox(NULL, (LPCSTR)"CreateWindowExに失敗", (LPCSTR)"デバッグ", MB_OK);

LPVOID lpMsgBuf;
FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR) &lpMsgBuf, 0, NULL );
MessageBox( NULL, (const char*)lpMsgBuf, "エラー情報", MB_OK | MB_ICONINFORMATION );
LocalFree( lpMsgBuf );
}
0475デフォルトの名無しさんNGNG
>>474
GetLastError() 呼び出す前に MessageBox() を呼んでるから、CreateWindowEx()
のエラーが MessageBox() の実行結果 (正常終了) で上書きされてる。

とりあえず CreateWindowEx() 直後に

 DOWRD dwError = ::GetLastError();

と入れて、それを FormatMessage() しましょう。
0476デフォルトの名無しさんNGNG
直接VCとは関係無いですが、開発環境がVCです。
ASPIを用いてツールを自作したのですが、配布にあたって
Adaptec に許可を得る必要はあるのでしょうか?
商用・非商用で変わるのですか?
0477デフォルトの名無しさんNGNG
スレ違いかもしれんけど
Dialog項目にInputManProを使わなきゃいけなくなったんだけど
Setfocusのイベントが取れません。
どうしたらいいの?
0478デフォルトの名無しさんNGNG
プロパティとメンバ変数って何が違うの?
0479デフォルトの名無しさんNGNG
何もかも
0480デフォルトの名無しさんNGNG
>>479
そうなんですか。
ではスレ立てて聞くのが良いみたいですね。

とりあえず11時にムとマに立てて、ソレでだめなら
2chの外で聞きます。
0481デフォルトの名無しさんNGNG
>>478
話はオブジェクト指向プログラミングの黎明期、”クラス”の誕生にまでさかのぼる。
共に同じメンバーであったメンバ関数とメンバ変数ははじめは対等な立場であった。
これはUML図法等を見れば分かると思う。それどころか幾分メンバ変数の方が”関数を
データにバインドさせる”というOOPLにおいて主体であったとも言えた。
ところがメンバ関数がメソッドと名を変えた頃から両者の関係に亀裂が生じ始めた。
virtual, abstract, interface等々メソッドは強力になっていった。
”ポリモルフィズムこそOOPLの真髄”とまで言われるようにもなった。
その頃メンバ変数(フィールドという名は定着していなかった)は頭に
m_をつけるかお尻に_をつけるかの不毛な議論のなかに埋もれていた。
「このままではいかん!」
メンバ変数は修行を続け、等々新しく生まれ変わった。それがプロパティ
だった。メソッドにも負けない強力なポリモルフィズム機構、それどころ
か右辺値か左辺値かで振る舞いを変えるなどメソッドをもしのぐ力を備えていた。
0482デフォルトの名無しさんNGNG
>>481
ありがとうございます。
少しイメージが掴めました。

この文章はテキストに保存して後生大事に保管したいと思います。
数々の無礼、お許しください。
0483デフォルトの名無しさんNGNG
>482
MFCスレでもきっちり詫び入れてこいよ。その後カオスに還れ。
0484どどど素人。NGNG
C++で逆行列を計算するプログラムを作ろうと
したのですが、どうもうまくいきません。
どなたかソースをおもちのかた、ご提供
お願いします。
0485デフォルトの名無しさんNGNG
>484
何がうまくいかないの?
0486どどど素人。NGNG
#include<stdio.h>
#include<math.h>
#define N 3
#define N1 6
#define epsilon 1.0e-5
#define TRUE 1
#define FALSE 0
float a[N][N1]={
{2,1,0,1,0,0},
{1,1,2,0,1,0},
{3,2,1,0,0,1}
};
float det;
int sw;

void main()
{
int i,j;
void sweep();

printf("\n\n =======元の行列========\n\n");
for(i=0;i<N;i++)
{
printf("%d :",i+1);
for(j=0;j<N;j++) printf(" %10.4f ",a[i][j]);
printf("\n");
}
printf("\n\n");
sw=TRUE;
sweep(&sw);
if(sw==TRUE)
{
printf("\n\n =======逆行列========\n\n");
for(i=0;i<N;i++)
{
printf("%d :",i+1);
for(j=N;j<N1;j++) printf(" %10.4f ",a[i][j]);
printf("\n");
}
printf("\n 行列式 = %8.4f \n",det);
}
else
{
printf("\n 逆行列は求まりませんでした ! \n");
}
}
続く。
0487どどど素人。NGNG
void swap(wk1,wk2)
float *wk1,*wk2;
{float w;
w=*wk1;wk1= *wk2; *wk2=w;
}

void sweep(sw)
int *sw;
{ int i,j,k,ik;
float ak,aik,p;

det=1.0;
p=1.0;
for(k=0;k<N;k++){
ak=a[k][k];
if(fabs(ak)<=epsilon)
{
ik=k+1;
while((ik<N) && (fabs(a[ik][k])<epsilon)) ik++;
if(ik<N)
{
for(j=k;j<N1;j++){swap(&a[k][j],&a[ik][j]);}
ak=a[k][k];
p=-p;
}
if(ik>=N)
{
printf("ピボットが零です ! \n");
*sw=FALSE;
goto owari;
}
}
det=det*ak;
for(j=k;j<N1;j++) a[k][j]=a[k][j]/ak;
for(i=0;i<N;i++)
{
if(i!=k)
{
aik=a[i][k];
for(j=k;j<N1;j++) a[i][j]=a[i][j]-aik*a[k][j];
}
}
}
det=p*det;
owari:;
}

ていうか実は参考書のまんまに打ったプログラムなんですが、
C用だったのでC++はだめなんですかねぇ?できればポインタとか
使わない分かりやすいプログラムが欲しいです。。。
0488デフォルトの名無しさんNGNG
追う気にはならんが、C用のソースならそのままC++で通るはずだけど。
0489デフォルトの名無しさんNGNG
荒しですか?
0490デフォルトの名無しさんNGNG
>484
で、何がうまくいかないの?
0491デフォルトの名無しさんNGNG
>>490
人生
0492デフォルトの名無しさんNGNG
>>490
ご飯ですよのふたがうまく開かない。
0493デフォルトの名無しさんNGNG
>>490
「自力で作ろうとしたけど挫折しちゃった。テヘ♥」
じゃなかろうかと。
0494_NGNG
識別子って何文字までいけるの?
0495デフォルトの名無しさんNGNG
>>494
Microsoft 固有の仕様 →

ANSI 規格では、外部識別子として 6 文字、内部 (関数内) 識別子と
して 31 文字までの名前が有効ですが、Visual C++ コンパイラでは、
外部識別子は 32 文字、内部識別子は 247 文字までの名前が有効です。
ANSI 規格との互換性を確保する必要がないときは、/H (外部識別子
名の長さを制限するオプション) を使って、このデフォルトをより小さな
値に変更できます。

← Microsoft 固有の仕様
0496デフォルトの名無しさんNGNG
誰か247文字の関数とか作ってください。templateは抜きで。
0497 NGNG
>496
void aaaaaaaaaaaa(中略)aaaaaa(void);

頭、大丈夫か?

0498デフォルトの名無しさんNGNG
.NETの購入案内が来ました。(2週間前くらいですけど)
買いですか?
それともVC6.0で十分ですか?
0499デフォルトの名無しさんNGNG
>>498
俺は郵便受けから取り出した瞬間脊髄反射的に捨てました。
0500デフォルトの名無しさんNGNG
>>499
燃やせ
0501デフォルトの名無しさんNGNG
FindFirstFileでファイル情報を構造体に受けたんですが、
そのファイル情報を使って検索したファイルがフォルダかどうか判定したんですけど
なぜかちゃんと判定したり判定しなかったり。

なんちゃら(失念)AttributeDirectoryじゃはんていしきれないのでしょうか?


0502デフォルトの名無しさんNGNG
501はくだけちった!
501はくだけちった!
501はくだけちった!
0503501NGNG
漏れの素ボケか?
まじでわからん。
たしけて。
0504デフォルトの名無しさんNGNG
しかし504にまわりこまれた!
しかし504にまわりこまれた!
しかし504にまわりこまれた!
>>503
検索しろホゲェ
0505教えてNGNG
MFCのDLLで作成したクラスを、MFCのEXEで作成したクラスを呼ぶと、
コンストラクタとデストラクタがLNK2001となります。
どうしてだか教えてください。
0506デフォルトの名無しさんNGNG
あなたの質問がよくわかりません。
どうしてだか教えてください。
0507デフォルトの名無しさんNGNG
しかし505の日本語は通じなかった!
しかし505の日本語は通じなかった!
しかし505の日本語は通じなかった!
0508デフォルトの名無しさんNGNG
翻訳ソフト?
0509デフォルトの名無しさんNGNG
はいはい、ネタは他所でやってね。ここ質問スレだから。

505 の内容の予測:
 「MFC を使ったクラスを作って DLL にしました。ところが、
  このクラスを他から使おうとすると LINK エラー 2001 に
  なります。どうしてでしょう?」
予測に対するヒント:
 「DLL に置いたクラスはエクスポートされていますか?」
0510デフォルトの名無しさんNGNG
>>501
普通はできるからね。10人中99人は「君のやり方が間違っている」と言うと思うよ。
0511デフォルトの名無しさんNGNG
>510
(;´д`)ノ せんせぇ〜、一人頭9.9人の影分身ですかぁ〜?
そのノルマはデスマーチ中の体にはきつすぎると思いま〜す。
0512501NGNG
うむ。
ありがとう。
0513デフォルトの名無しさんNGNG
マウスの左ボタンが"押されている"かどうかを、
WM_LBUTTONUP/WM_LBUTTONDOWN 系の処理を使わず、
(できればAPI1つ呼ぶだけで)取得できる方法はあるでしょうか?
0514デフォルトの名無しさんNGNG
>>513
GetKeyStateみたいな仮想キーコードを
取得するAPIで、VK_LBUTTONやVK_RBUTTONを
見るってのは?
0515513NGNG
>>514
 有難うございます。その方法でいけました。(^^)
GetKeyState(...)って、シフト取る時位しか使わないと思ってました。
勉強不足でしたね。逝ってきます。
0516デフォルトの名無しさんNGNG
VC++って、Cも使えるんだよね?
Cだけの知識で、C++は知らなくてもアプリ作れるんだよね?
0517デフォルトの名無しさんNGNG
>>516
はい。
0518デフォルトの名無しさんNGNG
んでは、Cだけ1ヶ月勉強して、すぐVC++買って遊ぶ、というのもありですね?
C++覚えてから買おうと思ってたけど、C++って結構時間かかるそうなんで。
0519デフォルトの名無しさんNGNG
>>518
> んでは、Cだけ1ヶ月勉強して、すぐVC++買って遊ぶ、というのもありですね?
VC++ で Win32 アプリケーションを作って「遊べる」ようになるのは、C 言語だけで
はなく Win32 の仕組みを知る必要があるぞ。そっちの方が大変。
0520デフォルトの名無しさんNGNG
VC++でもCはできるよ
Cの開発環境としてもVCはとても使いやすい
0521デフォルトの名無しさんNGNG
>>520
でも主要ライブラリがC++向けだよね・・・・
0522デフォルトの名無しさんNGNG
数時間前にscribbleを見ながらVCを触ってるんだけど、
ビルドするプロジェクトタイプに、デバッグとリリースの二種類
あるって書いてあります。テスト版と製品版の違いのような
ものだろうと想像してるんですが、プログラム的にはどう違うんでしょう。
デバック情報が付かないだけですか?
0523デフォルトの名無しさんNGNG
>>522
だと思うけど・・・
デバッグモードでデバッグしてバグがなくなったらリリースでビルド。配布。
0524デフォルトの名無しさんNGNG
分厚い「プログラミングWindows」を読んでがんばる、と。
0525デフォルトの名無しさんNGNG
>522
あと重要な違いとして、メモリの配置とかが違ってきます。
それでデバッグでは動くけどリリースでは動かない!なんてバグが
出てきたりするので、最終的にはリリースできちんと動いてデバッグ
終了とした方がいいですね。
0526522NGNG
>>523 >>525
レスさんきゅ。とりあえず今の状態(scribble見ながら)ではデバッグ
タイプつーことですね。

さて、僕の最初の山場はどの辺でしょうね。BCBでのWindowsアプリ
経験は1年ぐらいです。Doc/Viewモデル?に慣れるのに苦労しそうです。
0527デフォルトの名無しさんNGNG
デザパタ本か解説HPかなんかでObserver Patternを調べとくと吉。< DocView
0528デフォルトの名無しさんNGNG
>526
もはや手遅れのようだが
アマチュアがGUIアプリ作るなら
VC&MFCのメリットはまるでなし。
VBかC++Builder,Delphiにしとけ。
0529522NGNG
>>527 はーい。混乱してきたら調べてみます。
>>528 手遅れなんて言わないでよー。4月からプロを目指さなきゃ
いけないのに。

今のところMFCでズガーンってMDIアプリが出来ちゃうのにはすごいと思ったけど
作られたファイルにセミコロンなしの文(MESSAGE_MAP)にはビビッた。
怖いなVC!
0530デフォルトの名無しさんNGNG
cl /Eでフィルタリングして MESAGE_MAP がどう展開されるか見てみれ!
0531デフォルトの名無しさんNGNG
あのーポインターをファイルマッピングで共有した場合、
そのポインターの示す先も共有されますか?
0532デフォルトの名無しさんNGNG
されません。
0533デフォルトの名無しさん NGNG
>>529
継承とオーバーライドができればそんなに問題無いと思う。
0534531NGNG
>>532
そうですかー
そういったことしたい場合どうすればいいんでしょー?
0535デフォルトの名無しさんNGNG
はあー
とーぜんー、ぽいんたーのー、さししめすさきもーー
共有めもりにー、おけばー、いいんでわーー?
0536デフォルトの名無しさんNGNG
>>534
別プロセスからファイルマッピングにアクセスした場合に
同じメモリアドレスにマップされる保証はない。

アドレスを持つんじゃなくて共有メモリ内のデータへのインデックスを
持つようにしとけ。

>>535は無視。
0537デフォルトの名無しさんNGNG
VC6.0enterprise editionかったんだけど

ヘルプがない。
どれをいんすとーるしたいいのかね?
0538デフォルトの名無しさんNGNG
msdnがヘルプをかねている
0539デフォルトの名無しさんNGNG
>>538
スマソ。
そしてありがとう。

ここの板の人やさしいニダ。
0540API初心者の名無しさんNGNG
すいません、質問があります。

フロッピーやPCカードなどのボリュームシリアルを変更しようと思うのですが、
そのAPI関数がわかりません。

ヒントでいいので教えてください。
0541537NGNG
スマソ。
ちょっといいですか。
そのmsdnで調べものしたんだけどちょっと詳しいことを調べようとすると
トピックが見つかりません などといわれてしまいます。

例:OFNHookProc

VC関連は全てインストールしたはずなのですが、、、
0542デフォルトの名無しさんNGNG
>>541
「検索」タブを使おう
0543デフォルトの名無しさんNGNG
>>540
SetVolumeLabel()

>>541
それはチミが書く関数名のとりあえず付けた名前だから
0544 NGNG
>>540
SetVolumeLabel() はボリュームラベルは書き換えられるけど
ボリュームシリアルは書き換えられない。
つーか、他のスレで SetVolumeInformation って誰か書いてたろーよ。
まあ、MSDN には書いてないけどね。
(GetVolumeInformationならある。もちろん書き換えなんて出来ないが)
とりあえず、SetVolumeInformation とか、IRP_MJ_SET_VOLUME_INFORMATION を
google で検索してみるがよし。
簡単に出来ちゃ困ることだから、簡単には出来ないようにしてあるんだろう。

>>541
MSDNライブラリのインデックスは貧弱だから、キーワード(N)タブで見つからない奴は
検索(S)タブの方で探すと出てくることがある。
もちろん今回の場合 >>543 はタダの知ったか君で、
OFNHookProc もちゃんと見つかるぞ。
0545543NGNG
うそ書いてすいません。
0546デフォルトの名無しさんNGNG
ListBoxってインデックス指定してストリングの更新ってできませんか?
とりあえずINSERTしてDELETEしてるけど数多いと重そう
0547デフォルトの名無しさんNGNG
>546
俺もDELETE→INSERT してるよ。
自動ソートとか、再描画は OFFにしておく。
0548537=541NGNG
再セットアップしてみたんですがやっぱりできません。
設定がおかしいのでしょうか。。。

神はググレとおっしゃっているみたいです。
テレホ厨なのにどうしろと(泣)
0549デフォルトの名無しさんNGNG
>548
OFNHookProcなら普通にキーワード検索で出てきたよ。
MSDNで設定言っても特にないような気が。
google使うならそれでいいのだろうけど。
0550デフォルトの名無しさんNGNG
「検索」ではなくてキーワードのリンクをクリックしても
ページが表示されないって言ってるのか?
それはいくらがんばってもできないから、素直に検索タブ使え。
0551537=541NGNG
>>549
>>550
ありがとうございます。
サブセットでドキュメント全部を指定したらできました。すいませんでした。

けど、
例えばですが、トピックGetOpenFileName(日本語のドキュメント)から
1番下の参照:OFNHookProcやOPENFILENAMEやSHBrowseForFolderの
リンクをクリックしてもトピックが見つかりませんと表示されてしまいます。
GetSaveFileNameはきちんと表示されます。

↑と、書こうとしたんですが、
リンクをクリックするときも左上のアクティブサブセットを
すべてのトピックにしないといけなかったみたいです。
解決しました。
まじでづんまぜん(涙声)
ありがとうございました。回線切って逝ってきます。


0552デフォルトの名無しさんNGNG
MFCのウィザードを使わずに、MDIを実現する方法。
誰かわかるかたおられますか?
そう、ちょうどタブブラウザみたいな感じです。

0553デフォルトの名無しさんNGNG
マルチポストかよ。
0554デフォルトの名無しさんNGNG
かんけーねーけど、あっちのスレで問題の答えがでてなくて、
1日置いてんだから、まるちぽすっていわないんじゃねーの?
0555デフォルトの名無しさんNGNG
1日置いたらってなんだよ。何ルールだよ。
つーかあっちでもスケルトンのソース見れって答え出ただろ。
0556デフォルトの名無しさんNGNG
私も関係ないですけど、上に同調しますよ。
困っておられるんですから、威張っていないで
答えてあげたらどうですか?
現に、ほとんど知られてないようですし…。私も含めて。
それとも、「マルチポストかよ。」といいつつ、解ってないとか?
0557デフォルトの名無しさんNGNG
自作自演カコワルーイ
0558デフォルトの名無しさんNGNG
>>552=554=556
くだんねーことでageんな
0559デフォルトの名無しさんNGNG
MDIのソースって見たことなかったんで、
見てみたのですが、新規作成のソース、って
クラスウィザードでも、見れないのでは?

0560デフォルトの名無しさんNGNG
>>552
いまどきMDIなんてカコワルイから<SDIでMIDIでも聞ける様にしなさい。
0561デフォルトの名無しさんNGNG
>>559
はぁ??質問内容がころころ変わる奴だな
0562デフォルトの名無しさんNGNG
>>560
爆笑!まったく問題解決になってない。
読んでるだけでも面白いですね。
552のかた、MDIで何がしたいのですか?
0563デフォルトの名無しさんNGNG
ジサクジエンのage荒らしカコワルイ。
0564デフォルトの名無しさんNGNG
ネタにマジ略
0565デフォルトの名無しさんNGNG
このままでは放置決定してしまいますよ
0566デフォルトの名無しさんNGNG
こういう展開の常として、無意味にageてるヤツが犯人=悪。
0567デフォルトの名無しさんNGNG
もしかすると「ウィザード使わずに」ではなく「MFC使わずに」作りたいから
こっちで質問し直したのかも、と無理矢理好意的に解釈してみるテスト。
0568デフォルトの名無しさんNGNG
つーか文章の特徴で自作自演がもろバレなんですけど。<age犯
0569デフォルトの名無しさんNGNG
>>567
そうだろうな。
しかしウィザードとMFCの区別もつかず、あっちのスレでレスもつけず、
今までソースもみたことがなく、自作自演のage厨には
レスするだけ無駄かと。
0570デフォルトの名無しさんNGNG
>>566
たまたまキライな奴だけが sage で書いていたら、
「こういう展開の常として、無意味にsageてるヤツが犯人=悪。」
と書く奴ハケーン。

# 俺は マルチポスト教えて君=悪 と思っていて、age/sage はどうでもいい。
0571デフォルトの名無しさんNGNG
意外に人が居るんだな、と思ってしまった。
関係ないけど。
0572デフォルトの名無しさんNGNG
>>570
誰もお前の意見など聞いていないが?
0573がぎりなく頭の言い男NGNG
タブブラウザのようにしたいなら
クライアント領域にタブこントロール貼りつけるだけだよ。
0574デフォルトの名無しさんNGNG
こりゃ確かに自作自演だろ。
なにせ擁護してるやつが一人として解決方法書いてない。
擁護する前に教えてやれよ(w
0575デフォルトの名無しさんNGNG
どこからどこまでが自作自演かも不明だな。
0576デフォルトの名無しさんNGNG
ファイル名 項目1 項目2 | ファイル名 項目1 項目2
ファイル名 項目1 項目2 | ファイル名 項目1 項目2
ファイル名 項目1 項目2 | ファイル名 項目1 項目2
ファイル名 項目1 項目2 | ファイル名 項目1 項目2

1つのリストビュー(エクスプローラ風表示)のコントロール上で
左のまとまりでソート、右のまとまりでソートしたいのですが
いい方法はないでしょうか。
ファイル名でソートしたり項目1や項目2でソートしたいんですけど。

0577576NGNG
ソートしようとすると1行まるごとかわっちゃうんです。
0578デフォルトの名無しさんNGNG
>>576-577
…素直に2つのリストビューにした方がいいと思うぞ。
0579デフォルトの名無しさんNGNG
一個にまとめる理由が
「まとめて一個で選択させたいから」
なんだよな、こういう馬鹿な質問の動機って。
0580576NGNG
>>578
ソートした後いろいろ処理するんです。
そのときは左と右を対応させて表示させてやりたいんです。(意味不明だと思いますが)
リストビュー2つだと項目が多い時(スクロールバーがあるとき)表示がずれてしまいます。

0581デフォルトの名無しさんNGNG
>576
ソートする時だけ別のリストビューにコピー→ソート→戻す
っつーか、そういう特殊なのは自前でソートすれ。
0582デフォルトの名無しさんNGNG
馬鹿な理由でないのはわかった。

・ListViewのソートオプションを外しておく。
・自前で内部的にソートして、表示したい順にリストに追加する。

でOK。
0583576NGNG
実は581さんのやり方でやっています。
が、まともなソート方法を知らないのでもしかしたら
何かいい方法があるんでは?(関数に突っ込んで細工しておしまいとか)と思って質問させてもらいました。


すいません、バブルソートじゃクソほど時間かかりますよね(恥
「まともなソート方法」ってどんなのがありますか?
アルファベット順とかファイルサイズ順とかのソートです。
0584デフォルトの名無しさんNGNG
件数にもよるけどC的にやるならポインタ配列でも作ってqsortかけるので十分な場合が多いね。

リストビューにつっこむデータの件数が何万件もあるとはおもえんし。
0585デフォルトの名無しさんNGNG
>>581
VBじゃねえんだからよ。
0586576NGNG
>>585
楽なので。
けど、あまりいい方法ではないですよね。
>>584
クイックソートですか。
やりかた調べるか、、、
0587デフォルトの名無しさんNGNG
あああ、STLの世界に誘いたい。
0588576NGNG
>>587
???

というか僕に対してのレスじゃないか、、、
0589デフォルトの名無しさんNGNG
火葬リストビュー使えば?
自前で好きなようにデータを持てるし、動作も速いし。
0590576NGNG
>>589
調べる項目おしえてくらはい。

>>587
誘って。

ある行は赤に塗るとかしたいんだけどデバイスコンテキストなんたらがでてきてわからん。
ど素人にはきつい。
0591デフォルトの名無しさんNGNG
今月末まで学生なんですけど、
今、アカデミックパックを買うと、
卒業後、追加料金とか必要になるんですか?
通常版買うべきっすか?
0592デフォルトの名無しさんNGNG
>>583
バブルソートでも、数百〜数千くらいなら一瞬なんじゃねーの?
0593デフォルトの名無しさんNGNG
>>591
追加料金はいらないとおもうけど、
確実に知りたいならMSにメールか電話で聞いたほうが確実。
0594デフォルトの名無しさんNGNG
>>591

私も学生時代に買ったVC++5アカデミック版を今でも使っているな。
アカデミック版の注意読むと「購入者」の限定はあるけど、使用者
の限定はない(少なくとも、使用条件には「学生や教職員でなけれ
ばならない」という限定はない)んで「購入者本人が」使用を続ける
分には問題ない、と思うのだが。

基本的に「購入条件を満たす人が、条件を満たす買い方をしてその
まま使い続ける」のは問題ないのでは? もし、それを許さないの
なら別に特記すべきだし、契約条件にも「学生でなくなったこと」
を理由とする契約変更はなかったはず。

まあ、これは私の勝手な解釈だから、不安なら確認した方が良い。

C++ Builderは、アカデミック買って通常版(になるんだよね?)
にバージョンアップしたな。
0595デフォルトの名無しさんNGNG
InitInstanceでWriteProfileIntで値を書き込んで,その値を
GetProfileIntで読んでからASSERTすると,失敗してしまうのは
なぜ?

教えて君でスマソ
0596595NGNG
SetRegistryKeyをしていなかった...
鬱氏
0597デフォルトの名無しさんNGNG
>>592
比較・コピーのコードの書き方にもよるからな。
隣接交換法しかしらんとこ見ると、その辺の効率考えて書いちゃいないだろ。

0598589NGNG
>>576
"仮想リストビュー"とか"LVS_OWNERDATA"の検索でどうぞ。

一行だけ赤くするなら"オーナードロー"とか"LVS_OWNERDRAWFIXED"
の検索でどうぞ。

仮想リストビューとオーナードローは同時に使えるよ。
0599デフォルトの名無しさんNGNG
つーかな、もう、std::sortつかえと。
0600デフォルトの名無しさんNGNG
仮想リストビューを使って、データはSTLのコンテナクラスに持たす。
ソートにはstd::sort()を使う。これ最強。
0601デフォルトの名無しさんNGNG
vc++勉強したての厨房ですが、
MFCはWin32APIの知識がないと理解できないものでしょうか? 
MFCはWin32APIの提供する機能をすべてカバーしているのでしょうか? 
またこれからはどちらを勉強するべきでしょうか?
教えてください。
0602576NGNG
ううう、みなさんありがとうとざいます。
がんばります。

あえてあげ
0603Windowsってそうなの?NGNG
いつもは、Solarisでプログラムを作っているものです。
えーと、
Windowsで、動いてるプロセスを強制終了させようと思って、
TerminateProcess を使っていたら、
Winな人から
「それ使うと、Windows上でリソースが残る事があるから使わないほうがいいよ」
って言われました。
プロセス死ぬんだから、そのプロセスが使ってたリソースを解放するのって、
OSであるWindows側がやってくれてると思っていたのですが....
私は、アボーンなのでしょうか?
0604デフォルトの名無しさんNGNG
あぼーん
あぼーん
あぼーん
0605Windowsってそうなの?NGNG
あらー、そうなんだ。
んじゃ、他のプロセスからいきなりプロセスを強制終了させる時って、
Windowsじゃどうやるの?
もしかして、「そんな方法は無い」なんて落ちは無いですよね?
もしかして、もしかして、「そんなことを考える方が悪い」って落ちですか?


0606デフォルトの名無しさんNGNG
タスクマネージャのプロセスの終了、は、ズバリそれをやっている。

WM_QUIT送って10秒待っても応答がなかったら確認ダイアログを出して
TerminateThread。

最後の手段ね。

普通は終了イベントを通知する。
受け取り側が応答し泣けりゃ、最後の手段しかない。

NTだと割とまともにリソースが削除されてるようだが、
各種ドライバのできの悪さやIE/IMEがプロセスの終了を正しくハンドリングできずに
中途半端な状態になることがある。

Win9Xでは、こりゃもう、目も当てられない様だが、ね。
0607デフォルトの名無しさんNGNG
つまり、カーネルオブジェクトに関しては正しく解放されるが、
IE・IMEなどのWindowsの重要ないくつかのプロセスがうまくいかない場合があるってこった。

0608Windowsってそうなの?NGNG
なるほど。
Windows2000や、XPなどのNT系カーネルで、Windowsの奥深くに入り込んで
いるアプリでない限りは、まぁ平気でしょうということですね。
Solarisなんかでもシステムコール実行中にハングしたプロセスに対して
SIGKILL送っても死なないことってあるから、そういう意味では、同じですね。

とりあえず、ちょっと安心しました。

0609デフォルトの名無しさんNGNG
「プロジェクト」→「設定」→「一般」のMFCのスタティックライブラリを使用
が設定できなく共用DLLを使用にしかならないのですが、
使用しているものによって、設定できないと言うことはあるのでしょうか?

スケルトンを作成するところでも出ないのですが…
MS-VC++6.0のスタンダードです。
0610デフォルトの名無しさんNGNG
>>609
スタンダード版だとMFCはダイナミックリンクでしか使えんぞ。
0611デフォルトの名無しさんNGNG
カリカリにダイエットしたコマンドライン型(コンソール)プログラムでも
書いてるなら別だが、普通のアプリはMFCダイナミックリンクで十分。
0612デフォルトの名無しさんNGNG
>>601
マジレスだよ。

MFCはWin32APIの知識がなくても理解できますが、APIの知識があったほうが
ベターです。
 
MFCはWin32APIの提供する機能をすべてカバーしているわけではありません。
アプリの場面によってはAPIの世話になる場合があります。
 
MFC中心に勉強して、必要に応じてよく使うAPIから覚えていけばいいと思います。
0613デフォルトの名無しさんNGNG
Unicodeに関して質問です。
プリプロセッサに_UNICODEをつけてUnicodeで動くモジュールを作成しました。
サーバ系(NT4.0,Win2000)ではうまくいったのですが、Windows98ではエラーになります。
Windows98でうまくUnicode版を作成できる方法はないでしょうか?
それとも、やっぱり無理ですか。
0614デフォルトの名無しさんNGNG
Windows云々より
リソースまできっちり解放して殺すスレッドライブラリなんて
見たこと無いが… こういうひとの作るプログラムは使いたくないな
0615デフォルトの名無しさんNGNG
>>613
MSLU試してみたら。
0616613NGNG
>>615
ありがとうございます。
今、MSLUで検索してみました。使えそうな気がするのでさっそく試してみます。
ううっ、でも、ひっかかったのは英語のページだけ…。解読作業が…。
0617デフォルトの名無しさんNGNG
>>616
MSDNマガジン日本版No.20でMSLUの記事が掲載されてるからまずは日本語で読むべし。
http://www.ascii.co.jp/pb/msdn/toc/bn2001_index.html
0618613NGNG
>>617
ラジャー。良かった。助かりました。これで何とか…。
0619188NGNG
vectorのpush_backで自作のクラスのオブジェクトをベクターに
入れたいんですけど、入れたとたん、クラスのchar*メンバが
つぶれてしまいます。たとえば入れる前はmyClass.name="aho"
とちゃんと入っていたのに、入れた後にはmyClass.nameに意味不明の
文字がはいってます。どうしてなんでしょう?
0620デフォルトの名無しさんNGNG
>>619
コピーコンストラクタと
代入ちゃんと作った?
0621 NGNG
作ってません!代入とはどうやってつくるんでしょう?
0622デフォルトの名無しさんNGNG
myClassのポインタをvectorにいれたら
0623 NGNG

なるほど そういう手もありました!
0624デフォルトの名無しさんNGNG
VCのコンソールアプリで
gets(buf)
とすると入力でブロックされてしまいますが
for(;;){
if(foo()) gets(buf);
...
}
のようにキーボードから入力があったときのみgets()して
それ以外のときは別の処理を行うということはできるでしょうか?
0625デフォルトの名無しさんNGNG
素直にマルチスレッド化しなさい。
0626デフォルトの名無しさんNGNG
>>624
入力が標準入力でなくてよかったら_kbhit()が使える。
0627デフォルトの名無しさんNGNG
あるクラスのメンバにテンプレートクラスを指定したいのですが。
ヘッダファイルで、

class Choge<float> *m_hoge;

のように指定すると、以下の2つのエラーが出ます。
error C2059: 構文エラー : '<'
error C2238: ';' の前に不正なトークンがあります。

なお、Cファイルでは、Choge<float> *m_hoge; の宣言で問題なく使えます。
ヘッダでエラーが出ないようにうまく記述する方法はないでしょうか。
0628 NGNG
クラス名にポインタって使えるの?
0629デフォルトの名無しさんNGNG
メンバの宣言なら別に class と書く必要ないのでは?

class foo {
CHoge<float> *m_hoge;
};
じゃないの?

中にclassを書くときは

class foo {
class inner { };
int bar(inner &x);
};

みたいな定義をしたいときだけでしょ。
0630627NGNG
>628 へ? 使えるでしょ。普通に。

>629 MFCでやってるんで、ヘッダのインクルードはCファイルでやって、
クラスの定義で他のクラスを使うときは class キーワードを使うように
してるんですけど。
0631デフォルトの名無しさんNGNG
答え:Cファイルだから
0632627NGNG
うーん。CHogeを使用したいクラスの定義前に、CHoge の定義ヘッダを
インクルードすればいけますね。
でも、クラスを相互参照するときに、条件コンパイルで相互ヘッダ参照を
しないようにしてやらんといかんくなる。
すっきり書けないものですかね。
0633デフォルトの名無しさんNGNG
だったら先行宣言だけしろよ。

class A;
class B {
A *pA_;
};

class B;
class A {
B *pB_;
};

テンプレートかどうかは全然関係ないだろ、それ。
0634627NGNG
いや、テンプレートクラスの場合にうまくいかないって話なんですけど・・・。
0635デフォルトの名無しさんNGNG
もともとテンプレートというもんはそういうものだ。
先に定義を読み込む必要があるだろ?
0636デフォルトの名無しさんNGNG
>>627
テンプレートクラスも前方宣言できなかったっけ?

template <typename T> class Choge;
0637591NGNG
>>593-594

アドバイスありがとうございます。

MSのサイトに、
他の、学校の一括購入用ライセンスでは、
学生個人のPCにインストールした場合は、
卒業後も、そのまま使って良いと明記されているんですが、
アカデミックパックについては詳細が書かれていませんでした。
(MSのサイトの構成って本当に情報を探しづらいですよね。)

なかなか電話も繋がらないし、もう時間もないし面倒なので、
そのまま使っても良いことにしちゃいます。
MSに怒られたら、バージョンアップなりなんなりすることにします。

詳しく書いていただいてどうもです。
0638デフォルトの名無しさんNGNG
壁紙を変更するプログラムを作っているのですが,

SystemParametersInfo(
 SPI_SETDESKWALLPAPER,
 0,
 szPath, //壁紙のパス
 SPIF_UPDATEINIFILE | SPIF_SENDCHANGE
);

としても,変更できません。
GetLastErrorでは,120(ERROR_CALL_NOT_IMPLEMENTED)が返ってきました。
「この関数はこのシステムではサポートされていない。」ということらしいのですが…。

全く原因が分かりません。誰か助けてください。
環境はWin98, VC++6.0, IE5.0SP2です。よろしくお願いします。
0639627NGNG
>636 その他みなさん。
その記述で逝けました。ご迷惑おかけしました。クラス定義名をそのまま
書いてやればよかったのですね。
普通のクラスの場合と違って、メンバ宣言時でなくて、あくまでもクラスの
定義前の先行定義としなければならないってとこがポイントでしょうか。
0640デフォルトの名無しさんNGNG
MFCです。文字列の2次元配列を動的に生成したいと思うのですが、

CStringArray *MyArray = new CStringArray[n];
for(int i = 0;i < n;i++) MyArray[i].SetSize(m);

とやっても問題ないですかね。vector、もしくは普通のやり方がいいかな?
0641デフォルトの名無しさんNGNG
>>638
一応解決はできたんですが、

void foo()
{
 SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "wall.bmp", 0)
}

とするとエラーになって、

void foo()
{
char name[] = "wall.bmp";
 SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, name, 0)
}

とすると正常終了する理由がよくわかりません…
0642デフォルトの名無しさんNGNG
VC++のツールバーにある文字を検索する欄に記憶された
文字を全部消去する方法教えてください。
0643501(ハクティ)NGNG
プログラマはじめて3ヶ月ではじめてビット演算を知りました。


鬱だが逝かん。
0644DLLが変ですNGNG
この板には、いつもお世話になってます。
DLLなんです。
winsockを使ったDLLなんです。
このDLLを使ったアプリケーションが、どんどん遅くなるんです。
UDPのソケットを作って、クローズしてってのを何百回もやるんです。
そうすると、どんどんアプリの実行速度が落ちていくんです。
なんで?
0645デフォルトの名無しさんNGNG
>>641
SystemParametersInfoの第3引数は非constだってことと関係があるのかも。
もっとも、それだったらコンパイルの時点で文句いわれそうだが。
あと、俺だったらパスはフルパスで指定するな。
0646デフォルトの名無しさんNGNG
堕ちる〜 堕ちる〜
OSごと逝ったー(゚∀゚)
0647デフォルトの名無しさんNGNG
メンバ関数テンプレートって
インスタンス生成時に型選べないの?

template<class XXX>
class CCC
{
func();
}

template<class XXX>
void CCC<XXX>::func()
{
XXX i;
}

上記の関数にさらにテンプレートを追加して
template<class XXX>
void CCC<XXX, YYY>::func()
{
XXX i;
YYY *p;
}
みたいなことはできないんですかね・・・


それとヘッダーにプロトタイプ宣言だけして
ソースにコード記述したいけど
エラーになってしまいますが仕様ですか?

しょうがないのでヘッダーにクラス宣言とコード記述してます・・・
0648デフォルトの名無しさんNGNG
誤 インスタンス生成時に型選べないの?

正 インスタンス生成時にしか型選べないの?
0649デフォルトの名無しさんNGNG
>>645
>>あと、俺だったらパスはフルパスで指定するな。
フルパスじゃないとプログラムで
ファイルダイアログなんか使うとパス変わりますからね

っていうかフルパス以外怖くてできないや
0650デフォルトの名無しさんNGNG
>>647
意図が良くわからないんだけど、
> template<class XXX>
> void CCC<XXX, YYY>::func()
> {
> XXX i;
> YYY *p;
> }
その記述で、どうやって YYY の型を指定するんでしょう?

> それとヘッダーにプロトタイプ宣言だけして
> ソースにコード記述したいけど
> エラーになってしまいますが仕様ですか?
VCの仕様です。諦めてください。
0651デフォルトの名無しさんNGNG
落ちる落ちる〜俺たち
アプリの作業データもそのままに

いつかデバッグできたら
キミに昔のバグ打ち明けられるだろう〜
0652トムさんNGNG
SQLを実行させようと思いまして下記の様にコーディングしましたが、
"\'m_Com1\'" を読み取ってくれません。シングルコーテーションの中では
なくて、’’も含めて読み取りたいのです。どなたか教えて下さい。
ちなみに、m_Com1はメンバ変数です。

CString strSql = "Select timem,exp,tostn from jikoku where ";

if(m_Com1 == ""){
strSql+= "Stn = " + "\'m_Com1\'" + " AND ";
}else if(m_Com2 == ""){
strSql+= "Goto = " + "\'m_Com2\'" + " AND ";
}else if(m_Com3 == ""){
strSql+= "Day = " + "\'m_Com2\'" + " AND ";
}
strSql+= "Timeh = " +m_ji;
m_Recordset.Open(CRecordset::dynaset,_T(strSql));
UpdateData(true);
m_Recordset.Requery();
0653デフォルトの名無しさんNGNG
strSql+= "Stn = " + "\'" + m_Com1 + "\'" + " AND ";
0654マルチポスト止めれNGNG
どうでもいいが
if(m_Com1 == ""){
strSql+= "Stn = " + "\'m_Com1\'" + " AND ";
}
m_Com1が空なら m_Com1 を足すのか?面白いな。
0655デフォルトの名無しさんNGNG
C用に作ったライブラリをC++から使おうとしたらコンパイルエラーになりました。
ライブラリで使用している構造体の IUnknownVtbl メンバが原因です。
その構造体を宣言しているヘッダのコンパイルでエラーになります。
IUnknownVtbl はC用のインターフェイスなので当然ですが何とか簡単な修正で使用できませんか?
C++は専門じゃなく良く分からないので教えてください。

/---------------------------------------------------------------------/

UNKNWN.H 内での定義はこんな感じ

#if defined(__cplusplus) && !defined(CINTERFACE)

#else /* C style interface */

  typedef struct IUnknownVtbl          // C用なのでC++でのコンパイルが通らない!
  {
  }

#endif

/---------------------------------------------------------------------/


0656デフォルトの名無しさんNGNG
エラーの内容は?
0657デフォルトの名無しさんNGNG
VC++6 を使っています。
今までコマンドラインでコンパイルしてきたんですが、VC6 の IDE を使ってみようと思ったらいきなりトラブルに遭遇しました。

API 呼び出しで例外で落ちてしまうんです。

RegisterClassEx なのですが、多分 User32.dll 内に一致するシンボルが見つからないのではないかと思う
(デバッグしてみたら、
C:\WINNT\system32\USER32.DLL' をロードしました、合致するシンボル情報は見つかりませんでした。
と出ているので)
ですが、どうしたらいいのでしょうか?
0658デフォルトの名無しさんNGNG
>>657
> C:\WINNT\system32\USER32.DLL' をロードしました、合致するシンボル情報は
> 見つかりませんでした
それは USER32.DLL のデバッグシンボルが見つからないと言ってるだけだから、
気にしなくても構わん。いちおう MS のサイトからデバッグシンボルをダウンロー
ドできるけど、一般のアプリケーション開発者にとっては、あまり有用じゃないぞ
(デバイスドライバ作ってる人間には必須だけど)。

http://www.microsoft.com/ddk/debugging/symbols.asp

> API 呼び出しで例外で落ちてしまうんです。
単に、RegisterClassEx() で初期化してないポインタを渡してるんじゃないの?
前後のソースを Copy & Paste してみ。
0659657NGNG
>>658
なるほど、シンボルがなんとかっていうのは関係ないんですね。

> 前後のソースを Copy & Paste してみ。

とりあえず↓のような感じです(不要なものは全部取っ払って試しました)
よろしくお願いします。

// ProjectA.cpp : アプリケーション用のエントリ ポイントの定義
//

#include "stdafx.h"

LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);

// 藤堂: 本当はクラスのスタティックメンバ
HINSTANCE s_hInstance = 0;
char s_szClassName[] = "testwnd";

int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPreInst, LPSTR lpszCmdLine, int nCmdShow)
{
  s_hInstance = hInstance;
  
  HWND m_hWnd;
  
  // ウィンドウクラス登録開始
  WNDCLASSEX wndClass;
  
  wndClass.cbSize = sizeof (WNDCLASSEX);
  wndClass.style = CS_HREDRAW | CS_VREDRAW;
  wndClass.lpfnWndProc = WndProc;
  wndClass.cbClsExtra = 0;
  wndClass.cbWndExtra = 0;
  wndClass.hInstance = s_hInstance;
  wndClass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
  wndClass.hIconSm = NULL;
  wndClass.hCursor = LoadCursor(NULL, IDC_ARROW);
  wndClass.hbrBackground = (HBRUSH)GetStockObject(GRAY_BRUSH);
  wndClass.lpszClassName = s_szClassName;
  
  if (!::RegisterClassEx(&wndClass))
  {
    //std::cout << "RegisterClassExに失敗。";
  }
  return 0;
}
長すぎるので ウィンドウプロシージャは省略します。
0660デフォルトの名無しさんNGNG
>659
とりあえず、wndClassを最初に0クリアするか、
lpszMenuNameをちゃんと設定してみてはどうだろう。
0661659NGNG
>>660
うぎゃぁ!そ、それ(lpszMenuName) でした…。
そんなメンバがあるって知らなかった。やっぱりゼロクリアはちゃんとするものですね…。

コマンドラインでコンパイルしている限り発生しなかったのですが、ディフォルトでスタックに確保したメモリをクリアしてくれてたんですね。

ありがとうございました。もっと精進します。
0662デフォルトの名無しさんNGNG
標準出力や標準エラー出力を開発環境上でリアルタイムで見る方法ってないでしょうか?
VB のイミディエイトウィンドウみたいな感じのもので。
0663デフォルトの名無しさんNGNG
>>661
たぶんデバッグビルドにしてるからじゃない?

コマンドラインからコンパイルする場合でも /GZ とか使うとチェック入るぞ。
0664デフォルトの名無しさんNGNG
ウィンドウプロシージャで正しい終了の方法がわからない・・・。
WM_CLOSEで色々試しててWinXP落ちた・・・鬱だ・・・。
0665662NGNG
>>664
WM_CLOSE で DestroyWindow して WM_DESTROY で PostQuitMessage ではないでしょうか?
0666デフォルトの名無しさんNGNG
>>665
そうしてたらウィンドウが閉じなくなったんでPostQuitMessage呼んで見た。
2〜3回起動終了してたら落ちたよ藁
0667デフォルトの名無しさんNGNG
VCが止まる。タスクマネージャも起動せず。
XPだとVC動かないのか?
0668デフォルトの名無しさんNGNG
>>667
Anti Virus 系のソフトを動かしてるなら、止めてみる。なんか Notron AntiVirus
動かした状態で VC のデバッガを立ち上げると死ぬことがある、とか ML で報告
されてたよ。
0669デフォルトの名無しさんNGNG
何もこれといって動かしてないんだが。
SP4なのが原因かと思ってとりあえずSP5落としてみた。
なおるといいなぁ・・・。
0670VC@2日目NGNG
VCはじめて2日の超厨房です。
クリップボードから文字列を取得して、リストビューに吐き出す。
というのを作ってるのですが、うまくいきません。

クリップボードからデータは取得できるのですが、
リストビューに追加するタイミングで、文字列がおかしくなります。
おかしくなる。というのは、例えば「プログラミング」という文字列のはずが
「%d4」になってしまう。という状況です。

コードを載せておきます。

typedef struct tagClipData
{
LPSTR Strings;
LPSTR ConstStrings;

} ClipDat;
ClipDat ClipData[98];

void ChangeClip()
{

LPSTR pPtr;
HANDLE hMem;
ClipDat NewDat[98];

OpenClipboard(NULL);
hMem = GetClipboardData(CF_TEXT);
pPtr = (LPSTR)GlobalLock(hMem);
GlobalUnlock(hMem);
if (NextViewer!=0) SendMessage(NextViewer, WM_DRAWCLIPBOARD, 0, 0);

NewDat[0].Strings = pPtr;
for(int i=1;i < 99;i++){
NewDat[i].Strings = ClipData[i - 1].Strings;
}

for(i=0;i < 99;i++){
ClipData[i].Strings = NewDat[i].Strings;
}
}

void ShowMain(BOOL booCenter)
{
LV_ITEM item;

ListView_DeleteAllItems(hList);
for(int i=0; i<99;i++){

item.mask = LVIF_TEXT;
item.pszText = ClipData[i].Strings;
item.iItem = i;
item.iSubItem = 0;
ListView_InsertItem(hList, &item);
}

}
0671デフォルトの名無しさんNGNG
>>670
GlobalUnlock()をコールしたら、GlobalLock()で取得したポインタの
指す内容は無効になってしまう可能性がある。
文字列をバッファにコピーしてからGlobalUnlock()をコールしる。
0672デフォルトの名無しさんNGNG
全てのWindowに対するキー入力を取得するアプリって、どうやったら作れますか?
たとえば、タスクトレイに常駐して、一日で何回キーボードを叩いたかを
計測するアプリのようなものです。
0673デフォルトの名無しさんNGNG
キーボードドライバでも作れば?
本物のキーボードドライバに透過的にイベントを投げるやつ。
DDK嫁
0674(  _。。)_ バタ。 ◆lUd9keO2 NGNG
>>672
フックするDLL作成して、システムにひっかける。
DLLにして呼び出さないとシステムに掛からないので注意。
0675デフォルトの名無しさんNGNG
XPでVCからプログラム実行すると運が悪いとハングするYO!
実行ファイルは直接起動でブレークポイント意味無しかYO!
SP5いれてもハングしたYO!
一番いたいのはタスクマネージャすら起動しないことだYO!
0676デフォルトの名無しさんNGNG
 デバッグの時、deleteでポインタのメモリを開放してやるとエラーがでま
す。リリースなら問題ないのですが、これって解決策あります?
0677デフォルトの名無しさんNGNG
>>676
何か問題があるからエラーが出ているんだろうと初心者ながらに思ってみる。
0678ATLNGNG
ATL+COMウィザードを使って、COMコンポーネントを作ろうとしてるんですが、
ATLシンプルオブジェクトを追加=>methodを追加=>dllを作成のところでどうしても
コンパイルエラーになってしまいます。

error C2259: 'CComObject<class CMyMsg>' : 抽象クラスあるいは構造体のオブジェクトが宣言されています。

追加したメソッドはこんな感じです。

interface IMyMsg : IDispatch
{
[id(1), helpstring("メソッド MyView")] HRESULT MyView([out, retval] char* cmsg);
};

// IMyMsg
public: STDMETHOD(MyView)(/*[out, retval]*/ char* cmsg);

抽象クラスになんかしてないのに。
0679デフォルトの名無しさんNGNG
>>676
どういうソースでどういうエラーが出るのか書かないとわからねー
0680デフォルトの名無しさんNGNG
CMyMsgに、MyViewのメソッドが実装されてないんだろ。
つか、そのMyViewは激しくCOM規約違反。
0681ATLNGNG
>>680
実装はしてます。return S_OK;だけだけど。

というか、ひょっとしてchar*のせいかしら・・・
0682デフォルトの名無しさんNGNG
引数の型とか数が合ってなかったら笑いsage
0683ATLNGNG
できまいた。
BSTR、CComBSTR ちゅうことでしたあ。
0684デフォルトの名無しさんNGNG
LOWORD と HIWORD をつかって取り出した WORD 値二つを
もう一度元の DWORD 書き込みたいのですが、
そういうマクロはありますか?
0685 NGNG
MAKEPARAM
0686デフォルトの名無しさんNGNG
その手のマクロはSDKのサンプルを読んでると出てくるよ。

暇なときに開いて眺めてみるとよいかも。
0687684NGNG
>>685-686
なるほど、この用途の為の専用のマクロまであるんですね。
ありがとうございます。
0688超先生@プログラム板NGNG
>>685
  ∧_∧
< `ш´>y-~~~ MAKELONGの方が適切じゃないのか?
0689デフォルトの名無しさんNGNG
>>688

俺もそう思ったが>>684の文脈からすると必要なのはMAKEPARAM(MAKELPARAMだっけ?)だ

0690デフォルトの名無しさんNGNG
>>688
うわあ! 超先生、何でこんなところにいるんですか!
僕と一緒に葉鍵板に帰りますよっ!^^;
0691デフォルトの名無しさんNGNG
STLportをVC++6にインストールする方法がわかりまへん。ズビシとVC++6オンリーの
インストール解説なんぞどこにあるですか。
0692デフォルトの名無しさんNGNG
ドキュメント嫁

どっかのディレクトリで
nmake -f vc6.mak clean install
でOKだったとは思うが。
0693デフォルトの名無しさんNGNG
>>692それでいける。
vcvars32.bat必須だけど
0694デフォルトの名無しさんNGNG
>>692
STLport 付属の iostream 使わないなら(UNICODE 関係とか腐ってるし)、
そもそもコンパイルも不要だし。ヘッダだけ適当なディレクトリに置いて、
そこを見るように VC6 を設定すればおしまい。
0695デフォルトの名無しさんNGNG
>>694
UNICODE関係直ってるが?
0696デフォルトの名無しさんNGNG
治っているというか、元からマトモだったっぽいが
0697デフォルトの名無しさんNGNG
char_traitsがいまいちだったのでは?
0698デフォルトの名無しさんNGNG
質問です。
関数とか打ち込むと(などを押した時に引数リストなどが表示されますが、
OS再インストなどで入れなおした場合、インスト前作った適当なプログラムで
関数とか入力した時の引数とか表示されなくなるんですが表示する方法ありません?
自作関数の引数とかは出るけど何故かWinAPI系は表示されないし・・・。
0699デフォルトの名無しさんNGNG
>>698
リビルドしてもダメか?
0700698NGNG
>>699
リビルドしたらいけました・・・。
どうもです・・・。
0701デフォルトの名無しさんNGNG
-----------------------------------------------------

Microsoft Visual Basic .NET Standard
通常パッケージ
12,800円
4月19日(金)

Microsoft Visual C# .NET Standard
通常パッケージ
12,800円
4月19日(金)

Microsoft Visual C++ .NET Standard
通常パッケージ
12,800円
4月19日(金)

-----------------------------------------------------


どれを購入するのがいいでしょうか?
MSの一押しはC#ですかね?
でもビジネスで役立つのはVB?
(都会は知りませんが地方での仕事は8割がたVB6.0です。)

う〜ん。
それよりも動作環境がXP・2000・NT4ってのが痛い。
自分は98です。
XPはVC++と相性が悪いようなので.Net専用にXPインストール済みの
超激安PCを購入しようかな〜
0702デフォルトの名無しさんNGNG
>>701
私も、VC++を使った仕事に色目を出してるが、
現実はVBの仕事が100%。それを考えると、結局
VBだけあればいいことになる。

それよりも、OSが98では、仕事をするのは辛くないですか?
0703デフォルトの名無しさんNGNG
できればVS.NETスレでやって欲しいなーなんて。
0704デフォルトの名無しさんNGNG
ソースの公開されているライトウエイトなウインドウクラスライブラリないですか?
MFCのようにフレームワークを形成してないで、
ちょっとウインドウをいじるのに便利な程度に軽くラッピングしてあるだけでいいのですが。
0705デフォルトの名無しさんNGNG
age
0706デフォルトの名無しさんNGNG
>>704
ATL/WTL
0707デフォルトの名無しさんNGNG
>>706
ATLみたいにコントロールもラップするほど大げさなものじゃなくて、
あくまでウインドウをラッピングしているものです。
0708デフォルトの名無しさんNGNG
>>704
fltk (http://www.fltk.org/)
0709デフォルトの名無しさんNGNG
>>707
だから ATL の CWindow か(メッセージマップを使いたければ)CWindowImpl
が、目的に合致すると思うが。
0710デフォルトの名無しさんNGNG
あるウインドウを破棄すれば、そのウインドウに所属する子ウインドウはすべて自動で破棄されますか?
0711デフォルトの名無しさんNGNG
普通は子ウィンドウにもWM_DESTROYが送られます。
0712デフォルトの名無しさんNGNG
http://www.microsoft.com/JAPAN/developer/library/jpwinpf/_win32_entercriticalsection.htm
::EnterCriticalSection()が出す例外「STATUS_INVALID_HANDLE」を
捕まえるにはどうしたらいいんでしょうか?

#define STATUS_INVALID_HANDLE ((DWORD )0xC0000008L)

としか定義されてないので、どんな型で捕まえればいいのかさっぱり。

try {
  ::EnterCriticalSection(&m_oCriticalSection);
}catch (void*){
  assert(0);
}catch (char){
  assert(0);
}catch (long){
  assert(0);
}catch (int){
  assert(0);
}catch (DWORD){
  assert(0);
}catch (...){
  assert(0);
}

こうやって、どれで捕まるかなーとやってみたら、捕まえたのは最後の(...)でした。
(...)で捕まえた例外の種類を判別する方法とか、ありませんかね?
0713デフォルトの名無しさんNGNG
>>712
構造化例外って奴か?
catchブロック内からGetExceptionInformation()とかで例外情報取れないかな?
# 実際やった事は無いんで外してたらごめんよ
0714デフォルトの名無しさんNGNG
SEHとC++例外の区別がついていないひと、ハケーン。
0715713NGNG
>>714
EnterCriticalSection()がSEH投げてるんじゃねーの?って事なんだけど。
# つーか煽るだけかい

で、VC++のヘルプにこんなんあったよ。

>カスタム変換関数を指定するには、変換関数の名前を唯一の引数として
>_set_se_translator 関数を呼び出します。カスタム変換関数は、try
>ブロックを持つスタックで関数が呼び出されるたびに一度だけ呼び出されます。
>デフォルトの変換関数がないので、_set_se_translator を呼び出して変換
>関数を指定しないと、省略記号付きの catch ハンドラしか C 例外をキャッチ
>できなくなります。
0716713NGNG
書き忘れた。
713で書いたとおり俺はあまり詳しくないので、ヘルプの「例外処理機構の
使い分け」辺りを参照してくれ。
0717デフォルトの名無しさんNGNG
TrueTypeFontのGlyphIndexについて質問。

GetGlyphOutlineを使うときGlyphIndexに、SJISコードを与えてもだめですか?
UNICODEにしないとだめなんでしょうか?

よろしくおねがいします。
0718デフォルトの名無しさんNGNG
GetGlyphOutlineWはUNICODE
GetGlyphOutlineAはその時のロケールに依存
0719717NGNG
>>718
ありがとうございます。
#pragma setlocale("jpn")
で正しく表示されました。

しかし、UNICODEにしたほうがよさそうですね。
0720デフォルトの名無しさんNGNG
>>713-716
ありがとうございます。構造化例外(SEH)とC++例外なんて、初めて知りました。
とりあえず、
http://www.microsoft.com/japan/developer/library/dsmsdn/deep03162000.htm
にえらく詳しく解説してありましたので、ここで勉強します。
0721デフォルトの名無しさんNGNG
ダイアログで作成したフォルダに、
メニューをつけて、バージョン情報を開きたいのですが
可能ですか?
0722712(=720)NGNG
す、すみません。数字ハン入れ忘れて分かりにくくした上、ageちゃって。
0723721NGNG
ごめんなさい。フォルダじゃなくてフォームです。
0724721NGNG
分かりました。
ResouseViewのところで追加をすればよかったのですね。
0725522NGNG
お久しぶりです。何とかscribbleぐらいのプログラムは何も見ないで
作れるようになりました。勝手ながら感想と質問を述べさせてもらうと
1.MFCはクソクソと一部で言われていますが、まだそこまで到達できてません。
MFCのデザインパターンとかが嫌われてるんでしょうか。

2.BCBに比べてVCのエディタはすごい。入力補完はかなり助かります。
でもたまにスペルミスもしてないのに出てこない(CTRL+ALT+Tでもだめ)

3.MSDNでうまく検索できない。
ドキュメントが変更されて、閉じようとしたときに保存を促すメッセージを
出そうと思ったんでが、MSDNでは見つけれず・・・。
SetModifiedFlag(買った本に乗ってた)。この辺のコツは無いでしょうか。
0726デフォルトの名無しさんNGNG
一度だね、
薬だと思ってね、
MSDNのツリーをぽちぽち開きながらどんなウィンドウメッセージがあるのか
全部眺めてみなさい。

WM_だけじゃないよ。
たくさんあるよ。

でもきっといつか役に立つよ。
0727デフォルトの名無しさんNGNG
1 ほかの言語やフレームワークをしばらくさわってみる
2 そう。で?
3 経験
0728デフォルトの名無しさんNGNG
>>725
何も見ないで作れるか、すげーな。
リファレンスも見ないのか?
0729522NGNG
>>726-727
やっぱ時間に経験っすか。コツコツ頑張ります。

>>728
>リファレンスも見ないのか?
はい、scribble程度の物は何も見ないですね。エディタの補完機能で
薄っすらと覚えてれば何とかなります。っていうか、覚えるために
何度も同じようなの作ったし。
0730デフォルトの名無しさんNGNG
20年前の自分を思い出す..
0731デフォルトの名無しさんNGNG
>覚えるために 何度も同じようなの作ったし。
激しく無駄。
0732デフォルトの名無しさんNGNG
若いうちはそういうのもありだろ。
0733年中無休で働き続ける男NGNG
WindowsXP vs Windows2000

どっちが優れていますか?
0734デフォルトの名無しさんNGNG
板違い
0735デフォルトの名無しさんNGNG
age
0736デフォルトの名無しさんNGNG
MFCです。ビューからモーダルダイアログを呼び出しているのですが、
ダイアログ上のコントロール(例えばボタン)から呼び出し元のビューに
メッセージを送りたいのですがどのように実装すればよいでしょうか。
0737デフォルトの名無しさんNGNG
[MFC AppWizard(DLL)]にて作成しているDLLで、ActiveXコントロールを
使用したダイアログを使いたいのですが、作成出来ません。
#DoModal()でエラー(戻り値-1)が発生します。

ご教授願えませんでしょうか。
0738デフォルトの名無しさんNGNG
>736
ビューのポインタなりウィンドウハンドルなりを使ってSendMessageするだけですが。
それともビューの方でどうやって受け取るかって話?
0739デフォルトの名無しさんNGNG
CoInitializeを呼んでないとか。
0740737NGNG
自己レスです>>737
InitInstanceの中でAfxEnableControlContainer()を
コールする事で解決しました。お騒がせしましたm(_ _)m
0741デフォルトの名無しさんNGNG
>738
ビューのポインタを使って SendMessage しました。
クラスウィザードでユーザメッセージを如何に定義するかが分かりませんでした。
全部(マップ、ハンドラ)自前で書いてやらないとダメなのですね。
一応できたのですが、次使うとき忘れてそうなので、まとめとかなきゃ。
0742デフォルトの名無しさん NGNG
関数呼び出し前と関数呼び出し後のメモリ状態などを調べる方法ってないですか?
関数内でヒープなどからメモリを取得した場合に関数から抜ける時点で正常にメモリが破棄されているかチェックしたいです。
呼び出し前にヒープの状態を記憶しておいて呼び出し後のヒープの状態と比べることって出来ますか?
0743超先生@プログラム板NGNG
  ∧_∧      
< `ш´>y-~~~ 方法はいろいろあるが。
_CrtMemCheckpointで関数呼び出し前と後のヒープ状態を記録し、
_CrtMemDifferenceにて2つを比較すればいい。
差分の内容については_CrtMemDumpStatisticsでダンプできる。
0744デフォルトの名無しさんNGNG
めもめも
0745デフォルトの名無しさんNGNG
他愛も無い(?)ことを聞いて申し訳ないです。
MFC(VC++6)使用でモーダルダイヤログを開くときに、
初期フォーカス位置を変えたいのですが、
OnInitDialog内で、色々試しても上手くいきません。
どうすれば初期フォーカスを変更出来るでしょうか?
(場合によって2・3点変更させるため、タブ順位変更は無理です)
0746デフォルトの名無しさんNGNG
WM_INITDIALOGのヘルプを嫁。
穴があくまで嫁。
読んで分からなかったらあきらめろ。
0747745NGNG
>>746
 だいぶ説明不足でした。
InitDialogの返値はFALSEにしているので、
フォーカス?は指定の所に行くのですが、
(例として)元々のフォーカスがボタン1を指しているとして、
InitDialogで明示的にボタン2にSetFocusしても、
ボタン中央の点線(フォーカス?)はボタン2に来ますが、
ボタンの影(標準のボタン?)はボタン1にあります。
 この時、カーソルを動かさずにリターンを押すと、
ボタン1が押されたことになるというのが問題です。

 対応として、ボタン1に対する標準のボタンチェックを解除すれば、
ボタンの影はどこにも表示されなくなりますが、
この時もそのままリターンを押せば、ボタン1の押下となります。
0748デフォルトの名無しさんNGNG
っつーか、AppWizardで作ったんだったら、ちゃんとコメントで書いてあるよな。
OnInitDialogのreturn文の後ろに。
0749デフォルトの名無しさんNGNG
それはフォーカスの問題じゃなくてデフォルトボタンの問題だ。
デフォルトボタンの指定をはずせ馬鹿
0750748NGNG
>747
おっと、行き違いスマソ。ちゃんとやってたわけね。
GotoDlgCtrlで移動してもうまくいかない?
0751745NGNG
>>748
 有り難うございます。上手くいきました(GotoDlgCtrlで)。
対象のコントロールに対する命令(SetFocus等)ばかり見てたので、
逆に親に対して指示する命令を調べることを忘れてました(^^;

>>749

 「標準のボタン」って書いたのがマズかったですか?
(単なるいき違いだと思いますが・・。)
0752デフォルトの名無しさんNGNG
>呼び出し前にヒープの状態を記憶しておいて呼び出し後のヒープの状態と比べることって出来ますか?
newを書き換えておけば委員でない?
0753NTサービスNGNG
マーシャルブレインの「Win32システムサービスプログラミング」中のサンプルBeeperサービスを
そのままメイクしてWindows XP/2000上で実行してみました。

SCMからの制御は問題ないのですが、Net Startコマンドからサービスを開始しようとすると、
時々サービスを正常に開始できないことがあります。

イベントログを見ると、「beeper サービスは無効な現在の状態を報告しました 0」(イベントID7016)
となります。

同じ問題にぶつかった方っていらっしゃいません?
0754デフォルトの名無しさんNGNG
>>751
BS_DEFPUSHBUTTON
 プッシュボタンを作成します。ただし、黒色の太い境界も持ちます。
 このボタンがダイアログボックスにある場合は、ボタンが入力フォーカスを持っていなくても、
 [Enter]キーを押せばボタンを選択できます。
つまりこのスタイルを持ったボタンが、いわゆる「標準のボタン」だ。
0755デフォルトの名無しさんNGNG
コンソールから立ち上がった場合は、コンソールにメッセージを出し、Explorerから立ち上がった
場合はMessageBoxで、ってことをやりたいと思ってます。

で、基本的なとこで何なんですが、WinMainで始まるプログラムで、コンソールに文字列を表示する
方法ってないんでしょうか?
0756デフォルトの名無しさんNGNG
>>755 AllocConsoleじゃだめ?
0757755NGNG
>>756
別ウィンドウになっちゃうのはちょっと・・・
0758デフォルトの名無しさんNGNG
>>755
出来ないっぽい。
vcもmsdev.exeとmsdev.comと二つ持ってるし、scanregもscanregw.exeがあるし
別プログラムにするしかないんじゃないかなあ。
0759755NGNG
>>758 どうも。
なるほど・・・

自分でもちょっとしらべたんですが、mainにして、
HINSTANCE hInstance = GetModuleHandle(NULL);
でハンドル拾って、WinMainを再実装する勢いでやればできるかもしれないです。

どうするかな・・・
0760デフォルトの名無しさんNGNG
_UNICODE指定して
cout << _T("Hello") << endl;
したら見事に文字化け(数字列になる)するんですが、これってあたりまえ?

ひょっとしてcoutってUNICODE文字吐き出せないの?
0761デフォルトの名無しさんNGNG
>759
コンソールから立ち上げたか、エクスプローラから立ち上げたかの区別はどうやんの?
0762755NGNG
>>761
あ。そうだった;;

HINSTANCEから、親のプロセスの種類もってこれるかな?
0763デフォルトの名無しさんNGNG
#ifdef _UNICODE
#define _tout wcout
#else
#define _tout cout
#endif
0764デフォルトの名無しさんNGNG
>>763
なるほど。勉強になりました。
0765デフォルトの名無しさんNGNG
priority_queue を要素の低い順に扱いたいのですが、どうしたらいいでしょうか?

中身の演算子を反対に変更しないですむ方法はないでしょうか?
0766765NGNG
ごめんなさい、スレを間違えました。
0767デフォルトの名無しさんNGNG
MFCです。背景も見えるような透過リージョンを作りたいのですが、
どのようにすればいいですか
0768デフォルトの名無しさんNGNG
>>767
ウインドウにリージョンを設定するってこと?
検索すれば簡単に見つかると思うけど...
0769デフォルトの名無しさんNGNG
クリッピング領域ってなんでしょうか。
0770767NGNG
レスサンクス。

>768 それは他のウインドウ、デスクトップをリージョン領域外から
見えるようにするってことですよね。

例えばクライアント領域にグラフを書いて、リージョンで作ったテクスチャ図形を
重ねて描いたときに、下のグラフが透けて見えると、こういったことをしたいの
ですが。
0771VC初App作成中NGNG
ListView上でのマウスの動作検知ってどうやればいいんでしょうか?
WM_NOTIFYに送られてくる。っていうくらいしかわかりません。
LV_DISPINFOのNM_NCHITTESTで待っても、ひっかかってくれないし…
フックしないと無理なんでしょうか?

よろしくお願いします。
0772デフォルトの名無しさんNGNG
MFCを使わずC++で組んでいます。
ベースクラスのHWNDを別クラスに渡したい場合はどのタイミングでうまくわたせるのでしょうか?
この場合継承はしません。
0773デフォルトの名無しさんNGNG
>>772
わけわかん。
すきなときに渡せよ。
0774デフォルトの名無しさんNGNG
とりあえず、CreateWindowするまではウィンドウハンドルは作成されてないから、
OnCreate以前は無理とおもえ。

という回答が欲しいのか?
0775デフォルトの名無しさんNGNG
リストコントロールで(レポート形式)列単位で非表示にする方法を教えて下さい.

エクスプローラ風に表示のファイルサイズはKB単位にしたいのですが、
実際のファイルの値も持っておきたいんです。
画面には実際の値は出したくありません。
0776デフォルトの名無しさんNGNG
そうすれば?
0777VC初App作成中NGNG
>>775
lvcol.cx = 0;
にして、LVM_INSERTCOLUMNすればいいんじゃないの?


う〜ん、と。
771でも書いたんですけど、Listview上にマウスが移動したら、
その下にあるデータをツールチップで表示したいんです。
環境はSDKです。
何かいい方法はないもんでしょうか?
0778デフォルトの名無しさんNGNG
>>777
そうではなくて、ユーザがそのコラムをドラッグしても表示しないようにしたいのです。
要するに個別のアイテムに対する情報(今回の場合はファイルサイズ)を画面に表示することなく保持できればそれでもよいのですが。
0779デフォルトの名無しさんNGNG
MFCは使わない方がいいと気づいた今日この頃
0780デフォルトの名無しさんNGNG
pDataに持たすか、自分で内部に配列を持てばいいだけでは。
ListViewに実データを持たせようっていう方がおかしい。

つーかさ、なんでさ、おまえらさ、ListViewをソート用に使ったり
配列の替わりに使ったりすんの、ね?
VB厨の豆テクVCにまでもってくんなよ、おい。
0781VC初App作成中NGNG
煽りはいいからさ、早く教えれ。
わからないならわからないで、「わかりません」って言ってみ?
0782デフォルトの名無しさんNGNG
CWnd::EnableToolTips
を元に後は自分でたぐれバカ。
0783八方塞がりNGNG
ディレクトリとその中に含まれる全てのファイルをDrag and Dropにて
エクスプローラに遅延レンダリングで渡す方法を教えてくれませんか?
0784デフォルトの名無しさんNGNG
何じゃそのえんていれんだりんぐっつーのは
0785八方塞がりNGNG
COleDataSource::DelayRenderData()で渡すやつです。
0786デフォルトの名無しさんNGNG
やったことはないけど
DelayRenderFileData
をぐるぐる回すのはダメなん?
ぐるぐる。
0787八方塞がりNGNG
CFSTR_FILEDESCRIPTOR にてファイル一覧をエクスプローラに渡して、
CFSTR_FILECONTENTS でグルグル回してファイルの中身を渡すんですけど、
ドロップ中にエクスプローラにフォーカスがあたった時点でCFSTR_FILEDESCRIPTORの
中身を求められるんですよ。
それだと、たとえばサーバ上のファイルを調べてると、ドラッグしてドロップできるまでに
時間がかかってしまって困ってます。
0788デフォルトの名無しさんNGNG
explorerでも遅いからしかたねえんじゃねえの?
0789八方塞がりNGNG
でも、Windows 2000のWebフォルダなら、ちゃんとドロップ後に
サーバ上のファイル調べてるから、技術的には無理な話ではないと
思うのですが。。。
0790VC初App作成中NGNG
>>782
だから問題はツールチップの表示のしかたじゃなくて、
ListViewから…(以下略)
0791デフォルトの名無しさんNGNG
無理でない話とおもったら自分でやれ。

Win2Kの昔のexplorerは万を超える数のファイルをまとめて動かすと死んだ。
今でもそうなのかは不明だが、explorerのできなんてそんなもんだ。

お前がやれると思うならやれ。
0792八方塞がりNGNG
ですよね。。。
再び、八方塞がり。。。
0793デフォルトの名無しさんNGNG
>ListViewのツールチップ
LVS_EX_INFOTIP?
0794VC初App作成中NGNG
>>793
ありがとうございます。何とか光が見えてきました。
(本当はCreateWindowExでWin2000みたいなToolTipが表示させたかったから
 データを取得したかっただけなんですけど…)

さんざん大口たたいてすいませんでした。
0795VC初App作成中NGNG
と思ったら、
「This style is only available to list view controls that use the LVS_ICON style. 」
だそうです。
0796デフォルトの名無しさんNGNG
>>795
どこ読んでんの?
それはLVS_EX_REGIONALでしょ?
0797VC初App作成中NGNG
>>796
いや、「LVS_EX_INFOTIP」にも書いてありますよ。

でも、Report Styleでも表示されたんだけど、
「LVS_EX_FULLROWSELECT」と一緒に使えない…

なんでだ?せっかくVC好きになりかけてたのに…
0798デフォルトの名無しさんNGNG
俺はMSDNライブラリ2001年10月日本語版の
「Extended List-View Styles」で見てるんだけど、
LVS_EX_INFOTIPには
> 「This style is only available to list view controls that use the LVS_ICON style. 」
なんて書いてないし、LVS_EX_FULLROWSELECTも一緒に使えるけど。
0799798NGNG
SDK,November2001の「Extended List-View Styles」でも確認したけど
やっぱ>>798と同じだなぁ
0800VC初App作成中NGNG
うちのは…
1998 augだ。古っ!

Extended List-View Styles
のところに、「LVS_EX_INFOTIP」って項目ないし…
msdnは古いのが原因でした。
LVS_EX_FULLROWSELECTも一緒に使えました。
ご迷惑おかけしました。

でっ!
LVN_GETINFOTIPでメッセージを取得して、ツールチップにTTM_SETMAXTIPWIDTH
を設定しようとしたらLVN_GETINFOTIPを取得できませんでした。
ちょっとコード晒しあげますね。

  LPNMLVGETINFOTIP lvTip;

lvTip = (LPNMLVGETINFOTIP)lP;
switch (lvTip->hdr.code ){
case LVN_GETINFOTIP:
    「ここで取得できない」
break;
}
0801デフォルトの名無しさんNGNG
つかさ、coreguruみろや。
http://www.codeguru.com/listview/index.shtml

>711に対する答としては、
「サブクラス化してWM_MOUSEMOVE」
0802ひこNGNG
リストビューの列非表示ってできないんだね。
列幅を0にしただけではドラッグでみえてしまう。

わかるひといません?
0803デフォルトの名無しさんNGNG
>>802
わからん
0804割高なのは、、、NGNG
あのー、VC++5.0エンタープライズ版を
7000円で買ってきたんだけど、これって損な買い物
だったでしょうか?
0805デフォルトの名無しさんNGNG
>>802
DeleteColumn!
0806デフォルトの名無しさんNGNG
それを元にアップグレード版買いなさい。
0807デフォルトの名無しさんNGNG
>>802
仮想リストビューを使って好きなようにする。
0808デフォルトの名無しさんNGNG
>>802
ヘッダーコントロールをサブクラス化して、
マウスメッセージに反応しないようにする。
0809VC初App作成中NGNG
結局Listviewをサブクラス化して対応しました。
ちなみに、
WM_MOUSEMOVEではなく、
WM_SETCURSORでした。

本当にこうしないといけないのかな…MFCだと、OnMouseMoveっていうのがあるみたいなんだけど。
まぁ、しかたないか。
0810デフォルトの名無しさんNGNG
STLのコンテナをあるクラスのメンバ変数にしたいんだけど、例えば、vector。
include を使わずに先行定義したいのだけど、どう書けばいいですか。
0811デフォルトの名無しさんNGNG
>>810
だいたいこんなかんじ.
class vector_alloc;
namespace std { template<class T,class A=vector_alloc> class vector; }
アロケータの名前が処理系によってまちまちなので厳しい。
普通に include することを勧めます。
0812810NGNG
>811
さっそくのレス、有難うございます。
うまく通りました。
MFCで組んでるってこともあり、他処理系への移植は考えてませんので、
このやり方でいこうと思います。
0813デフォルトの名無しさんNGNG
データベースをイジくりたいんですけどスタンダードエディションにはADOがありましぇん(号泣!!
VC購入から数年経っていますがその間に状況が変わりADOが無料で配布されていたりしませんか?
DAOってのよりADOの方が逝けてるよね?

教えてマンボー!
0814VC挑戦中NGNG
VC(SDK)でMPGファイルを再生するのって、どうやるの?
DirectX?
MCI?
できればmsdxm.ocxを使いたいんだけど
0815デフォルトの名無しさんNGNG
ダイアログに境界線みたいなのを引きたいのだけど、なにを配置したら
いいのかわかりません。

スタティックテキストで"--------"とやっても違うし。何より縦線が引けない。

ここで言うところの境界線は、グループボックスの四角形が直線に
なったもののイメージです。
0816デフォルトの名無しさんNGNG
>>815
グループボックスの幅を0にしたらいかが?
0817デフォルトの名無しさんNGNG
.NETのベータ2を使ってみたのですが、
.NETで言う、ClassWizardって何なのでしょうか?
右クリックすると出てくるんですよね…?

VC6の解説サイト見てるのですが、良くわからなくて…
0818817NGNG
すいません、解決しました。
0819デフォルトの名無しさんNGNG
MIMEエンコード/デコードするライブラリでいいの知りません?
自分で作ってもいいのですが手間なので・・・

とりあえずBase64のエンコード/デコードだけでもいいんですけどね。
0820デフォルトの名無しさんNGNG
>814
ふつうDirectShow。あ、でもDirectX8に含まれるように
なったから、DirextXといっても間違いでもないか。
#ShellExecute(....,"mplay2", "foo.mpg");
0821デフォルトの名無しさんNGNG
VC++用のプログラムチェックソフト(言い方合ってるかな?)
を探しています。今はpurifyを使っていますが、いまいち…かと。
お勧めがあったら教えてください。
0822デフォルトの名無しさんNGNG
>>815
案1: スタティックコントロールのスタイルを矩形(SS_BLACKRECT等)にして、
幅とか高さを1にして置いてみる。
案2: オーナー描画ボタンを置いて、自分で線を描く。
0823デフォルトの名無しさんNGNG
外人の書いたC++の本を10冊くらい買って、読ませろ。
で、そいつにコードのチェックをさせろ。

何か指摘されたら、即座に改善するか、次に書くときに必ず改善しろ。

purifyあるなら、それでOK。
ツールに頼りすぎるな。
0824デフォルトの名無しさんNGNG
>>819
コレではどうよ。

http://www2.tokai.or.jp/uminchu/runtime.html#NKF
0825VC挑戦中NGNG
>820
そうですか。
VBみたいに、WindowsMediaPlayerのActivexコントロールを貼り付ける。
なんてことは出来ないんでしょうか?
0826デフォルトの名無しさんNGNG
>>825
ActiveXコントールのコンテナ(コントロールを乗せる台)を素手で作るのはかなりつらいので
普通はMFCなりATLなりを使う。
0827VC挑戦中NGNG
>>826
そうみたいですね。
使えることは使える。って解釈でよいのでしょうか?
MFCは嫌いだし、SDKでやりたいので、ATLをちょっと勉強してみます。
0828デフォルトの名無しさんNGNG
>SDKでやりたいので、ATLをちょっと勉強してみます。

ATL使ったら「SDKでやる」とは言わない。
0829819NGNG
>>824 どうも。
なつかしのNKFですか。Base64はデコードのみみたいすね。
安定感はあるかな?
0830デフォルトの名無しさんNGNG
MFCつかわずに正規表現使いたかったもんで、boost/regex使ってます。
しばらく快調だったんですが、string.h系の関数をつかおとすると、なにやら怒られます。

  error C2668: 'strlen' : オーバーロード関数の呼び出しを解決することができません。

なんなんでしょ。VC6君は、何怒ってるんでしょうか?
0831デフォルトの名無しさんNGNG
どこかにMSLUを使った正常に動作するサンプルプロジェクトが
ないでしょうか。
ポインタを切望!
(普通の文字まで化けてしまう…)
0832デフォルトの名無しさんNGNG
OK連打対応のつもり何ですがうまくいきません。
押した分が貯まっています。
どうやって空打ちするのでしょうかご教授ください。

void CTestDlg::OnOK()
{
// TODO: この位置にその他の検証用のコードを追加してください
int i;

m_ok.EnableWindow(FALSE);

for (i = 0; i < 30000; i++)
SetDlgItemInt(IDC_STATIC, i);

m_ok.EnableWindow();
//CDialog::OnOK();
}
0833デフォルトの名無しさんNGNG
>832
PeekMessage回してメッセージを取り除くか
「連打するなゴルァ」ってキャプションのラベルを横に貼っとけ。
0834デフォルトの名無しさんNGNG
ご教授ありがとうございます。

m_ok.EnableWindow();
の後ろに以下3行つけたら、思った通りの動きになりました。どうでしょうか。
WM_KEYFIRST, WM_KEYLASTの行はいらないと思いましたが一応書きました。

MSG msg;
while (PeekMessage(&msg, m_ok.m_hWnd, WM_KEYFIRST, WM_KEYLAST, PM_REMOVE));
while (PeekMessage(&msg, m_ok.m_hWnd, WM_MOUSEFIRST, WM_MOUSELAST, PM_REMOVE));

m_ok.EnableWindow(TRUE);の前だとだめなんですね。
それから、貯まるではなく溜まるでした。
いやあ、楽しいなあ
よい週末を
0835セマフォーーNGNG
SDKで CreateSemaphore() して得たハンドルから
カウント数を得ることって出来ますか?
ReleaseSemaphore()時に前のカウントを得られることは
知っているのですが、Releaseせずにカウント数を
取得したいのです…やっぱり別の変数にカウント数を
キープしておくべきでしょうか?
0836デフォルトの名無しさんNGNG
MFC です。
OnOpenDocumentをオーバーライドして使う場合、”ファイル−開く”で
コモンダイアログが起ち上がりますが、予めパスの設定をしたいのですが、
出来ますでしょうか。前回最後に開いたパスをレジストリに保存しといて、
それを反映させるということをしたいのですが。
自前で CFileDialog を作るときは出来るのですが、あまり Document-View
間の通信を意識したくないもので。OnOpenDocument を使いたいのです。
0837デフォルトの名無しさんNGNG
>>835
ReleaseSemaphore や WaitForSingleObject の周りを
CriticalSectionとかで固めて、変数にカウント数を保持。
0838デフォルトの名無しさんNGNG
OpenSemaphore~ReleaseSemaphoreじゃだめなん?

っていうか、そもそも解放時以外にカウントが必要になる設計がだめなのだと思う
0839SHEZNGNG
メモリクリーナーって
大量にメモリを確保して、解放してやればいいんですか・・?
GlobalAlloc(GPTR,128*1024*1024)みたいに確保して
GlobalFree()で解放しても、あまり変わらなかったような・・
本場のやつではあんな長い時間何やっているんでしょうか・・^^;
0840超先生@プログラム板NGNG
>>839
  ∧_∧      
< `ш´>y-~~~ メモリクリーナーってのは難しいところだが。
GlobalAllocだと確保したメモリ空間へ実際にアクセスするまで物理メモリは割り当てられないのだ。(demand-paging)
そこで、確保したメモリへプロセッサのページ(4KB)ごとにダミーの読み書きをしてみたらどうかな。
上手くいけば物理メモリが割り当てられ、解放すると同時に物理メモリが空くはずだ。

ちなみにVirtualAllocにMEM_COMMIT|MEM_PHYSICALを指定して呼び出すと
強制的に物理メモリをコミットしてくれるみたいだ。(NT系限定だが)
0841821NGNG
>>823
回答をありがとうございました
なにかすごいのがないかなと思ったのですが…。甘かったですか。
purifyと自力で頑張ります。
0842名無しさんNGNG
最近VC++6.0(SP5)をはじめたものですが困ってることがあります。

ClassViewから現在コーディングしてるクラスが消えてしまうという現象におちいってます。
私だけでしょうか?解決法ありましたら教えてください。
VC++6.0(SP5) / Win2000Pro
0843デフォルトの名無しさんNGNG
>>842
http://pc.2ch.net/test/read.cgi/tech/1014057520/409
0844842NGNG
>>843
ありがとうございます!直りました!
0845デフォルトの名無しさんNGNG
ちょっと素人質問なんですが、VCでビルドされた実行ファイル等にユーザ情報
って入るんですか?

Excelやワードなんかは作ったファイルに入るらしいですが・・・
0846 NGNG
>>842
クラスの登録はツール使ってやってる?
0847教えて君@厨房NGNG
USBの使い方教えてくだちゃい。
(USB接続のデジカメから画像のRAWデータを吸い出したいのです)
参考になりそうな情報なんでも大歓迎です。
0848検索中NGNG
Win2Kのタスクマネージャのパフォーマンスタブの
コミットチャージの最大値はどうやって取得するんでしょう?
GlobalMemoryStatusじゃなさそうだし...
ご存知の方よろしくお願いします。
VC++6.0(SP5) Win2KPro
0849デフォルトの名無しさんNGNG
DirectXを使わず、普通のSDKだけでフルスクリーンモードって出来ます?
出来る場合には自分で調べて、出来ないのであれば他の方法を取りますので、
出来るか出来ないかだけでOKです。
0850 NGNG
出来る
0851デフォルトの名無しさんNGNG
>>850
ありがとうございます。
Googleでいくら検索してもDirectXがどうたらって出るもんで……。
0852849NGNG
ああー。なんか出た出た。出ました。出来そうです。
ありがとうございました。またのご来店をお待ちしております。
0853デフォルトの名無しさんNGNG
>>848
パフォーマンスカウンタからとれ。
0854デフォルトの名無しさんNGNG
WinXPログインしてからすぐに起動してタスクトレイに
常駐するものをつくりたいのですがどうすればいいんでしょうか。
もちろんMFCはメモリ節約のために使わない予定です。
ここで説明するのが難しい場合は
詳しいサイトを教えていただけませんでしょうか。
0855デフォルトの名無しさんNGNG
タスクスケジューラにアプリケーションを追加したり削除したりするAPI
ってありますでしょうか?あったら教えてください。
0856デフォルトの名無しさんNGNG
>>854
普通にタスクトレイに常駐するプログラムのショートカットを
スタートアップフォルダに入れときゃいいんでわ…
0857848NGNG
>>853
レスどうもです。
MSDNをひたすら読んでるんですけど、よく判りません。
具体的なAPI等を教えて貰えないでしょうか?
よろしくお願いします。m(_ _)m


0858848NGNG
こうですかね?
HQUERY  hQuery;
HCOUNTER hCounter;
PDH_FMT_COUNTERVALUE *lpItemBuffer;

PdhOpenQuery(NULL,0,&hQuery);
PdhAddCounter(hQuery,"XXXXX",0,&hCounter);
PdhGetFormattedCounterValue(hCounter,PDH_FMT_DOUBLE,NULL,lpItemBuffer);

↑のPdhAddCounterの第二引数は何を指定したものか...
なんか、頓珍漢な方向に突き進んでるよーな。
0859 NGNG
K
0860848NGNG
微妙な所までコミットチャージの値が取れました...
HQUERY hQuery;
HCOUNTER hCounter;
PDH_FMT_COUNTERVALUE *lpItemBuffer;

char Path[1000];
DWORD Size = 1000;
PDH_COUNTER_PATH_ELEMENTS cpe;

cpe.szMachineName = NULL;
cpe.szObjectName = "Memory";
cpe.szInstanceName = NULL;
cpe.szParentInstance = NULL;
cpe.dwInstanceIndex = 0;
//cpe.szCounterName = "Commit Limit"; // 制限値
//cpe.szCounterName = "Committed Bytes"; // 合計
//cpe.szCounterName = "% Committed Bytes In Use"; // 最大値

PdhMakeCounterPath(&cpe, Path, &Size, 0);

PdhOpenQuery(NULL,0,&hQuery);
PdhAddCounter(hQuery,Path,0,&hCounter);
PdhGetFormattedCounterValue(hCounter,PDH_FMT_DOUBLE,NULL,lpItemBuffer);
PdhCloseQuery(hQuery);

↑な感じでコミットチャージの制限値と合計は取得できるんですけど、
最大値が巧く取得できません。最大値のパスが違う?
それとも、何か計算が必要なんですか?

情報をお待ちしています。m(_ _)m
0861デフォルトの名無しさんNGNG
んー、このコードのままなら問題なさそうだね。

%混じり分をsprintfしてて苦しんでたやつがいたが。

0862デフォルトの名無しさんNGNG
ツーか、ただ単に百分率で受け取ってるってことに気付いてないだけなのか?

% Commited Bytes In Useは最大値じゃない。
Committed Bytes/Commit Limitだぞ。

0863848NGNG
レスどもですm(_ _)m
そのよーですね。ちょっと前に確認しました(^^;)
...って事は,タスクマネージャのコミット最大値と同じ値は取得できない?
自分でポーリング掛けて、取得した合計値を比較して最大値を確保するしかないのか?
でもコレ(↑)だと、プログラム起動時からの値にしかならんしなぁ...
サービスとして作って、Win起動時に作動させるか...←コレなら大体同じ値になるし
なーんか他に方法は有りそうなんだけど...どっか抜けてるのかな?
0864初心者KNGNG
ダイアログベースのアプリで、ActiveXのコントロールを貼り付けると、
例外処理 (初回) は test1.exe (MFC42D.DLL) にあります: 0xC0000005: Access Violation。
が、C:\Program Files\Microsoft Visual Studio\VC98\MFC\Include\AFXWIN1.INLの
_AFXWIN_INLINE HGDIOBJ CGdiObject::GetSafeHandle() const
{ return this == NULL ? NULL : m_hObject; }
で出てしまいます。そのダイアログから開く子ダイアログに貼り付けた場合は問題ないみたいです。
これって、なぜでしょうか?どのあたりをチェックすれば良いのか、お導きください。
0865デフォルトの名無しさんNGNG
COMの初期化をきちんと済ましてないだろ。
0866初心者KNGNG
>865さん
うーん、コントロールを貼り付けるだけだったら、初期化も何も無いと思うのですが。。。OnInitDialogにすら辿り着かないんですよ。OnInitDialogより前にっていうと、コンストラクタで初期化するんですか?そこだと、まるっきり実態が宣言される前になっちゃうと思うのですが?
0867デフォルトの名無しさんNGNG
つかな、このスレの>>740みろ。
0868デフォルトの名無しさんNGNG
class TEST {
public:
template<class T> void print(T a){cout<<a<<endl;}
};
main(){ TEST a; a.print(10);}

g++では動いたんですが、VC6.0ではコンパイルが通り
ませんでした。メンバ関数テンプレート使えないんですか?
0869初心者KNGNG
>>867さん、コメントありがとうございます。
いちおう、そのおまじないは>>737さんが解決されたのと同じと思われる
場所に入れてあります。>>740で書かれている内容をしていないと、
子ダイアログにActiveXコントロールを貼り付けた場合にもエラーが
でますよね?その場合はうまく動いているんですよ。。。。。
0870デフォルトの名無しさんNGNG
>>868
using namespace std;
か
template<class T> void print(T a){std::cout<<a<<std::endl;}
のどっちかしなされ。
0871デフォルトの名無しさんNGNG
>870
実際はちゃんと書いてます。

error C2893: 関数テンプレート 'void __thiscall TEM::prin(TM)'
の特定に失敗しました
次のテンプレート引数で:
'int'

こんなのがでる・・・・
0872870NGNG
>>871
うちのVC++6.0SP5では、>>868に
#include <iostream>
using namespace std;
をつけただけのソースがちゃんとコンパイル&実行できる。
SPが古いか、そもそもそのソースでは問題が再現しないんじゃない?
0873デフォルトの名無しさんNGNG
>872
ありがとうございます。
とりあえずもう一度
やってみます。
0874デフォルトの名無しさんNGNG
あたらしくプロジェクトつくってビルドしたら
通った・・・

謎
0875デフォルトの名無しさんNGNG
ダイヤルアップの登録の時なんかに、勝手にマウス動かして
どんどん進めてくやつあるじゃないすか。
あれってどうやって実現してるんでしょうか?
0876デフォルトの名無しさんNGNG
>875
そのツールは見たことないが、SendInputでも使ってるんだろ。
0877デフォルトの名無しさんNGNG
マウスカーソルのデバイスイメージって、ひとつのファイルに複数持てますけど、
何個持っていても実際に使えるのは1つだけ。あれって何か意味があるんですか?
0878チンボNGNG
VC7で空のWin32アプリケーションのプロジェクトを作成して
リソースを追加しようとすると"afxres.h"が無いと怒られるのだが・・・

それと、昔作ったソースをVC7にプロジェクト変換して
コンパイルしようとしてもリソーススクリプト中にある
#include "afxres.h"
ではねられます。

"afxres.h"ってどこいっちゃったんでしょうか?
そもそもこのヘッダーはなに?
0879デフォルトの名無しさんNGNG
>>876
まじ頼もしい!
どうもっす
0880デフォルトの名無しさんNGNG
>>878
VC6では VC98\MFC\Include\ に "afxres.h"があるが。
0881デフォルトの名無しさんNGNG
>>878
>>880じゃないけど、そのafxres.hの中身。

#define CBRS_ALIGN_LEFT 0x1000L
#define CBRS_ALIGN_TOP 0x2000L
#define CBRS_ALIGN_RIGHT 0x4000L
#define CBRS_ALIGN_BOTTOM 0x8000L
#define CBRS_ALIGN_ANY 0xF000L

#define AFX_IDW_CONTROLBAR_FIRST 0xE800
#define AFX_IDW_CONTROLBAR_LAST 0xE8FF

こんな感じで、リソース値に関するdefineだけがずらっと並んでる。

『AFX_』『ID_』『CBRS_』で始まるdefine値をリソーススクリプト中で
使ってないなら、#include "afxres.h" を消しても問題なさそうな予感。
0882848(新たな問題がっ)NGNG
プロセス一覧のSystem Idle TimeのCPUは、CPUの空き率なんですかね?
また、以下(かなり略)の様にして

Path = _TEXT("\\Process(Idle#0)\\% Processor Time");
PdhAddCounter(hQuery,Path,0,&hCounter);
PdhGetFormattedCounterValue(hCounter,PDH_FMT_DOUBLE,NULL,&FmtValue);

FmtValue.doubleValueを見ても、0.0003位の値しか入っとりません。
PDH_FMT_1000のフラグを付けてみても0.3だし。
Pdh〜関数で取得できるSystem Idle ProcessのCPU値ってこんなモノですか?
確認を求めとります。m(_ _)m
0883デフォルトの名無しさんNGNG
それはIdleプロセスのCPU使用率だ。
Idleプロセスは、優先度が低くてCPUが暇なときにチョビット呼ばれて
暇つぶしにバックグラウンドプロセスをInvokeする、暇河童使いだ。

暇河童使いは他のプロセスがCPUを使ってる間はほとんど動かない。
寝てる。
暇なんだよ。

暇河童使いのCPU使用率が0.0003くらいということはだな、
お前の糞プログラムか他のなにかがCPUを99.9997%くらい使用してるってことなんだよ。

CPUごとの空き率をしりたければ 100 - % Processor Time - % Priviledged Time - % User Time
を計算しろ。

で、パフォーマンスを計るプログラム作ってるなら、せめてビジーループだけは組むな。
0884デフォルトの名無しさんNGNG
ごめん嘘書いた。
100 - % Processor Timeでいいやん。
0885デフォルトの名無しさんNGNG
>>883 で、パフォーマンスを計るプログラム作ってるなら、せめてビジーループだけは組むな。

for(;;) {
自分のプロセスのCPU使用率取得();
}

これが最強。
0886デフォルトの名無しさんNGNG
それではね、期待されてるCPU空き率は取得できないよ。

ネタにいちいち突っ込むのもばからしいんだけどね。
0887デフォルトの名無しさんNGNG
"afxres.h"の件ですが、
ATLとMFC関係のライブラリをすべてインストールしたらちゃんとありました。
使わないからインストールしなかったんですけどね。
ソースはすべて32APIで書いてリソースだけVSのエディタを使いたかっただけなんですよ。
ま、インストールしたら問題なくなったのでいいんですが・・・
0888デフォルトの名無しさんNGNG
>>887
あー、それ、俺も昔そういうのに遭ったことがあるよ。
MFC使わないからってインストールしないでおくと、
リソース関係がコンパイルできないという罠。
0889超初心者NGNG
どなたか教えてください。

スクロールバーのあるモードレスダイアログを

Create〜
ShowWindw〜

で呼び出し

終了ボタンを押して終了。

もう一度ダイアログを呼び出すと
スクロールバーが使用不能になります。
(OnInitDialgされない?)

この場合、呼び出しに問題があるんでしょうか?
それとも終了の仕方に問題があるんでしょうか?

0890sinNGNG
local pc の名前が知りたくてGetComputerName使ったのですが、
PC98系だとエラーで取得できません。
gethostname の場合コンパイルすら通らないしどうすればよいでしょうか。
0891デフォルトの名無しさんNGNG
レジストリ見るとか(w
0892848(新たな問題がっ)NGNG
やっと正しいと思われる値が取得でけた。

CPUの使用率の取り方って↓のよーにしないと無理なんですねぇ。

PdhCollectQueryData(hQuery);  // printf("計測開始...\n");
Sleep(1);            // 1ミリ秒間の使用率
PdhCollectQueryData(hQuery); // printf("計測終了.\n");
PdhGetFormattedCounterValue(hCounter, PDH_FMT_DOUBLE, NULL, &FmtValue);

でも、何で間隔を空けないと取得出来へんのやろ?
Process IDの取得と同様に、瞬間的に取れても良いような気が...
0893デフォルトの名無しさんNGNG
getenv("COMPUTERNAME")
0894デフォルトの名無しさんNGNG
パフォーマンスカウンタの値はある時点から別の時点までの統計情報を元に
作成される場合が多いから、カウンタを作成した直後は、値はまともなのが入ってないよ。
0895デフォルトの名無しさんNGNG
エクスプローラに右ドラッグをしたときに出るメニューはどうやって作るんでしょうか?
0896ageNGNG
age
0897デフォルトの名無しさんNGNG
InvalidateRect() を呼んだあと、ウィンドウの再描画が
行われたことを知る方法ってありますか?

今のところ処理を行うのに Sleep(300) とかしてますが、
それだと適当すぎて環境によって違いがでてしまうんです。

>>895
COM 関係じゃないかな・・レジストリを読むのかも・・
0898デフォルトの名無しさんNGNG
>>895
COM関係なんでしょうけど、具体的に何で出るかがわからないのです。

再描画の方法はUpdateWindow()しましょう。
UpdateWindow()から戻ってきた時点で描画は終わってます
0899897NGNG
>>898
あいやぁ; どうもありがとうございました。
エクスプローラって DDE 使ってるんですよね?
たんにイベント拾って TrackPopupMenu() してる
だけなんじゃあ・・?
なんて、てけとうなこと言ってるので気になさらずに(=ω=)
0900デフォルトの名無しさんNGNG
>>399
たとえば、解凍レンジやそのたアーカイバプログラムを入れると、
右でドラッグしたところに「ここに解凍」みたいなメニューを増やせますよね。
アプリケーションから拡張可能なメニューってことで、
ContextMenuのように自分のアプリケーションでも出せるのかなと思って。
0901 NGNG
>893
MessageBox (getenv("COMPUTERNAME"));
でokみたいです。どうもです。
0902 NGNG
Ctrl + Alt + Del で強制終了出来なくする方法ってありますか?
0903デフォルトの名無しさんNGNG
なんのために?
0904デフォルトの名無しさんNGNG
>>900
IShellFolder::GetUIObjectOf() あたりで何とかならん?
やったことないので知らんけど…。

>>902
SystemParametersInfo(SPI_SETSCREENSAVERRUNNING,1,&oldVal,0 );
0905デフォルトの名無しさんNGNG
>>904
できるとすれば、そのようにやると思うんですが・・・
問題はインターフェースIDがわからないので、どうしようもないと。
0906デフォルトの名無しさんNGNG
NT/2000 で CPU 使用率を個々の CPU ごとに求める、ってどうやるんでしょうか?

http://www.codepile.com/tric21.shtml
ここを見ると NTQuerySystemInfomation で CPU 使用率は求められても
CPU の個数で除算してるので平均になってしまいます。

でも OS 付属のタスクマネージャって個々の CPU ごとに CPU 使用率の
グラフが出ますよね。NTQuerySystemInfomation は隠し API みたいだけど
さらに隠された API でもあるんでしょうか?
0907デフォルトの名無しさんNGNG
とりあえずパフォーマンスモニタをいじって間隔をつかめ。
それからパフォーマンスカウンタを調べろ。

APIはPdh〜()だ。
0908デフォルトの名無しさんNGNG
VCのエディタで、.や->を入力した後に一覧で出てくるハズの
関数の一覧が出てこなくなりました。
どうすれば直るのでしょうか?
絶対既出でしょうけどどんな言葉で検索すればいいかわかりませんです。
0909デフォルトの名無しさんNGNG
>>908
よくあることだ。(゚ε゚)キニシナイ!!
0910デフォルトの名無しさんNGNG
>>909
だって全部鬱のたるいんだもん。
0911デフォルトの名無しさんNGNG
>>908
ncbだかclwだかその辺のファイルを消してからも一度起動だ。
0912デフォルトの名無しさんNGNG
>>911
それ試してみてたんですけどどうまくいかなかったんすよ。
全部鬱しかないのかなぁ。
0913デフォルトの名無しさんNGNG
>>912
それでは、いったん *.h の中身を全部カットしてペーストして保存だ。
0914デフォルトの名無しさんNGNG
サービスの一覧の「名前と状態」は取得できたんですけど、その他の情報が取れません。
「説明,種類,ログオン」って情報の取り方を教えて下さい。

EnumServicesStatusを2回呼べばサービスの一覧が取れて、「名前と状態」が構造体に入ってますよね。
残りの情報は何処に...
0915アルメイダNGNG
VisualC++です。
通常テキストはSetTextColorだと思うのですが
リストボックス内の文字の色を変更することは可能なのでしょうか。
どなたか方法を御教授ください。

0916デフォルトの名無しさんNGNG
すみません、教えてください。
Win200+VC6+Access2000です。

CDaoRecordsetで、SQL のGROUP BY を使いたいんですが、上手く使えません。

m_strFilter に入れればいけるのかと思ったんですが、ダメでした。
それで、Open の時に呼ぶようにしてみましたが、throw されてしまいます。
”GetRowsに失敗しました。要求された列はこのレコードセットのメンバではありません"
とでます。

class CDb : public CDaoRecordset
{}

::Onbutton()
{
AfxGetModuleState()->m_dwVersion=0x601;
CDb* db new CDb;
db->Open( dbOpenDynaset, "select [group] from [member] group by [group]" );

・・・・
}

SQLを良く知らないのがネックなのですが、
Accessで、クエリ実行では上手くいきました。

すみませんが、よろしければ教えてください。
0917 NGNG
コンピュータ名の取得で、
getenv("COMPUTERNAME") はWIN98じゃ動かないみたいです。。
GetComputerName()もWIN98じゃ動かないしやっぱりレジストリみるしかないのかなぁ
0918デフォルトの名無しさんNGNG
GetComputerName Windows 95/98:Windows 95 以降
0919デフォルトの名無しさんNGNG
>>915
「オーナードロー」で検索だぁ!
0920906NGNG
>>907
ありがと。
0921newNGNG
new でメモリとろうとしたら、以下のメッセージ吐いて
int3に引っかかってしまいました。
HEAP[test.exe]: HEAP: Free Heap block bf8ab0 modified at bf8b14 after it was freed

これはいったい何なんでしょう???
0922デフォルトの名無しさんNGNG
メモリどっかで壊してるんだよ。
new/deleteが使うメモリの管理情報が、
お前の糞プログラムに壊されてるんだよ。
0923デフォルトの名無しさんNGNG
>>915 WM_CTLCOLORとかじゃねーの?
0924デフォルトの名無しさんNGNG
>922
新しいメモリを買わないと駄目でしょうか?
0925newNGNG
>>922
あー!おまえ、それ、すげーヒントになったよ!
そういうことかー
0926デフォルトの名無しさんNGNG
>924
922は現在頭のメモリの修理をしているためしばらく帰って来られません。
0927アルメイダNGNG
>915 >923
ありがとうございみす!
一度試してみます!
またお願いします!
0928アルメイダNGNG
色をつけることが出来ました。どうもありがとうございました。

もう一つあるんねすが、リストボックスの内容が複数ある場合、
(選択肢が多い場合)その行(選択肢)毎に色を変えることは
出来るのでしょうか。
0929デフォルトの名無しさんNGNG
vectorで定義したPOINT構造体の配列を、ある関数に単なる配引として渡したい
(関数側ではvectorを意識しない)のですけど出来ますか?
0930デフォルトの名無しさんNGNG
イテレータを渡してやればいいのね。スマソ。
0931デフォルトの名無しさんNGNG
vector<POINT> v;

と定義してたとして、vの最初の要素はv[0],
2番目の要素はv[1]でアクセスできる。
んで、

&v[i] == &v[0] + i

となることは保証されている…って読んだ記憶があるけど、
誰が保証しているのかは知らない。
まあとにかく、 &v[0] を配列の先頭アドレスのつもりで
渡せばOKだと思う。もちろん、使用しているコンパイラで
この保証がなされているかをあらかじめ確認してからな。
0932デフォルトの名無しさんNGNG
>>931
C++ の規格書の追補版だかに書いてあるらしい。読んだことないけど。
0933デバイス一覧取得NGNG
デバイスマネージャに表示されている、全てのデバイスを取得したいんですけど
取得する関数を知りませんか?
「コレとコレを使ってループしろ」とかで構いませんので、よろしくお願いします。
0934デフォルトの名無しさんNGNG
リストボックスに出力する文字列のカラーを変えたり
太字にしたりするのはどうやるんでしょうか?もしかして
できないですかね。
0935デフォルトの名無しさんNGNG
20レス前から読んでみれ
0936デフォルトの名無しさんNGNG
VCのテキストエディタを
vi風に
モード切替で hjkl でカーソル移動などやりたいのですが
設定変えて、できますか?
0937デフォルトの名無しさんNGNG
>>936
vim 使えば? Visual Studio と連携させるためのプラグインが提供されてるぞ。
0938デフォルトの名無しさんNGNG
板違いになるが、窓使いの憂鬱使え
0939デフォルトの名無しさんNGNG
>>916
>CDb* db new CDb;
>db->Open( dbOpenDynaset, "select [group] from [member] group by [group]" );

この部分、書いたままなのかどうかよくわからんが、一応考えられるところ

1.派生クラスということはWizerd で作られたもの?
  ・・・フィールドが対応していない

2.別に Wizerd 生成でない場合
  ・・・コンストラクタでデータソースが開かれてないのでアウト
  例はこう
  http://www.microsoft.com/japan/developer/library/vccore/_core_dao_recordset.3a_.using_aggregate_sql_functions_with_mfc_dao_classes.htm
  ===========================
  CDaoDatabase db;
  db.Open(_T("d:\\scores.mdb"));

  CDaoRecordset rs(&db);
  rs.Open(dbOpenDynaset,
_T("Select [Student Name], AVG([Test Score]) AS AvgScore FROM
SCORES GROUP BY [Student Name]"));
  ===========================

3.単にコーディングミス?
  >CDb* db new CDb;
0940939NGNG
長行入れてすまんね
0941デフォルトの名無しさんNGNG
route/arp/ipconfig(ifconfig) みたいな、
tcp/ip stack の内部情報を表示するコマンドありますよね。
あれと同じことをやりたいんですが、
system("route print");
以外の方法で、なんかないですか?
多分、winsock.dll のなんかの api でできるっぽいですが。
0942デフォルトの名無しさんNGNG
>>939
レス有り難うございます。

2での方法を参考にテストプログラムを作り直してみました。
SQLの部分ですが、サンプルそのままに、

>>_T("Select [Student Name], AVG([Test Score]) AS AvgScore FROM
>>SCORES GROUP BY [Student Name]"
にしてみたところ上手くいきました。

>>_T("Select [Student Name] FROM SCORES GROUP BY [Student Name]"
ところが、↑の様にAVGを削って見たところ、エラーが発生しました。

どうも、AVGの様に値を呼び出す必要があるみたいです。
詳しい事は、私レベルではよく分かりません。

きちんと試した訳ではないですが、なんとなく、いけそうです。

非常に助かりました。
本当に有り難うございます。
0943デフォルトの名無しさんNGNG
基本的な質問なんですが、
VC++6って、WIN2kで動くんですか?
サポートにはWIN95とWIN98とNT4.0しか書いてなかったんですけど。
教えて下さい。
0944デフォルトの名無しさんNGNG
VC++6.0sp4使用して、ClassWizardでCRitchEditViewを新規作成したいのですが、

「クラスの追加(&L)...」→「新規...」を選択した後に表示される
「基本クラス(&B):」のコンボボックスの中にCRitchEditViewが表示されません。
どうやってCRitchEditViewを新規作成すればいいのでしょうか。

0945943NGNG
C言語の勉強をはじめて早10ヶ月
今までは、ボーランドのフリーコンパイラで
がんばってきたのですが、ビルダー5か、VC++6の
どちらか買おうと思っているのでまじレスです。教えて下さい。
0946944NGNG
>>944は自己解決しました。ども。
0947デフォルトの名無しさんNGNG
.NETが出たから6.0はもうふつうの店では売ってないと思う。
DigitalmarsかopenwatcomあたりにIDEついてるんじゃないか?
0948943NGNG
.netって?
なるべく重くないのがいいのです(涙)
CPU P3 カトマイ500Mhzですので...(涙)
0949943NGNG
とりあえず、
VC++6.0ネットショップでは有ったので、
WIN2K上の動作確認、
情報くだせーな!
0950デフォルトの名無しさんNGNG
.netはVS.NET/VC++7.0
要するにバージョン刷新があったって事。
VC6.0は2k上で動くし、2k用にインストールマニュアルもついてくるが、
統合環境でビルドを行うときに不正終了することが結構ある。
0951デフォルトの名無しさんNGNG
>>949
このまえOSを98から2000にアップグレードしたんですが、
VC6はちゃんとうごいてますよ。
0952いさましいチビNGNG
950超えたので、新スレ作りました。
速やかな移行をおねがいします。
http://pc.2ch.net/test/read.cgi/tech/1017843192/l50
0953943NGNG
どうもありがとうございます。
これで、心置きなく、VC6が買えます。
こっちのほうが軽そうなので(汗)
こっちを買わさせて頂きますです。(汗)
0954デフォルトの名無しさんNGNG

>.netはVS.NET/VC++7.0
え、これマジ?
0955デフォルトの名無しさんNGNG
SDKアップデート
VC6切られるんじゃないかな
VC5切られてるし
0956デフォルトの名無しさんNGNG
>>954
cl[ENTER}
でバージョン情報見てみ。
0957デフォルトの名無しさんNGNG
>>956
いや、まだ買ってないから。。
0958デフォルトの名無しさんNGNG
>>954
MSC Ver.13.0 でしょ? (VC++.NET)

0959デフォルトの名無しさんNGNG
新スレ
http://pc.2ch.net/test/read.cgi/tech/1017843192/l50
0960前スレの902NGNG
遅くなってすみません。

前スレの902より
>Ctrl + Alt + Del で強制終了出来なくする方法ってありますか?
と聞きました。

>>904
それだと、9xでは大丈夫でしょうが、NTでは無理みたいです。
動かすのはWin2000です。
SetWindowsHookExで低レベルキーボードフックをかけてみましたが、Ctrl+Alt+Delはなぜか
うまくいきません。
0961902NGNG
すみません、間違えました。
前スレじゃないです。
0962デフォルトの名無しさんNGNG
tesy
0963デフォルトの名無しさんNGNG
  
0964デフォルトの名無しさんNGNG
    
0965デフォルトの名無しさんNGNG
     
0966デフォルトの名無しさんNGNG
           
0967デフォルトの名無しさんNGNG
         
0968デフォルトの名無しさんNGNG
                           
0969デフォルトの名無しさんNGNG
                                    
0970デフォルトの名無しさんNGNG
                 
0971ぺんぎんNGNG
あの〜怖い人ばっかですね。で、質問ですが昔のMicrosoft社のコンパイラTurboC
で、graph.hというヘッダファイルがあったらしいんですが、
VC++で何とか使う方法を教えてください。べつにDOSアプリケーションでなくて、
Windowsアプリケーションで使えればいいんで、graph.hに相当しているヘッダファイルを
教えてください。宜しくお願いします。
0972デフォルトの名無しさんNGNG
あえていうなら WINGDI.H
それと、TurboCはBorlandのコンパイラ。間違えるなよ。
0973デフォルトの名無しさんNGNG
   ||
   ||
 ∧||∧
(  ⌒ ヽ  
 ∪  ノ
  ∪∪
ナンデ ツギノスレヨリ アガッテンダ・・・
0974デフォルトの名無しさんNGNG
  |
  |
  |
  |
  |
/\ ∧ /\   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
/\(∧ ∧/\ <ageで質問した >>971 がアフォだから
/\(,,゚Д゚)/\  \________
0975デフォルトの名無しさんNGNG
               / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄'\
               |    埋めるよろし!   .|
               \             ../
                 ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄
                     .∧ ∧
              .∧ ∧    (゚Д゚,)    ∧_∧     ∩
  。.。。  ∧ ∧   (゚Д゚,)     /  |     (。 。,)    ∧^∧   ∩   ・:.・.:’・
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0976デフォルトの名無しさんNGNG
|| ___..|| ___..|| ___..||
|| ∩_∩..||  ∧∧ ||   人  ||
||.( ´∀`).|| (゚Д゚,,) .||  ●● ||
|| ___..|| ___..|| ___..||
|| | ̄ ̄ ノ || | ̄ ̄ ノ || | ̄ ̄ ノ ||
||  ̄ノ ノ. .||  ̄ノ ノ. .||  ̄ノ ノ. .||
||  ノ__ノ. .||  ノ__ノ. .||  ノ__ノ. .||
||  ̄ ̄ ̄..||  ̄ ̄ ̄..||  ̄ ̄ ̄..||
|| ∧ ∧ ||   人  || ∧ ∧ ||
||..( ・∇・)..||  ●● ||..(・Д・ )..||
||  ̄ ̄ ̄..||  ̄ ̄ ̄..||  ̄ ̄ ̄..||
0977デフォルトの名無しさんNGNG
        , ―- _       _ -― 、
        ヽ     \__/      ノ
          \            /
           ヽ. ,―、  ,―、  /      , ―-o、
          / l |__ V__ | /ヽヽ    、三`  二つ
        〃  ヽ八_・_八_・_八/  ヽヽ      } (
    , -l⌒ヽ\_  _| ,、__,、 |   /―- 、  ) )
    |  ヽ `ー一´_ 人 `二二´ ノ _/○    |,-( (
  (  ̄ ̄      ノ) \   | |  / ○   /'V~( ̄ヽ
   l二=      ノ ○ \V/  ○    ノ  l_ (   }
   (__ -― 7  /|ヽ  ○, ― 、○     /   / (_ノ
    |     `-´/ |   {(°)}          //| ||
    |      | /   |  `ー−´        /´  ノ ノ|
    |      /    |            /   { { |
    }     {      ヾ\     _ノ    |   | | |
    {    |      |   ̄ ̄          | | |
    ヽ_   |      ` ――           _| |ノ
    (  ̄ >―----               ̄ | |)
      ̄ ` ―-――――----―――― ´ ̄|」
0978デフォルトの名無しさんNGNG
    。o 0 〇 ○  ○
   □□
   □□    ■■■■■■
   □□■■■■■■■■■■
   □■■■■■■■■■■■■■
 ■■■■■■■■■■■■■■■■■
   ■■■■■■■■■■■■■■■
   ■■          Zzz...        ■■
   ■■      ∧∧            ■■
   ■■  Zzz. (- - )⌒⌒⊇?    ■■
   ■■    ~~~~~~~~~~~~~~~~    ■■
   ■■■■■■■■■■■■■■■
   ■■■■■■■■■■■■■■■
0979デフォルトの名無しさんNGNG
  ∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  (,,゚ー゚)< なんつったりちて
 @_) \________
0980デフォルトの名無しさんNGNG
  ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (,,・ー・)< なんつったりちて
 @_)  \________
0981デフォルトの名無しさんNGNG
  ∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  (,,゚д゚)< なんつったりちて
 @_) \________
0982デフォルトの名無しさんNGNG
  ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (,,・д・)< なんつったりちて
 @_)  \________
0983デフォルトの名無しさんNGNG
  ∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  (,,゚∀゚)< なんつったりちて
 @_) \________
0984デフォルトの名無しさんNGNG
  ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (,,・∀・)< なんつったりちて
 @_)  \________
0985デフォルトの名無しさんNGNG
  ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (;=д;=) < なんつったりちて
 @_)  \________
0986デフォルトの名無しさんNGNG
  ∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (,,´ー`)< またーりまた−り
 @uu) \________
0987デフォルトの名無しさんNGNG
       
0988デフォルトの名無しさんNGNG
  
0989デフォルトの名無しさんNGNG
 
0990デフォルトの名無しさんNGNG
              
0991デフォルトの名無しさんNGNG
                       
0992デフォルトの名無しさんNGNG
新スレ
http://pc.2ch.net/test/read.cgi/tech/1017843192/l50
0993デフォルトの名無しさんNGNG
          
0994デフォルトの名無しさんNGNG
新スレ
http://pc.2ch.net/test/read.cgi/tech/1017843192/l50  
0995デフォルトの名無しさんNGNG
新スレ
http://pc.2ch.net/test/read.cgi/tech/1017843192/l50    
0996デフォルトの名無しさんNGNG
ume
0997デフォルトの名無しさんNGNG
 
0998デフォルトの名無しさんNGNG
    
0999デフォルトの名無しさんNGNG
       
1000デフォルトの名無しさんNGNG
新スレ
http://pc.2ch.net/test/read.cgi/tech/1017843192/l50  
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。