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

■ VisualC++(MFC限定)相談室 MFC6.dll■

レス数が1000を超えています。これ以上書き込みはできません。
0001MFCNGNG
■ VisualC++(MFC限定)相談室 5■
http://pc3.2ch.net/test/read.cgi/tech/1028553308/
0002デフォルトの名無しさんNGNG
2
0003デフォルトの名無しさんNGNG
ld ./mfc6.dll

?
0004デフォルトの名無しさんNGNG
このスレは冗談で作られたネタスレです。

すでに削除依頼済ですので、今後は書き込まないようにお願いします。

本物のスレは↓こちら。

http://pc3.2ch.net/test/read.cgi/tech/1028553308/
■ VisualC++(MFC限定)相談室 6■
0005デフォルトの名無しさんNGNG
>>4
次スレってことでしょ?
0006デフォルトの名無しさんNGNG
スレタイがダサい。削除依頼行きだね。
00071NGNG
皆様申し訳ございません。
目立ちたくてスレたてますた。
今後このようなことがないよう致します。
0008デフォルトの名無しさんNGNG
8
0009デフォルトの名無しさんNGNG
つーか俺が>>1でほとんどのMFC過去スレも俺が立ててきたんだけど
そろそろちょっと変えてみようかなーと思っただけで・・・
0010デフォルトの名無しさんNGNG
まあ、本質が変わるわけでなし。
0011デフォルトの名無しさんNGNG
>>10
名前変えると荒らされるぞ。どっかみたいに。
0012デフォルトの名無しさんNGNG
このスレが生き続けてくれるということは、正直、うれしいというかほっとする
というか・・・
0013デフォルトの名無しさんNGNG
まだまだ、需要があるんだなぁと・・・
0014デフォルトの名無しさんNGNG
ウィンドウを2列に分けて、左の列は2行、右の列は1行
に分けて、それぞれにビューを表示したいのですが、
以下のようにすると最初に表示した段階で左の列が潰れてしまいます
左の列幅と右の列幅を3:1で最初は表示したいのですが
どう修正すればいいか教えてもらえないでしょうか

CSplitterWnd m_split;
CSplitterWnd m_subSplit;

BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
 CRect rect;
 GetClientRect(rect);

 m_split.CreateStatic(this, 1, 2);
 m_subSplit.CreateStatic(&m_split, 2, 1, WS_CHILD | WS_VISIBLE
   | WS_BORDER, m_split.IdFromRowCol(0, 0));

 m_subSplit.CreateView(0, 0, RUNTIME_CLASS(CView1),
   CSize(3*rect.Width()/4, rect.Height()/2), pContext);
 m_subSplit.CreateView(1, 0, RUNTIME_CLASS(CView2),
   CSize(3*rect.Width()/4, rect.Height()/2), pContext);
 m_split.CreateView(0, 1, RUNTIME_CLASS(CView3),
   CSize(1*rect.Width()/4, rect.Height()), pContext);

 return TRUE;
}
0015デフォルトの名無しさんNGNG
m_split.SetColumnInfo(0, 全体の75%, 適当)

でどうよ。
0016デフォルトの名無しさんNGNG
質問です。
ファイルからビットマップを読み込んで
ダイアログボックスのピクチャボックスで表示したいのですが、
ピクチャボックスのサイズがわからずフォームにあふれてしまいます。
ピクチャボックスのサイズってどうやったらわかるのでしょうか?
よろしくお願いします。
0017デフォルトの名無しさんNGNG
>>16
GetWindowRect
001816NGNG
>>17さん
ありがとうございました。
0019デフォルトの名無しさんNGNG
>>15
出来ました
ありがとうございました
0020デフォルトの名無しさんNGNG
スプリッタウィンドウで
複数のビューを表示するときに
入力するキーによって
受け取るビューを変えたいのですが
どうしたらいいでしょうか

たとえば数字キーなら左のビュー
エンターキーなら右のビューといった感じです
0021デフォルトの名無しさんNGNG
>>20
フォーカスがあるビューがメッセージ受け取るから、
両方でWM_KEYDOWNとか受け取ってキーによって振り分けりゃいいんじゃない?

例えば右のビューにフォーカスがあって数字キーが押された場合、
左のビューへSendMessageするとか。
002220NGNG
>>21
他のビューのSendMessageを起動するには
どのように記述すればいいのでしょうか
CView1とCView2があった場合
CView1のOnKeyDown内から
CView2のSendMessageを呼び出すことができません
0023デフォルトの名無しさんNGNG
>>22
他のビューへのポインタを取得してSendMessageすりゃいいじゃん。
0024デフォルトの名無しさんNGNG
WM_KEYDOWN受け取るのもキーによって振り分けるのも
CMainFrameでやった方が楽では?
0025デフォルトの名無しさんNGNG
CMainFrameで受け取れるならどうぞ。
0026デフォルトの名無しさんNGNG
あ、WM_KEYDOWNをそのままSendするのか。
>>24は無し。聞かなかったことにして。
0027デフォルトの名無しさんNGNG
そして他のビューへのポインタの取得方法がわからんとか言われる罠
CDocument::GetNextView()とか知ってんのかな……
002820NGNG
>>27
有難うございます
その通りでした

GetDocumentとかと同じでGetViewとかあるのかと思って
調べてたらCRichEditViewのだったりするしで
悩んでるところでした
002920NGNG
>>27
すいません。また問題が出てきました。
GetNextView でゲトしたビューがどのビューなのかは
どのようにすればわかるのでしょうか。

すべてのビューにそれぞれが区別できる名前のようなものを
返す関数を作っといて、GetNextViewで得るごとにそれを呼び出して
調べていくという方法を考えているのですが、
もっと手っ取り早い方法があるのでしょうか
0030デフォルトの名無しさんNGNG
GetRuntimeClass を知らないのだろうか
0031デフォルトの名無しさんNGNG
MSDNライブラリを調べようという気はないのだろうか
0032デフォルトの名無しさんNGNG
ダイアログにピクチャボックスがあります。
そのピクチャボックスの中をOpenGLを使って描画しているのですが
アニメーションするとちらついてしまいます。
このチラツキをなくすにはどうすればよいでしょうか?
0033デフォルトの名無しさんNGNG
Titleバーなしのポップアップウインドウを作ったのですが、
これをマウスで移動できるようにする方法ってあるでしょうか?
左右の枠の部分をつかんで移動できるようにしたいのです。
ご存知の方教えてください
0034デフォルトの名無しさんNGNG
>>32
OpenGLはよくわからんけど、InvalidateRectとかその辺が役に立つかもしれない。

>>33
WM_LBUTTONDOWN捕まえればいいと思うけど。
0035デフォルトの名無しさんNGNG
>>33
OnNcHitTestでおまじない唱える
003629NGNG
>>30
知りませんでした
どうもありがとうございます

>>31
MSDNライブラリ調べてますよ
ただ他人のソース読んでて知らない関数やら出てきたときは
役に立つんですが、このような動きをする関数を知りたいってときに
うまく調べられません。検索時にキーワードとなるようなものを
まだあまり知らないので
0037デフォルトの名無しさんNGNG
CHtmlViewのWebBrowserって右クリックするとIEと同じ右クリックメニューが出ますが
これを右クリックしても出ないようにする方法ってありますか?
あとHTML表示用のコントロールってないんですかね?
0038デフォルトの名無しさんNGNG
http://japan.pinkserver.com/under/index.html
勝手に他人のサイトを直リンク!!
「法的根拠はない!!」
「だから直リンしてます」
ハァ?
ネチケットも守れない痛い厨のサイト晒し
0039デフォルトの名無しさんNGNG
pinkserverってアダルトサイトじゃなかったっけ? 宣伝か?
0040デフォルトの名無しさんNGNG
>>37
http://www.codeguru.com/ieprogram/index.shtml
ここの
How to Modify/Remove Right-Click Menu in IE WebBrowser Control
って記事参照。
0041デフォルトの名無しさんNGNG
>>38
ネチケットどころか常識的な事ですら理解してないのが一杯いる2chで言われても…
0042デフォルトの名無しさんNGNG
ダイアログで
  DragAcceptFiles(TRUE)を呼ぶ のと WS_EX_ACCEPTFILES をつける
のはどう違うんですかね?
004337NGNG
>>40
うぉ!サンクス!
ただisThisOurBrowser()うんたらのとこがよくわからなかった・・・
別にこれでいいと思うんだけどどうかな。
-------------------------------------------------------
BOOL CHtmlTestView::PreTranslateMessage(MSG* pMsg)
{
if ( (WM_RBUTTONDOWN == pMsg->message) ||
(WM_RBUTTONDBLCLK == pMsg->message) ){
return TRUE;
}

return CHtmlView::PreTranslateMessage(pMsg);
}
-------------------------------------------------------
0044デフォルトの名無しさんNGNG
>>43
isThisOurBrowser()の上の説明を読むと、ネストされたフレームの場合を考慮してるみたいね。
<FRAMESET>とかのことじゃないかな?
0045デフォルトの名無しさんNGNG
前スレが冬厨により上げられたのでage
0046デフォルトの名無しさんNGNG
>45

うるせえ!冬坊が!
0047デフォルトの名無しさんNGNG
すみません
VC6.0でSDI環境で作業したいのですが
手段はないでしょうか
0048デフォルトの名無しさんNGNG
nmakeと、自分の好きなSDIなエディタ使う
0049デフォルトの名無しさんNGNG
別プロセスでコンソールアプリが動いていて
そいつがあるファイルを出力するまで
もう一方のプロセスで「しばらくお待ちください」と書かれた
ダイアログを表示しておいて、ファイルが出力されれば
それを自動的に消したいのですがどのようにしたらいいのでしょうか。

しばらくお待ちくださいとだけ書いてOKボタンとキャンセルボタンを取り去った
ダイアログをCDialogの派生でCWaitDlgとして作って
表示するのはDoModal()みたいだったので、DoModal()中に
以下のようにして一定時間ごとにファイルが出来てるかチェック
して、できてればダイアログを閉じようとしてるんですが、
呼び出してもダイアログが表示されません。
たぶんDoModal()に書いてることがおかしいんだとは思ってるんですが、
どうすればいいのかわかりません。

int CWaitDlg::DoModal()
{
while(1){
if( ::GetFileAttributes(ファイル名) != 0xFFFFFFFF ){
remove(ファイル名);
break;
}
Sleep(1000);
}

return 0;
}
0050デフォルトの名無しさんNGNG
>>49
DoModalを抜けてからじゃないとダイアログ表示されないよ。
ダイアログを表示してから何か処理したかったらWM_INITDIALOGのハンドラに書こう。

あまり上手な設計とは思えんが…。
0051デフォルトの名無しさんNGNG
>>49
思わず笑ってしまった。
プログラムは練習のために書いてんだよな?
0052デフォルトの名無しさんNGNG
>>50
下のようにしてみて
DoModal()を呼び出してみても
止まってる感じはするんですが
ダイアログが表示してくれません。

BOOL CWaitDlg::OnInitDialog()
{
CDialog::OnInitDialog();

while(1){
if( FileExist("visu_finish") ){
remove("visu_finish");
break;
}
Sleep(1000);
}
EndDialog(0);

return TRUE;
}

>>51
ヽ(`Д´)ノウワァァァァン練習のためじゃないんだよぅ
でも人に渡したりするようなものじゃないです
自分が使うためのソフトです
0053デフォルトの名無しさんNGNG
ごめんなさいさっきと変わりました
#define FileExist(s) ::GetFileAttributes(s) != 0xFFFFFFFF
こういうことです
0054デフォルトの名無しさんNGNG
>>52
お前馬鹿だろ…
OnInitDialogで無限ループ組んでていつWM_PAINTとか受け取るつもりだ?
ワーカースレッド作れよ。
005552NGNG
>>54
ダイアログ表示中はユーザに何もしてほしくなくて
スレッドみたいに並列処理のイメージをもっていなかったので
ダイアログ表示、ファイルチェック、ダイアログ消去の順番で
出来ると思ってました。
スレッドにしたらできました。ありがとうございます
0056デフォルトの名無しさんNGNG
C++.netでMFC6を使用したプログラムの動作について質問です。
Windows2000+ServicePack2ではきちんと動くのですが
Windows2000のノーマルだと動作があやしくなってしまいます。
具体的には
リストボックスがパチパチ点滅してしまい、選択できない。
どっかで暴走してるように重くなる。
という現象がおきています。
これはどのようなことが考えられますでしょうか?
0057デフォルトの名無しさんNGNG
>>56
サービスパックで修正されたバグ
0058デフォルトの名無しさんNGNG

なるほどServicePackのバグということで解決と思ったのですが、
windows2000のノーマルでも動いてしまいました・・・(TT)

またいままでとはまったく別のマシン
win2000+ServicePack2
XPノーマル
でも動作できませんでした。
これにはどのような原因が考えられますでしょうか?
もちろんともにVS.netは入れていません
0059デフォルトの名無しさんNGNG
MFCのスタティックライブラリを使ってもそうなる?
0060デフォルトの名無しさんNGNG
>>58
> これにはどのような原因が考えられますでしょうか?

多分、貴方のバグ。
0061デフォルトの名無しさんNGNG
>リストボックスがパチパチ点滅してしまい、選択できない。
ふつうにリストボックス貼り付けただけのダイアログでもそうなりますか?

>どっかで暴走してるように重くなる。
これは自分のバグでしょ。
0062デフォルトの名無しさんNGNG
点滅ってのは再描画のことだろうな。
どっかで無限ループしてるぽい。だから入力も受け付けないんだろう<選択できない。
0063デフォルトの名無しさんNGNG
IEコンポーネント使わずにローカルにあるHTMLファイルを解析して
任意の位置に表示したいんだけど、やっぱ自作するしかない?
その場合はリッチテキストコントロールを継承して作るのかな。
どこかのサイトで、そういった自作クラス公開してないかな・・・
結構需要あるように思うんだけど。
0064デフォルトの名無しさんNGNG
www.mozilla.orgにありますよ
0065デフォルトの名無しさんNGNG
>>63て何かMFCと関係あったのかな。独り言なら他に逝って欲しいな。
006663NGNG
>>64
どのクラスがそれに当たるのか簡単にわかるもんかな。
とりあえずソースダウンロードしてみようっと。
0067デフォルトの名無しさんNGNG
VC.netってどうなの?
0068デフォルトの名無しさんNGNG
ぼちぼちでんな。
0069デフォルトの名無しさんNGNG
OpenSSLをラッピングしたようなクラス
転がってませんか?
www.openssl.org
0070デフォルトの名無しさんNGNG
>>69
調べてないけどCodeGuruにないか?
0071MFC使ってるとかの判定NGNG
.cpp内でプロジェクトが「MFCを使っている」・「MFCのstaticリンク」・「MFCの共有DLL使用」の
判定にはどのようにすればよいのでしょうか?

MFCのDLL使用の場合は
#ifdef _AFXDLL
で、できるようですけど。
よろしくお願いします。
007271NGNG
「MFCを使っている」は「MFCを使っていない」の間違いです。
0073デフォルトの名無しさんNGNG
*.cppじゃムリだろ…
*.dspファイルに書かれていることだし。
何か間違った認識をしているような気がしてならない。
007471NGNG
>>73
やりたいのはプログラムのソースを使いまわしたいときに
#include "stdafx.h"
がいるときといらないときがあるためです。
アップウィザードでMFCのプロジェクトを作った場合 stdafx.h が必要ですけど(pchの設定そのままの時)
そうでない場合や他のコンパイラを使用する場合には stdafx.h は不要ですので、

#ifdef _AFX
#include "stdafx.h"
#endif

こんな感じで使いたかったんですけど。(ダミーの stdafx.h 作ったほうがはやい?)
0075デフォルトの名無しさんNGNG
>>74
おいおいstdafx.hはMFCを使っているかどうかは関係ないぞ。
MFCを使わないWin32アプリでも使う。
0076デフォルトの名無しさんNGNG
>>71
_MT
_DLL
_AFX
これで大抵いける。
だが、これと>>74のpchの話のつながりが分からないぞっと。
0077デフォルトの名無しさんNGNG
>>74
プリコンパイル済みヘッダって知ってますか(藁
007871NGNG
レスどーもです

>>75
スマソ、他のコンパイラを使用する場合とかです。

>>76
もう帰っちゃったので明日試してみます。でも、_AFXは AfxVer.h で定義されていて
stdafx.hをインクルードしたあとでなければ判断できないのでは

それとも自分でコンパイルオプション(/D)を指定したほうがいいんでしょうか?
0079デフォルトの名無しさんNGNG
>>77
すんません、どうゆうつっこみかよくわからないんで説明してください。
0080デフォルトの名無しさんNGNG
なんか質問の主旨が変わってきてる。
最初はMFC不使用/使用/DLLを区別したいとあったはずだが
いつのまにかプリコンパイル済みヘッダの使用/不使用の話に。
とりあえずMFCスレとは関係ないということはわかったが・・・
コンパイラを変えるならVC固有のマクロに頼ること自体おかしいと思う。
008171NGNG
>>80
やりたいことは>>74での stdafx.h のインクルードをする・しないの判断です。
VCのアップウィザードでプロジェクトを作るとプリコンパイルドヘッダーの設定で stdafx.h が
指定されます。そのため .cpp に #include "stdafx.h" が必要になります。
で、この .cpp(1つぐらい) を他のプロジェクトでも使用するとき、そのプロジェクトが
BC++Builderとかの場合は、ふつう #include "stdafx.h" は、いりませんし、ありません。

このようにVCプロジェクトとBCBプロジェクトが.cppを共有しているような場合に
stdafx.h のインクルードをする・しないの判断ができるのかしりたかったのです。

>最初はMFC不使用/使用/DLL
これはVCの時はほとんどMFCばかり使ってるのと、アップウィザードでMFC、DLLを使用に
するとコンパイルオプションで /D _AFXDLL が指定されるのがわかったので、ほかの場合にも
なにか定義されているのかもと思ったからです。

スレ違いになってきたので、このことについてはこれまでにします。
0082すごくしょしんしゃNGNG
MFCを使っています。

マイコンピュータのようなものを作りたいのですが、どういう風に作ったらいいかわかりません。
具体的には、今リストコントロールを用いてそれらしいものを作っていたつもりだったのですが、
「大きいアイコン」や「小さいアイコン」の表示の時にマイコンピュータのように、マウスでアイコンを動かして規則的でない任意の位置に動かせません。ドラッグ状態にもならんです。

それと、ドラッグについて質問です。外からドラッグしてこられたものが、ドロップされた、というのは

OnDropFiles(HDROP hDropInfo)

を利用することでなんとか処理することができましたが、逆に、自分の作っているアプリから、(デスクトップや他のアプリケーションなどに)外にドラッグしてドロップする、という方法がわかりません。

方法を知ってらっしゃる方がいましたら、お願いします。。
0083デフォルトの名無しさんNGNG
>>82
>リストビュー
作成時にLVS_AUTOARRANGEを外す。

>ドラッグ
COleDropSourceとかその辺調べてみな。
0084すごくしょしんしゃNGNG
>>83

どうも、ご親切にありがとうございます。
キーワードを頼りにもう一度調べてみます!!
0085すごくしょしんしゃNGNG
>>83

void C***List::PreSubclassWindow()
{
// TODO: この位置に固有の処理を追加するか、または基本クラスを呼び出してください
this->ModifyStyle(LVS_AUTOARRANGE,NULL);
CListCtrl::PreSubclassWindow();
}

のようにしてLVS_AUTOARRANGEを削除したつもりなんですが、どうも変化がないです。
ここで他のスタイル変更などは試してうまくいっているので、恐らく変更のタイミングじゃないと思うんですが・・・
0086デフォルトの名無しさんNGNG
>>85
アイテムのD&Dは自前で動かしてたような…。
http://www.codeguru.com/listview/DragDropListCtrl.html
0087忘れた……NGNG
ちょっと板違いなきもしますがプラットフォームがMFCなので。。

LANにぶら下がっているマシンの自分のアドレスが欲しいのですが欲しいのはネットワークアドレスじゃなく
グローバルアドレス。gethostname→getbyname(だったかな?)でとるとネットワークアドレスになってしまいます。
この状態でも確認くんなどにつなぎに行くとちゃんとGIPがみれますがこれが欲しい。
この場合HTTPでつなぎに行ったときにルータのNATやらで与えられるIPだからアプリからはどうしようもないのかな。
どうなんでしょ。この変詳しい人いますか?
0088デフォルトの名無しさんNGNG
>この状態でも確認くんなどにつなぎに行くとちゃんとGIPがみれますがこれが欲しい。
そりゃゲートウェイやルータのIPアドレスでしょ?
0089デフォルトの名無しさんNGNG
>>87
こんなんでましたけど。
http://forums.belution.com/ja/vc/000/065/62s.shtml
0090すごくしょしんしゃNGNG
>>86

半透明になってアイコンがドラックされた状態になってマウスカーソルとともに動いていくっ
っていう動くではなく、
>>85で言いたいのは、自動整列になっていないデスクトップやマイコンピュータのように、
自由にアイコンを配置できるようなことです。
0091デフォルトの名無しさんNGNG
>>82
抽象的すぎてよく分からん…
0092デフォルトの名無しさんNGNG
>>85
PreCreateWindowじゃなくて?
PreSubclassWindowが呼ばれたときってまだCreateは呼ばれてないと思うけど…。
0093すごくしょしんしゃNGNG
>>92
ダイアログにVCのエディタで作った(配置した?)リストコントロールなんですけど・・。
0094デフォルトの名無しさんNGNG
LVS_* の変更って、SetExtendedStyle() じゃなかった?
0095デフォルトの名無しさんNGNG
どこまで実装されているかわからないから答えるほうも大変だな…
0096デフォルトの名無しさんNGNG
>>94
それは LVS_EX_* の話よん
0097デフォルトの名無しさんNGNG
>>87
> 欲しいのはネットワークアドレスじゃなくグローバルアドレス。

最近は、こういう言い方するのか ?
0098デフォルトの名無しさんNGNG
分かってない奴は昔からそういう言い方をする
0099デフォルトの名無しさんNGNG
だからMFC使ってるからってだけでこのスレで質問するのはやめた方がいいって。
ネットワークプログラミングスレあるんだから。
自分の質問の要点はどこなのか冷静に切り分けていこうや。

>>85
そのソースみたところリストコントロールの派生クラスなんだから>>92の通りだ。
つーかスタイル変更したいだけならOnInitDialogあたりで
m_list.ModifyStyle(・・・);  // m_listはCListCtrl
でいいじゃないか。
0100デフォルトの名無しさんNGNG
>>88
そうだよね。

>>89
参考になります。ありがとう

>>97-99
うわっ、役にたたねぇ〜。。
0101デフォルトの名無しさんNGNG
はぁ・・・こいつは今後またここでMFCと関係ない質問するよ・・・
>>87で「板違い(スレ違いの間違いだろうな)なきもしますが」と
自覚してるのかと思いきや、ちょっと指摘されたらこの態度かよ・・・
0102デフォルトの名無しさんNGNG
>101
いいから消えろよ。テイノウ。
すこしは役に立つこと書けや。
スレ違いの間違い?ばかオマエ?
板違いのつもりで書いたんだよ。とっとと逝けや
0103デフォルトの名無しさんNGNG
>>102
( ´,_ゝ`) 煽り・叩きは厨房板へどうぞ。
0104デフォルトの名無しさんNGNG
(´-`)。oO( 本当に板違いだったというオチか…<厨房板へ )
0105デフォルトの名無しさんNGNG
まだ、VC6を使ってるものですけど、.netvcの新mfc(mfc70?)では、
Office2000や.netみたいなツールバー(Rebarっぽいツールバーバンドでのリサイズ&
フローティング&ツ−ルバーの自動サイズ変更)はサポートされてるんでしょうか?
0106デフォルトの名無しさんNGNG
>103

>104

うっさい、ハゲ
0107デフォルトの名無しさんNGNG
>>105
VC6でも実現できると思いますが。
0108デフォルトの名無しさんNGNG
>>106
いいから消えろよ。テイノウ。
少しは役に立つこと書けや。
0109105NGNG
>>107
VC6だとやっぱり、CToolberにツールバーバンドでのリサイズ&
ツ−ルバーの自動サイズ変更の処理をオーバーライズさせるですよね。
(Rebar使うとフローティングにならなかった様な気がするので・・・)
0110デフォルトの名無しさんNGNG
ビットマップの再描画の方法おしえてください
6.0です
0111デフォルトの名無しさんNGNG
読み直しゃいいんでない?
0112デフォルトの名無しさんNGNG
>>110
まったく状況がわからん。
質問するならもっと状況を説明しろよ。
0113デフォルトの名無しさんNGNG
悪い質問の仕方の見本だな。
0114デフォルトの名無しさんNGNG
>>110は単発スレまで立っているので答える価値なしです
0115デフォルトの名無しさんNGNG
VC++6.0SP5 & Win2000です。
サイズ可変ダイアログでタブコントロールがリサイズ時にちらつくのは何故でしょう?
同じダイアログに貼り付けたツリーコントロールはリサイズしても全くちらつきません。

0116デフォルトの名無しさんNGNG
>>115
再描画してるからじゃないの?
0117115NGNG
>>116
ですよねぇ。
ツリーコントロールがちらつかないのは内部でちらつかないように処理してるのかな?

ちなみにCWnd::MoveWindow()でリサイズしてます。
bRepaintをFALSEにするとちらつかないけど再描画もされない…(当たり前か)。
0118デフォルトの名無しさんNGNG
>>117
WM_ERASEBKGNDとか
0119107NGNG
>>109
これなんかどうよ。
ttp://www.codeproject.com/docking/tearoffrebars.asp
0120109NGNG
>>119
おおー、なるほどReBarのほうをオーバーライズするんだ。
うん?フローティング時のSIZE_DYNAMICは効かなくなるのか?
早速TearoffReBarを移植してみよっと!♪
本当に助かります。ありがとうございます。
0121デフォルトの名無しさんNGNG
オーバーライズ…なんか(・∀・)カコイイ!
0122デフォルトの名無しさんNGNG
複数形だな

聞 い た こ と な い け ど
0123デフォルトの名無しさんNGNG
>>122
三単現だろう。
本人とVC++以外の第三者がオーバーライドするのだ。
コワー。
0124デフォルトの名無しさんNGNG
>108


謝れとは言いませんがこちらもちょっと大人気ないのですが
ムカついたので友達のハッカーに頼んであなたの個人情報を
探してもらうことにしました。あ、もう遅いですよ。
もうすでに友達解析始めちゃってますから・・・(^^;
ちなみにこれは自慢じゃないんですがその友達は日本でも
5の指に入るくらいの凄腕のハッカーです。
この前彼の家に遊びに行ったらものの5分で他人の個人情報を
抜き取っていました。
彼にとってそれくらい赤子の指をひねるくらいの行いなんですよね(爆)
これであなたもいっかんの終わりってやつですね(^^;
まあせいぜい後悔してくださいね。
それからもう二度と荒らしはしないこと(その友達は荒らしが大嫌いらしいです。
荒らしを見つけたら即解析に入るみたいです。(^^;)
それでは、う〜ん二日後くらいかな?また例のところに来てくださいね。
あなたの住所本名住所その他もろもろのせておきますんで(笑)
あ、警察とかに言ったって無駄ですよ。
あなたは荒らし(犯罪)なんだから通報したところで捕まるのは アナタです
友達は掲示板のログを自在に操ることができるんです。
と、いうことでbye♪(^O^)/~~
0125デフォルトの名無しさんNGNG
>124
漏れもハックしてくれ。頼む。
0126デフォルトの名無しさんNGNG
なつかしいコピペだな
最近増えてるけど、リバイバルブーム?
0127デフォルトの名無しさんNGNG
MFCのCReBarで使うことのできるメニューバーの
作り方をご存知の方いませんか?
codeguruやcodeproject探したが見つかりませんでした
0128デフォルトの名無しさんNGNG
>>127
codeguruのサンプルをちょっとだけ改造すればできるよ
0129デフォルトの名無しさんNGNG
>>128
codeguruを見てみましたが、見当がつきませんでした。
何かヒントをいただけないでしょうか。
よろしくお願いします。
0130デフォルトの名無しさんNGNG
>>129
猫でも分かる〜に書いてあるよ。
0131デフォルトの名無しさんNGNG
>>129
ホントか?
http://www.codeguru.com/menu/index.shtml
ココ見て分からんようなら他さがせ。
0132デフォルトの名無しさんNGNG
nafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) はすでに LIBCMTD.lib(new.obj) で定義されています
nafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) はすでに LIBCMTD.lib(dbgdel.obj) で定義されています
Debug/mm2080.exe : fatal error LNK1169: 1 つ以上の複数回定義されているシンボルが見つかりました

このようなエラーがたびたび出てくるんですが解決方法は
ttp://hornet-web.hp.infoseek.co.jp/tips/tips.html#10
こちらで正解なんでしょうか?
一度ワークスペースからファイルを外して、再度構築したら直ってしまったりと、
ちょっとよくわかりません。
0133デフォルトの名無しさんNGNG
JavaのGUIアプリを移植したいです
mainで常に走っているスレッドがあります
そのスレッドはどこで生成すればよいのでしょうか?
InitInstance()でしょうか?
またはmainの内容を
InitInstance()に書けばよいのでしょうか?

あと,キー入力を
そのスレッドに渡したいのですが
どのように実装すべきでしょうか?

MFCはイベントドリブンとききました
上のようなことは不可能でしょうか?

0134デフォルトの名無しさんNGNG
>>133
Javaにできることだったら、多少めんどくさくなろうともなんでもできる。

詳しいことがわからないから断言はできないけど・・・

>スレッド
InitInstanceで多分大丈夫。InitInstance中でもいろいろな
処理がWizardによって追加されてるので、前後関係をよくみながら。

>キー
やり方はいろいろあると思うが、スレッド中でメッセージループ作って、
PostThreadMessageで投げるとか
0135デフォルトの名無しさんNGNG
プッシュボタンを「押しっぱなし」というのはどうやって見るんでしょうか?
ClassWizardでメッセージマップを開いても「クリック」と「ダブルクリック」の
イベントしか出てこないし、「クリック」だと離した後に起こるイベントですし。
0136135NGNG
えーと、もしかして CButtonを派生させてクラスを作って
そのクラスで PreTranslateMessageをオーバーライドして
WM_KEYDOWNとか捕まえて処理する、んでしょうか?
0137135NGNG
あぁ・・・WM_KEYDOWNじゃないですよね。
少しもちつきます。
0138135NGNG
一人で勝手にすみません。
PreTranslateMessageじゃなくて、CButtonを派生させたクラスの
WM_LBUTTONDOWNやらWM_LBUTTONUPでやるっぽいすね。
0139135NGNG
そしてそれを、ボタンを配置してる親ウィンドウに
どうやって押されてる/離された を通知してイベントを起こすのかが、
今の悩みなわけですが・・・教えていただけませんでしょうか。
0140デフォルトの名無しさんNGNG
なんか適当なメッセージを定義して、
親ウィンドウにSendMessageしてやったらいいんでないかね。
0141135NGNG
>>140 おーやっぱそうですか。
実は SendMessageは今までに何度か使おうとして
挫折してたから、今いろいろ使い方を調べてるとこです。
0142デフォルトの名無しさんNGNG

もうちょっとでクリスマス。。★彡
パートナーは見つかりました?(o^.^o)

http://petitmomo.com/mm/
ここがちょっぴりエッチ系のめぐが運営している出会いサイトです。
もしよかったら使ってみて、、、
ヨロシクです。

めぐ(^o^)-☆
0143135NGNG
ヽ(´∇`)ノウワァァァイできたー
はじめてSendMessageつかえたよー
0144デフォルトの名無しさんNGNG
プログラム内でユーザー定義メッセージ使う場合はWM_APPより大きな値を使おう。
#define XXXX (WM_APP+1)
とか。
0145デフォルトの名無しさんNGNG
WM_APPとWM_USERの使い分けは、
前者はプロセス間、後者はプロセス内で使うといいかなー、
とか思ってたけど違うのか?
0146デフォルトの名無しさんNGNG
WM_USER through 0x7FFF Integer messages for use by private window classes.
WM_APP through 0xBFFF Messages available for use by applications.
らしい。
0147デフォルトの名無しさんNGNG
漏れは基本的にSDKプログラマだからSendMessageは日常茶飯事なんだが
MFCプログラマだとやっぱり>>141みたいなかんじなのかな?
(悪い意味じゃなくてね)
0148デフォルトの名無しさんNGNG
なんで>>141がMFCプログラマの代表であるかのように受け取ったのか問いたい
0149デフォルトの名無しさんNGNG
むしろ>>141はMFCの日本代表
0150デフォルトの名無しさんNGNG
>>147
俺はSDKほとんどつかったことないけどSendMessageはよく使うぞ。
皆がみんな「わかんない」だったらそういう印象受けるけど、
分かってないのは質問者だけっしょ?w
0151きよみNGNG
YESかNOかでお答えください。
0152デフォルトの名無しさんNGNG
CWndにもSendMessageあるんだから、
MFC=SendMessage使わないじゃないよ、知らない人向けに言っておくと。
メッセージ関連はクラスメンバとして隠蔽化されてるから
内部的にSendMessage使いまくりなのを知らない人も初心者にはいるだろうけど。
0153デフォルトの名無しさんNGNG
MFCのソースコード追いかけるとSendMessageだらけだね。
0154デフォルトの名無しさんNGNG
CFileExceptionのエラーコードを日本語に代える方法を教えてください。
0155デフォルトの名無しさんNGNG
エラーコードは数値ですが?
0156154NGNG
>>155
だからそれを日本語に変換する方法をおしえてと・・・
日本語っていってもエラーコード13を文字列の13に変換したいっていってるんじゃないよ。
0157デフォルトの名無しさんNGNG
>>154
それの基本クラスメンバを見てみる。
0158デフォルトの名無しさんNGNG
特に仕事で使う目的はないんだけど
VC++でTCP/IPを扱うお勉強するには
どんなプログラムを試作するのがいいと思いますか?
0159デフォルトの名無しさんNGNG
>>158
TCP/IPを扱うプログラム。
0160デフォルトの名無しさんNGNG
>>156
例外クラスのGetErrorMessageか、
APIのFormatMessageだよ、カス
0161145NGNG
>>146
あそっか。ウィンドウクラスを基準にするってことか。
WM_USERの方はそれでいいけどWM_APPの方は何度読んでも分からない
文章だよね。"available for use by applications"って
当たり前じゃん!まあMFCに作らせたウィンドウならWM_APPの方が
安全ってことかな。
0162デフォルトの名無しさんNGNG
>>154
                    , -──--- 、..____
                 ,、-‐'"::::::::::::::::::::::::::::::::::::::::::::::`` ー---、
               /:::::::::::::::::::/:::::::::::::::::::::::::::/::::::;:ィ´:::::::::::|
              /:::::::::::::::::::/:::::::::::::::::::::::::::/:::::::/:/::::::::::::ミヽ
                /::::::::::::::::/:::::::::::::::::::::::::::::/::::::::::/::::/:::::::::/:/:ハr'ヽ
            /::::::::::::::::/:::::::::::::::::::::::::::::::/::::::::::/::::/::::::/:/:::レ::イ::T:l
              /::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;ィ:::|:::::ハ::::::|::|::/|::::::|:::::::|
           /::::::::::::::::::::::::::::::::::::::::__::::::::::::::://|::ト、::L|::::|!:||:!/::::/::::|::!
           |:::::::::::::::::::::::::::::::::::::r'rヘヽ::::彡   |:! v!|--,.、`゙//:::::/リ
           |:::::::::::::/::::::::::/:::::::{ (⌒ |:r'´       ` 、l:/ ///l:/〃
          /:::::::::::/::::::::::/::::::::;ハヽ. |:!             |'´  '′
          /::::::::::/:::::::::::/:::::::/:::::::L°            ゙、
         /::::::::/:::::::/:::/::::::/::::::::::| l            _ ヽ
           /::::::::/:::::::/:::/::::::/::::::::::::|  l         ____r'´   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
         /:::::/:::::::/::::::::::::/::::::::::::::|          `7′  <  よくわからないモノを
     /::::::/::::::::::/:::::::::::::/ :::::::::::/           /      |  無理して使うからよ
    /:::::/::::/::::/::::::::::::::/ :::::::::::/二`ヽ、  `iヽ 、____/       \_________
   /:::::::::/:::/::::::::/::::::::::::彡.:::::::::::/三ミヽ、 ``=ヽ
   |:::::::::|::/::::::::::::/:::::::/:::/彡:::::∧`ヽ、 \三ミr'ヽ、
0163デフォルトの名無しさんNGNG
俺、この間まで WM_APPを使うべきところで、全部 WM_USER 使ってた。鬱。
0164デフォルトの名無しさんNGNG
>>158
勉強目的だったら既存のクラス使わないでAPIからソケットを扱う方がいいかも
0165デフォルトの名無しさんNGNG
CFontDialogで、
下線と取り消し線設定のチェックボックス表示は有効で、
色選択リストの表示を無しにするにはどうしたらよい?
(CF_EFFECTSは両方いっしょに制御しちゃう‥‥)
簡単な方法はあるだろうか?
0166デフォルトの名無しさんNGNG
>>165
簡単な方法・CFontDialogのところをダブルクリックしてF1を押しなさい。
0167デフォルトの名無しさんNGNG
クリックでも可
0168デフォルトの名無しさんNGNG
クラスの中でメンバ変数
CArray<CHoge, CHoge&> m_arrHoge;
が定義されているとして、
あるメンバ関数のなかで、
m_arrHoge.add(CHoge());
というようなことをした場合、
CHogeの実体はどこにあるの?

0169デフォルトの名無しさんNGNG
arrHogeのなか。
0170デフォルトの名無しさんNGNG
CTreeCtrlで、特定の子アイテムのみチェックボックスを
付けることは出来るのでしょうか?
0171デフォルトの名無しさんNGNG
>>170
できなかったら凄く面白い。
0172デフォルトの名無しさんNGNG
ttp://www.codeguru.com/treeview/simple_checkbox.shtml
こんなのくらいしかないな。
171は、どうやるのか教えれ
0173デフォルトの名無しさんNGNG
>>172
CTreeCtrlはSetCheckでチェックボックスが表示されないバグがある。
さらに、イメージリストを設定するとなぜか直るというバグ付き。
だからSetImageListでイメージリストを設定すればちゃんと動くのだが…
結構有名なバグだと思ったのに(´Д`;
#って、そこにかいてあるじゃん…
0174デフォルトの名無しさんNGNG
日本語の文字コードの変換処理に
http://www.vector.co.jp/soft/dl/win95/util/se020949.html
のnkf32.dllを使用しようとしているのですが、実行する時に
「序数 3 がダイナミック ライブラリ NKF32.dll から見つかりませんでした。 」
と出てうまくいきません。下のやり方は間違っているのでしょうか?

//-- test. cpp --
extern "C" {
#include <nkf32.h>
};

int main(){
 char buf[256];
 GetNkfVersion(buf);

 cout << buf << endl;
 return 0;
}
0175デフォルトの名無しさんNGNG
>>174
DLLの場所がおかしいだけだろ。
俺はできたぞ。
(Win2000SP2&VC++6SP5)
0176デフォルトの名無しさんNGNG
んでどこがMFCなのよ
0177デフォルトの名無しさんNGNG
>>175
大ボケしてました。(´Д`;)
ありがとうございました。

>>176
スレタイの "DLL" を見て脊髄反射的に…
0178デフォルトの名無しさんNGNG
スレッドの停止について質問です
OnDestroy()にてスレッドと、その内部で使っているオブジェクト(m_obj)を破棄します。
現在は以下のようにsleepで無理矢理同期させていますが、
正しくはスレッドが完全に停止し破棄された時のイベントか何かを待つのだと思います。
WaitForSingleObjectを入れていますが全く効いてません。
現在は停止イベント後もm_objのメソッドをスレッドが呼び出してしまいアクセスバイオレーションになります。
どうしたらいいですか?
XXX::OnDestroy()
{
 〜途中略〜
  if(m_EventThreadStop)
  {
    SetEvent(m_EventThreadStop);
    m_EventThreadStop = NULL;
  }
  if(m_pThread)
  {
    WaitForSingleObject(m_pThread, INFINITE);
    m_pThread = NULL;
  }
  ::Sleep(500);
  if(m_obj != NULL)
  {
    delete m_obj;
    m_obj = NULL;
  }
}
0179デフォルトの名無しさんNGNG
>>178
WaitForSingleObject(m_pThread->m_hThread, INFINITE); ?
0180デフォルトの名無しさんNGNG
VC++のスタンダード版なんですけど、
SP5のファイルをインストーラ使わずに直接cabを解凍して
適当にぶち込んだらMFCのスタティックリンク版が使えるように
なったり、最適化が出来るようになっちゃいました、で再びやろうと
思ったのですが、どうやってやったのか忘れちゃって。
誰か分かりますか?
0181デフォルトの名無しさんNGNG
今まで非MFCでやってたんですけど、仕事でMFCを使うことになりました。
ダイアログボックスの各コントロール扱い方なんですけども、
MFCのクラスウィザードでメンバ変数を作ってやるのと、それを使わないで
やるのと、どちらが一般的なのでしょうか?
私はとりあえず、クラスウィザードでメンバ変数を作成せずに、
下記のような感じでやりました。
class CDialog{省略
public:
 struct Data{
  CString strA;
  BOOL   bB;
 };
private:
 Data m_data;
};
0182デフォルトの名無しさんNGNG
>>179
ありがとう。ドンぴしゃ正解でした。
0183デフォルトの名無しさんNGNG
>>181
MFCを使うんなら、DDX,DDV使える既成のもの使ったほうがいいんじゃね?
0184デフォルトの名無しさんNGNG
>>181
>ダイアログボックスの各コントロール扱い方なんですけども、
>MFCのクラスウィザードでメンバ変数を作ってやるのと、それを使わないで
MFCのダイアログはコントロールに CString や int, BOOL などの変数を
結びつけることができるのが便利、コントロールのクラスを結びつけることもできる。
ダイアログのリソース作って、クラスウィザードでそのリソースのCDialog派生クラス作って
メンバ変数ページでコントロール選択して変数の追加でダイアログ上のコントロールに
結び付けられた変数を追加できる。カテゴリでコントロールを選択するとコントロールのクラスを
結び付けられる。エディットコントロールに文字列・数値などを入力するだけならカテゴリで
値を選択するのが楽。
自力でコードを書くこともできるけど、ウィザードを使うと楽。
変数とコントロールを結び付けてるのはDDX/DDVサポートのDoDataExchange()関数
エディット・ラジオボタン・チェックボックス・ボタンコントロールしか使わなかったら楽にできる
ボタンはメッセージBN_CLICKEDとかの処理。
0185181NGNG
>>183,134
どうもありがとうございます。
自分でコード書いちゃったよ。
こいつメンドウなことやってるなーって思われそうです。
時間あったら直しとこ。
0186デフォルトの名無しさんNGNG
ダイアログに貼り付けたCRichEditCtrlからの
NM_SETFOCUS、NM_KILLFOCUS、EN_SETFOCUS、EN_KILLFOCUSが
いずれも受け取れないのはどうして?
0187デフォルトの名無しさんNGNG
クラス生成してないとか?w
0188デフォルトの名無しさんNGNG
クラスウィザード使わずに手で打ってるとか?w
コモンコントロールでも取れないメッセージがあるみたいだからOnNotifyでぶんどりなされ。
0189デフォルトの名無しさんNGNG
VC++初心者です。
阿呆な質問かもしれませんが、VC++では例えばリストボックス
を改造してエディットボックスに変更したり出来るのですか?
0190デフォルトの名無しさんNGNG
>>189
継承しなされ。
0191デフォルトの名無しさんNGNG
>>189
改造せずにエジットボックス使え。
0192デフォルトの名無しさんNGNG
CDCクラスのRoundRectについて質問させて下さい!

CRect myRect;
CPoint myPoint;
の時、
(1) pDC->RoundRect(myRect, myPoint)
(2) pDC->RoundRect(&myRect, myPoint)

(2)の方が実行スピードは速いですか?
0193デフォルトの名無しさんNGNG
sample.dsp sample.cpp sample.rc sample.clw
sapleDoc.cpp sampleView.cpp Stdafx.cpp とこのようなもともとあるファイルで、
どのファイルをいじくれば編集できるのですか?(画像処理で色変換がしたいです)
初心すぎてすみません、教えてください
0194デフォルトの名無しさんNGNG
>>192
PerformanceCounter でも使って計測してみなはれ

ただ、最適化するのが目的ならもっと他に最適化する部分があると思うがな
0195192NGNG
PerformanceCounterってやつ調べてみます。
何分まだ覚えたてなので、
どうせなら、少しでも効率の良い方を覚えようと思いまして・・・
なんかでポインタを渡した方が速いっていうのを、
見た気がしたもので・・・
最適化なんてまだまだまだ先です。
レスありがと!
0196デフォルトの名無しさんNGNG
VC++6.0をSP5にあげてSDKバージョンアップして
#define WINVER 0x0500も加えたのですが、

CWnd::FlashWindowEx

が見つからないのです。どうすればいいですか?
0197デフォルトの名無しさんNGNG
>>196
FlashWindowExてWin32APIやん。
0198デフォルトの名無しさんNGNG
C/C++とは関係ないんですが
VisualC++(Ver6.0)にてCソース以外のファイルでも(拡張子がplとかjsとか)
キーワードに応じてテキストにカラーを付ける方法はないでしょうか?

perl固有のキーワードに個別に対応しないまでも
Cのキーワードに割り振ったテキストカラーだけでも表示してくれればいいんですが・・
0199デフォルトの名無しさんNGNG
自作のライブラリファイル(mylib.h, mylib.lib)の関数や構造体が
IntelliSenseやClassViewで表示されたり表示されなかったりします。
.libではなくソースを直接プロジェクトに登録すると表示されます。
どうすれば確実に表示されるようになりますか?

環境はVC6.0Pro SP5です。
0200デフォルトの名無しさんNGNG
Win2000上でMDIアプリを動かしているのですが、ウィンドウを切り替えたりすると
少しずつ使用メモリが増えていくのですが、こういうものなんでしょうか?
一度切り替えて表示したウィンドウを再度表示したりした場合は増えなかったりします。
0201196NGNG
>>197
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vclib/html/vclrfcwndflashwindowex.asp

今はWINAPIを直で呼び出して使っていますが、
せっかくあるものを使えないのが気持ち悪いのです。

MFCのソースのバージョンが古いのかなと思い、
探してみたけれど無料ダウンでは見つからず。
CWnd::FlashWindowが宣言されている
AFXWIN.H(154,220 バイト)の日付が98/06/15。。。
.NETを買うしかないのかな?

.NETを持っている方のAFXWIN.Hの日付を教えてください<(_ _)>
0202デフォルトの名無しさんNGNG
>>198
ない

>>199
確実に表示はできない。
IntelliSenseが表示されない場合は編集中のクラスのヘッダファイルを保存しなおす。
ClassViewも同様に、表示されないクラスのヘッダファイルを保存しなおせば現われたりする。

MFC関係ないんなら次からはこっちで聞いとくれ。
ttp://pc3.2ch.net/test/read.cgi/tech/1038160750/l50

>>200
どこかでメモリリーク起こしてないか?
0203デフォルトの名無しさんNGNG
>>200
子ウィンドウを作ったらその分使用メモリは増えるが、切り替えるだけなら変わらないはず。
0204デフォルトの名無しさんNGNG
>>198
言語を追加する方法は見つけられなかったが、
HKEY_CURRENT_USER\Software\Microsoft\Devstudio\6.0\Text Editor\Tabs/Language Settings\C/C++
以下のFileExtensionsに拡張子を追加するとC/C++のソースと見なされる。
あとはusertype.datに書いておけばいい。

>>199
ヘッダをプロジェクトに入れれば出ると思う。
Intellisenseだけ出したいのなら、そのクラス・関数の情報が入ってる*.ncbを持ってきて、
自分のプロジェクトのncbとすげ替えると出たりする。
0205デフォルトの名無しさんNGNG
>>202
メモリリークは起こってない・・・・と自信をもって言えないのが情けないのですが、
普通はやっぱりウィンドウを切り替えた位ではメモリ使用量は増えないですか・・・。

>>203
例えばあるボタンを押した時にダイアログを表示するような処理で、ダイアログを表示して
ダイアログ上でOKボタンなどを押して消した場合、メモリ使用量はダイアログ表示前と
同じでなければ、何かしら問題があると考えた方がいいですか?
0206IP記録実験NGNG
IP記録実験
http://qb.2ch.net/test/read.cgi/accuse/1042013605/

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

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

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

73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。
0207デフォルトの名無しさんNGNG
デバイスコンテキストの取得について教えてください。
ビュークラスの中で取得するのは簡単なのですが、他の場所、例えば自作クラスの中で取得するには
どうしたらいいんでしょうか。自作クラスにビューに描画させる機能を付けたのですが、
そのメンバ関数を呼ぶ度にいちいち引数としてビューで取得したデバイスコンテキストを渡しています。
これを自作クラスの中で取得させたほうがよりスマートだと思うのですが方法がわかりません。
どなたかよろしくお願いします。
0208デフォルトの名無しさんNGNG
ほしゅ
0209デフォルトの名無しさんNGNG
>>207
GetDC
CreateDC
ClientDC
0210age2ch.pl 0.03.28NGNG
ガ━━(゚Д゚;)━━ン!
0211デフォルトの名無しさんNGNG
ガ━━(゚Д゚;)━━ン!
0212デフォルトの名無しさんNGNG
まぁアレだな。
キタ━━━━(゚∀゚)━━━━━!!!
0213デフォルトの名無しさんNGNG
最小化時にシステムトレイに格納し、タスクバーを削除したいのですが

LRESULT CTestDlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
  switch (message)
  {
  case WM_SYSCOMMAND:
     switch( wParam & 0xFFF0 )
     {
     case SC_MINIMIZE://最小化されたら
       //システムトレイにアイコンを追加する処理
       〜
       ShowWindow(SW_HIDE);//タスクバー非表示?
       break;

     case SC_RESTORE://システムトレイから復帰したら
       //システムトレイからアイコンを削除する処理
       〜
       ShowWindow(SW_SHOW);//タスクバー表示?
       break;
     }
     break;
  }
  return CDialog::WindowProc(message, wParam, lParam);
}

こんな感じに書いて見たのですが、ほんの一瞬タスクバーが消えるものの、
再度タスクバーが表示されてしまいます。
内部のどこかでShowWindow(SW_SHOW)みたいな事をやっちょるんでしょうか?
0214デフォルトの名無しさんNGNG
ひろゆき好きです(ポ
0215デフォルトの名無しさんNGNG
>>213
SDK気分が抜けておらんからじゃ。
CWnd::WindowProc()はメッセージが通過するだけじゃ。
これでは、DefWindowProcが呼ばれてしまうんじゃ。
だから表示されるんじゃ。
MFC流儀に従って、OnSysCommand()をオーバー来度するんじゃ。
基底クラスのOnSysCommand()を呼ぶんじゃないんじゃ。
0216デフォルトの名無しさんNGNG
間違ったんじゃ。
DefWindowProc -> CallWindowProc
0217デフォルトの名無しさんNGNG
キャップでの書き込みは?やっぱりIPとられるの?
0218デフォルトの名無しさんNGNG
このスレで言うべきことではないが、
winnyチックな掲示板ができるだろうね。
もうできてるのか?
0219デフォルトの名無しさんNGNG
>473
アレ・・ちょっと・・・か?
「ちょっと」・・・じゃないような・・・。
0220デフォルトの名無しさんNGNG
>>215
なるほど!!言われたとおりに試して見たらうまく出来ました!!
どうも有難うございました!
0221デフォルトの名無しさんNGNG
ニュー速+

【2ch】管理人のひろゆき氏がqbサーバで全レスIP記録の実験を開始
http://news2.2ch.net/test/read.cgi/newsplus/1042017485/
0222デフォルトの名無しさんNGNG
>>201
それってクラスツリーたどっていくとCDHtmlDialogとかも載っているので
MFC7のリファレンスじゃ?
MFCは無料でバージョンアップできません。
つまりVC++6を使っているならMFCは6のままなので、SPやSDKをバージョンアップしても
MFC7の関数は使えない。
0223207NGNG
>>209
その3つの関数について調べてみましたがよくわかりません。
私の質問がちょっとわかりにくかったんだと思いますが、
私が知りたいのはビューのデバイスコンテキストの取得方法で、
新しく作りたいというわけではありません。
CClientDC dc(this);
と、ビュークラスの中でよくやったりしていますが、それを
自作クラスの中でやるにはどうすればよいか?という質問です。
このthisのところを他の適当なものにすればよさそうなのですが
それがわからないのです。もしくは他に適当な方法があるのでしょうか。
0224デフォルトの名無しさんNGNG
今までの暗黙の了解が公になっただけの話では。
0225デフォルトの名無しさんNGNG
敗北、だな。
0226デフォルトの名無しさんNGNG
>>222
THX。納得しました。
0227デフォルトの名無しさんNGNG
>>223
コンストラクタとは何か
thisとは何か
GetDC()

これらを知らないと見た
0228デフォルトの名無しさんNGNG
                   /\        /\
                   /:::::::ヽ____/::::::::ヽ、
                  丿 ::.__  .:::::::::::::  __  ::::ヽ_
                 / /。 ヽ_ヽv /: /。ヽ  ::::::ヽ
 -┼-   丿~~~|     / / ̄ ̄√___丶  ̄ ̄\  ::::|            ■ ■
 -┼-   /~~~~/ ━━━ | .:::::::::: / / tーーー|ヽ     ..::::: ::|━━━━━━  ▼ ▼ 
  .|       丿      | .:::::.  ..: |    |ヽ        ::|            ● ●
                | :::    | |⊂ニヽ| |      :::::| \
              / /| :    | |  |:::T::::| !      .::| \ \\
             / / \:    ト--^^^^^┤      丿 \\\ \\\

                      お、大阪・・・・        
0229デフォルトの名無しさんNGNG
======2==C==H======================================================

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

===============================読者数: 138720人 発行日:2003/1/9

年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。

そんなわけで、年末に予告したIP記録ですが実験を開始しています。

「2ちゃんねる20030107」
こんな感じで各掲示板の最下部に日付が入ってるんですが、
20030107以降になってるところはログ記録実験中ですー。

んじゃ!

────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
0230横レス スマソNGNG
GetDC()
ってAPIの?
0231デフォルトの名無しさんNGNG
「びじゅあるC++」を勉強するには何から始めればいいですか?
0232デフォルトの名無しさんNGNG
>>231
当然、アルゴリズム体操。
0233207NGNG
自己解決しました。
いろいろ試行錯誤した結果、
最初にビューの m_hWnd をクラスに渡しておいて、
必要なときに
CDC *pDC=CDC::FromHandle(GetDC(m_hWnd));
とやって、どうにか目的のデバイスコンテキストを得ることができました。
0234デフォルトの名無しさんNGNG
>233
そんな回りくどいことしなくても
CDC *pDC = pWnd->GetDC();
でいいんじゃない?
0235207NGNG
>>234
そのpWndってどうやって得ればいいんでしょう?
MFCでプログラムしていますが、そんなの定義されてないです。
0236デフォルトの名無しさんNGNG
CListCtrlのSortItems()でソートかましたんだけど
SetItemData()で設定したアイテムデータはソートしやがらねぇ。
ソート比較関数の中で入れ替えるのもなぁ・・・
なんかスマートな方法無いものか。
0237236NGNG
ぐえっ!俺のバグだ・・・
0238名無し@沢村NGNG
>>235
ヌヒよ、m_hWndを渡すのではなくViewへのポインタを渡しなさい。
0239デフォルトの名無しさんNGNG
>>235
AfxGetMainWnd()
CFrameWnd::GetActiveFrame()
CFrameWnd::GetActiveView()
その他いろいろウィンドウを取得するメソッド・関数は用意されているが。

>>238
たのむからこのスレへ来ないでくれ
0240207NGNG
>>238
私も最初そうしようと思ったのですが、
ビューのヘッダをインクルードしようとすると
変なところでコンパイルエラーが出ます。ひょっとして私だけですか?
0241名無し@沢村NGNG
>>239
ヌヒよ、そうやって適当にウィンドウを取得しても正常に描画できるわけないだろ。
0242名無し@沢村NGNG
>>240
ヌヒよ、別にViewのヘッダファイルをインクルードする必要は無いのではないか?
CWnd* を渡せばよいのだから。
0243デフォルトの名無しさんNGNG
>233
この定義をよくみて考えてみれ

CDC* CWnd::GetDC()
{
return CDC::FromHandle(::GetDC(m_hWnd));
}

わかんなくても別に>233の方法も
間違ってるわけじゃないからそれでいいさ
0244207NGNG
>>239
そんな関数があったのですか。なるほどその方法でもいけそうですね。
>>242
CWnd*ですか・・どうも私が勘違いしていたようですね・・・。

どうやらCWndあたりで私の理解が足りなかったようですね。
勉強しなおそうと思います。
0245デフォルトの名無しさんNGNG
_ヘ彡ヘ
(,, ゚∀゚)<遅ればせながら記念パピコ
0246デフォルトの名無しさんNGNG
>>551
「コテハン戦隊ラウンジャー」に鑑定依頼してきますた
0247デフォルトの名無しさんNGNG
なんか笑えるスレだな
0248デフォルトの名無しさんNGNG
なんか笑えるスレだな
0249デフォルトの名無しさんNGNG
ばしばし誤爆が来てないか?
0250デフォルトの名無しさんNGNG
某○○は法律関係の仕事をしてるのですか?

単なる子供?
0251デフォルトの名無しさんNGNG
たった400万の罰金で、広告費に換算したら1億以上の大きな反響
0252デフォルトの名無しさんNGNG
今年こそ2ちゃんねるが潰れますように
0253デフォルトの名無しさんNGNG
2ちゃんねる が衰退していく

あるネット関連会社の社長は、
「いずれにしても2ちゃんねるは資金が底をつけば終わり。
あまり知られていないことだが、2ちゃんねる内部関係者によると今、
大手通信会社系が調査費名目で資金提供している。
だが、それが止まれば続けてはいけないだろう」
と証言する。
2ちゃんねるが判決によって力を失った場合、
資金提供の打ち切りも予想される。

http://ascii24.com/news/reading/causebooks/2002/07/01/636911-000.html
0254デフォルトの名無しさんNGNG
>>459に追加とついでにIPについて調べてみた
ニュース速報@Megabbs:IPは?(書いてない)
http://www.megabbs.com/news/index.html
ニュース速報@MILKCAFE:IPは基本的には取ってない(http://www.milkcafe.net/gu.html参照)
http://www.milkcafe.net/news/
ニュース雑談@sub-all:IPは基本的には取ってない(http://www.bbs2.net/fuck.html参照)
http://www.bbs2.net/news23/
経済@いちごびびえす:IPは取ってない(http://www.ichigobbs.com/info/info.html参照)
http://matari.ichigobbs.com/economy/
ニュース速報@匿名掲示板(仮):IPは取ってない(http://kari.to/about/参照)
http://kari.to/bbs/g4/
0255デフォルトの名無しさんNGNG
http://qb.2ch.net/test/read.cgi/accuse/1038878069/720
なんですかこれ(謎)
0256デフォルトの名無しさんNGNG
ねえ、ひろゆきって400満ももってんの?
いつもお仕事はなにしていらっしゃるのか?
0257デフォルトの名無しさんNGNG
裁判所or警察経由っすね>アクセスログが渡る場合
後は、羽田タートルのスレッドの中での粘着さん。
0258デフォルトの名無しさんNGNG
>>720
一般人はどうやってみるんだ?
掲示板といえるのか。
0259デフォルトの名無しさんNGNG
場所によるよね。


匿名重視の板では厨房どころか普通の客まで帰っちゃうという罠。
実況なんかだと逆に非常に便利(荒らしの特定)だろうけど。
0260デフォルトの名無しさんNGNG
さりげなく自スレの宣伝するんじゃねー
でも、良かったらさんもさんもマァヴさんも
おいらの立てたスレに遊びに来てね。

どうせIP記録されるんならふしあなさんしようぜ
http://live.2ch.net/test/read.cgi/festival/1042199282/l50
0261デフォルトの名無しさんNGNG
このスレにちょいと書いてあるんですけど、
ダイアログでクラスウィザードを使いメンバ変数を作成すると
多数のメンバ変数ができてしまったときに扱いにくくないですか?
私としては構造体にまとめたいのですが、
そうすると自力でコード書く部分がかなり多くなってしまいます。
何か良い方法はないでしょうか?

0262デフォルトの名無しさんNGNG
幾つくらいメンバがあるの?
あんましおおいなら、ダイアログを分割したりしたほうが
よさそうだけど。
0263デフォルトの名無しさんNGNG
ポリタンクさん、「私のニュース」で活動して下さいって、
あれほど、あれほどお願いしたのに、、、
0264デフォルトの名無しさんNGNG
ひろゆきカマン。
0265デフォルトの名無しさんNGNG
======2==C==H======================================================

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

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

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

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

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

んじゃ!

────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
0266デフォルトの名無しさんNGNG
2ちゃんねらー達も伝えられないでもわかっていた。かつて、一度足りとも起らなかった事が、
自分達の上に降りかかろうとしている事を。

その重い沈黙を、広場の一角から上がった声が破った。
「言論規制、逝って良し!!」
だがその声は、それに続く声も無いままに切れてしまった。しかし、それとは別の声が、
再び沈黙を破ってひびいた。
「2ちゃんねる、逝って良し!!」

この叫びは、法廷前広場に掲げられたモナーの書かれた横断幕に、そして折りしも誰かの手によって
掲げられたギコ猫としぃの手旗に向かって、まるで海の波でもあるかのように、打ち寄せては去り、
再び打ち寄せては去るのを止めなかった。

残務処理に向かう管理人達は心配した。自分達の決定に反してまでも、攻撃に打って出るつもりかと
思ったのである。彼らの呼びかけで、多くのブラウザが一斉に開かれた。
だが、これは無用な心配に過ぎなかった。なぜならば、田代やネオ麦事件の時と同じく、
武器を持たない2ちゃんねらーたちの、彼らなりの礼砲だったからである。
彼らにも匿名体制の終焉は2ちゃんねるの滅亡と同じ事がわかっていたのである。
法廷前から始まった書き込みは、過去の祭りと同じように掲示板の書き込みを埋めていった。
「2ちゃんねる、逝って良し!」

「2ちゃんねらー、逝って良し!!」
0267デフォルトの名無しさんNGNG

≪1864年、イギリス人のF・ベアトにより撮影された江戸のパノラマ写真≫

愛宕山という20メートル位の小さい丘から撮影されました。
映像に矢印を2秒くらい置いておけば、拡大できるので(右下に出るマークをクリック)
是非 スクロール して楽しんでください。
http://aquarius17.cool.ne.jp/dc2wp/up/box/sub.cgi/scene0130.jpg

ちなみに李朝のソウルはこちら。まことにありがたい町並みです。
http://www2.nhcc.go.kr/cgi-bin/xcall?ssid=105925&dbid=/photo/web/photo&ty=1&fi=SJ0052&cap=SJ0052

0268デフォルトの名無しさんNGNG
ポイズン
0269デフォルトの名無しさんNGNG
ワラタ
生きろ!快速ストーカー
0270デフォルトの名無しさんNGNG
テレビにニュース速報が入る。
俺は慌ててパソコンを立ち上げ、そして気付く。
「あぁ、2chは閉鎖したんだっけ……」
テレビからは現場の慌しい状況が伝わってくる。
もし2chがあったら、どういうスレが立っているのだろう。
重複スレが沢山できて、それで荒らしとかやってきて……
テレビでは相変わらず、レポーターが必死で現場の状況を伝えている。
可愛いレポーターだ。俺は、頭の中で「萌え〜」というレスを
つけている自分を想像した。
後ろの群集がテレビに向かって挑発的なポーズを取っている。
「なんだ、あのドキュソ」「厨房氏ね」……
俺はたまらなくなり、無いとは分かっていながら再び2chにアクセスした。
しかし、画面には一言「閉鎖したのです。。。」とだけしか表示されない。
何度リロードしても変わらない。あの日以来、2chは止まったのだ。
どうやら犯人が逮捕されたようだ。相変わらず可愛いレポーターが
その状況を伝えている。
「さよなら、にちゃんねる」
俺はお気に入りから2chを削除し、そして騒がしいニュースを冷めた目で
見るのであった。
0271デフォルトの名無しさんNGNG
2chで内部告発的な事をするリスクが大きくなるのかな?
発信元がわかるんで、告発された側が「よーし金でねじ伏せちゃうぞー」
とか言って裁判でも起こしまくって。
そんな状況はガクブルだから、面白そうな(真実である事が前提の)投稿は、減る?のかな?
考え過ぎ?って言うか見当違い?どうだ?どうなんだ?
0272デフォルトの名無しさんNGNG
>>261
確かに100も200もあると大変だよなあ。
0273デフォルトの名無しさんNGNG
なーんか大変だな
0274デフォルトの名無しさんNGNG
あ〜あ2ちゃんもこんなアホばっかになっちまったか
これも時の流れかね

もうだめぽ
0275デフォルトの名無しさんNGNG
>>261
DDX,DDVを使う変数のみウイザードで作成
それ以外は構造体なり、クラスなりにする

でいいんでは?
0276デフォルトの名無しさんNGNG
MFCのプログラミングでファイルをオープンしてテキストファイルを読み込む
プログラムを作っているのですが、一回読み込んだファイルを再度読み込む
ことができません。ソースは

CString filename = "C:\\a.txt" //ファイルの位置

CStdioFile fin1(filename, CFile::modeRead);//概念見出し辞書をオープン
while(fin1.ReadString(buf) != NULL){
         :
         :
}

CStdioFile fin2(filename, CFile::modeRead);//概念見出し辞書をオープン
while(fin2.ReadString(buf) != NULL){
         :
         :
}

という感じです。
コンパイルは通るのですが、実際に動かしてみる(内容としては文字列検索)と
どうも2回目のファイル読み込みが機能していないみたいで・・・。
何かよい方法はありませんか?
0277デフォルトの名無しさんNGNG
>>276
例外をキャッチしてみるとか。
0278デフォルトの名無しさんNGNG
>>276
Closeしてないからじゃない?
0279デフォルトの名無しさんNGNG
>>278
Closeは
fin1.Close();
という形でいいんですかね?
それを加えたら途中で止まってしまいました。
何度もすみません。
0280デフォルトの名無しさんNGNG
>>278
それくせー。
0281デフォルトの名無しさんNGNG
>>279
そんな感じ。
ところで、どこでcloseしたの?
whileの中じゃないよね?

0282デフォルトの名無しさんNGNG
あれなんでスレストかかったの?
もう最後の方はさっぱり意味わかんなかったけど・・・
ってゆうかほろゆきが止めたのか?
0283デフォルトの名無しさんNGNG
(;´Д`)ハァハァ
0284デフォルトの名無しさんNGNG
つまんね
0285デフォルトの名無しさんNGNG
>>276
CStdioFile::ReadString の返り値ってBOOL型なんだからNULLと比較してはマズいような。
動作に影響はないかもしれないけど。

この場合ではwhileが終わったらfin1.Close();やfin2.Close();すべき。
(whileの後に処理があるなら別。)
0286デフォルトの名無しさんNGNG
CTime ct;
cs = ct.GetCurrentTime("%H : %M : %S");

とあるときはCTimeのメンバー関数GetCurrentTimeはCTimeのオブジェクトを
返す関数と考えて良いでしょうか?

0287名無し@沢村NGNG
>>286
ヌヒよ、それくらい自分ですぐ調べられるだろ。
0288デフォルトの名無しさんNGNG
>>286
その前にCTimeにそんな関数ないだろ。
0289デフォルトの名無しさんNGNG
>>286
どこかのアホサンプルをコピペでもしたのか?
GetCurrentTimeの返り値の型を見ろ。
0290デフォルトの名無しさんNGNG
厨な質問で申し訳ないですが、
データ型のboolとBOOLや、
例外処理のtryとTRYは
処理速度や機能面で何か違いがあるのでしょうか?
それとも単に大文字小文字の違いだけ?
0291デフォルトの名無しさんNGNG
>>290
#define TRY { AFX_EXCEPTION_LINK _afxExceptionLink; try {
typedef int BOOL;
0292名無し@沢村NGNG
>>288
ヌヒよ、嘘をついてはいけません。
0293290NGNG
>>291
ようするにTRYは単なるtryのマクロ定義で、
BOOL型はint型の変名に過ぎないわけですか。
VC++でboolを使うとなにか都合が悪いことがあるのでしょうか?
0294デフォルトの名無しさんNGNG
>>292
GetCurrentTime()
と
GetCurrentTime("%H : %M : %S")
が同じだとでも思ってるのか
0295デフォルトの名無しさんNGNG
>>293
//まずい!
if(b == TRUE)

//まずい!
hoge(int n);
hoge(BOOL b);
0296デフォルトの名無しさんNGNG
おっと逆か・・・
BOOLはVC5以前の名残で、互換性のため。
0297デフォルトの名無しさんNGNG
fusianasan
0298デフォルトの名無しさんNGNG
対応はともかく、確実に通知したという事実は残るよ。
メールや電話だと「届いていない」「読めなかった」「回線の調子が悪くて聞こえなかった」で抜けられるからね。
0299デフォルトの名無しさんNGNG
フーン
0300デフォルトの名無しさんNGNG
BOOLとboolの仕様が違うのが非常にむかつく(ノд`)
0301デフォルトの名無しさんNGNG
CTime::GetCurrentTime
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_mfc_CTime.3a3a.GetCurrentTime.asp
0302デフォルトの名無しさんNGNG
>>293
モノによってはWindowsのバージョンで違う宣言になってたり。。。
0303デフォルトの名無しさんNGNG
>300
BOOLだとTRUEが1なんだよな…
boolは-1なのに。
0304デフォルトの名無しさんNGNG
いったいどこのboolなんだ……(;´Д`)
0305デフォルトの名無しさんNGNG
CHtmlViewクラスの画面にGDI描画がしたいのですが、
なんとかならないでしょうか?
DCにペイント命令だしても全部無視されてしまいます・・・。
0306デフォルトの名無しさんNGNG
質問です。
ダイアログベースで作成しているのですが、ボタン操作でexeファイルを実行させることはできますか?
その方法があれば、どなたかご教示ください。
環境はVC6.0です。
0307デフォルトの名無しさんNGNG
ceditviewでフォームに入力した文字列をいじるにはどうすれば良いんでしょうか。
検索したらシャドウバッファに格納されてるとあったのですが、シャドウバッファをどうすればいいのかわからず・・
アドバイスお願いします。
0308デフォルトの名無しさんNGNG
0のnotが1のBOOLは気持ち悪い。
0309デフォルトの名無しさんNGNG
>>308
変わった人だね
0310デフォルトの名無しさんNGNG
いや、普通だと思うが
0311山崎渉NGNG
(^^)
0312デフォルトの名無しさんNGNG
>>306
ShellExecuteとか。
0313デフォルトの名無しさんNGNG
法律は必要最小限のことしか決められんよ、あとはルールまかせだ。
0314306NGNG
>>312
アドバイスありがとうございます。
さっそく試してみようと思います。
0315デフォルトの名無しさんNGNG
>>307
UpdateData
0316デフォルトの名無しさんNGNG
>>307
GetEditCtrl()でEditコントロールを取得して操作。

>>308
同じく。
どうして-1じゃないんだろう?
0317デフォルトの名無しさんNGNG
おかげで(bool)!!check のような型キャストが要る…
0318デフォルトの名無しさんNGNG
ダイアログボックスベースでアプリを作っていますが、
整数型の変数の値を文字型にしてStaticコントロールに表示させたいのですが
どのようにすれば良いのでしょうか?
どうやら普通のC++とやり方が違うようで、、、。
0319318NGNG
×Staticコントロール
○StaticText

すまそ
0320デフォルトの名無しさんNGNG
>>318
i = 10;
CString str;
str.Format( "%d", i );
0321320NGNG
>>318
脊髄反射でカキコしてしまったが
ひょっとして変換方法じゃなくて表示方法がわからないのかな?
だとしたら↓みたいな感じか。

int i = 10;
CString str;
str.Format( "i = %d", i );
m_wndStatic.SetWindowText( str );
0322318NGNG
>>320
>>321
どうもありがとうございます。
後半の部分は知ってましたが、前半部分が解りませんでした。
質問内容が不十分なのに答えてくださって有難うございました。
0323デフォルトの名無しさんNGNG
おながい!助けて!
ツールボックスを2つ使いたいのですが、
2つ表示させるところまでは上手く行きました。
(CMainFrameクラスにCToolBarクラスのオブジェクトを追加した)

メニューにツールバーの表示/非表示を選択できますが、
AppWizardが生成したコードのままだと、独自に追加した2つ目の
ツールバーまで制御が効きません・・・
ツールバーの表示/非表示をプログラムでやるには、
どの様にしたらよろしいのでしょうか?
0324323NGNG
出来れば表示→非表示→表示にした時、
以前の状態(ツールバーの位置)を保ちたいです。
0325デフォルトの名無しさんNGNG
普通のC++とやり方が違うっていうかMFCの使い方を調べてないだけちゃうんかと
0326デフォルトの名無しさんNGNG
CFrameWnd::ShowControlBar
0327323NGNG
>>326
即レスさんくす!
早速試してみます。
0328323NGNG
>>326
で、できました!多謝。
0329デフォルトの名無しさんNGNG
最近、関数一個で解決するような質問ばかりな予感
0330デフォルトの名無しさんNGNG
C++もWinAPIもしらずにMFCに突撃するからこのような状態になるのだよ。
0331デフォルトの名無しさんNGNG
そいつは悪かった(´・∀・`)
0332デフォルトの名無しさんNGNG
ファイルからCStringに直接文字列を読み込むことはできませんか?
CString str;
ifstream fi("hoge.txt");
fi >> str;
てやるとエラーが出るのでいつも
char tmp[100];
fi >> tmp;
str = tmp;
とかやってるんですが
0333デフォルトの名無しさんNGNG
fi.read( str.GetBuffer( BUFSIZE ), BUFSIZE );
str.ReleaseBuffer();
0334デフォルトの名無しさんNGNG
STL使ってるならstring使えって気もするが・・・
CString(MFC)使うなら>>333とかCArchiveとか
0335デフォルトの名無しさんNGNG
>>333
やっぱサイズ指定しないとだめですか?
STLのstringみたいにユーザはサイズを決めないで
読み込める方法があるとありがたいのですが
0336デフォルトの名無しさんNGNG
>>334
CArchiveって単なるテキストファイルを読み込むときとかにも
使うものなんですか?
0337デフォルトの名無しさんNGNG
>>336
使うもんだ。そして君のやりたい
CString str;
ar >> str;
とかやるもんだ。
0338デフォルトの名無しさんNGNG
MFCつかってるならCStdioFileってのがあるがな
0339デフォルトの名無しさんNGNG
>>337>>338
ありがとうございますた
0340デフォルトの名無しさんNGNG
>>337
そのやりかたはCStringをCArchiveに保存した時のみ有効。
ar << str;// strはCString
この時、ファイル上はテキストで保存されているわけではなく、バイナリで文字列長+文字列で構成される。
ar >> str;//復元できる
>>338
CStdioFileは1行読みのためのクラス。
テキスト全部読むとかだったら向いてないね。
0341デフォルトの名無しさんNGNG
>>340
ar >> str;
だと指摘どおりだな。
ただCArchive::ReadStringってのもあるYO

テキスト全部読むなら1行読みをループさせるしか思いつかないねぇ・・
なんかいい方法ある??
0342デフォルトの名無しさんNGNG
>CStdioFileは1行読みのためのクラス。
アホか。
0343山崎渉NGNG
(^^)
0344デフォルトの名無しさんNGNG
ツリーアイテムの一つをクリックした時にそのアイテムのテキストの位置に
コンボボックスを表示させるようにしたいのですが、どなたかキーワード
や情報のポインタだけでも教えてもらえないでしょうか。
おながいします。。。
0345デフォルトの名無しさんNGNG
その場所にコンボボックスをCreateするんだと思うけど。
CodeGuruとかにサンプルないかな。
リストビューではよくある話なのでリストビューのサンプルを参考にしても良いかも。
0346デフォルトの名無しさんNGNG
>>344
メンバ変数としてCComboBox持ってればいいんじゃないか?
CTreeCtrl::GetItemRect()で表示する位置はわかるし。
0347デフォルトの名無しさんNGNG
CListCtrlを継承してvirtual DrawItem()の実装を書いているんだけど
{
 CDC* pDC = GetDC();
 int saveDC = pDC->SaveDC();

 pDC->DrawIcon(lpDrawItemStruct->rcItem.left,
lpDrawItemStruct->rcItem.top,
theApp.LoadIcon(IDI_MY_ICON));

 pDC->RestoreDC(saveDC);
}
と書いてもアイコンが表示されません。
その代わり
CImageList m_imageListにアイコン登録して
m_imageList.DrawIndirect(pDC,
0, CPoint(rect.left, rect.top),
CSize(ICON_SIZE_X, ICON_SIZE_Y),
CPoint(0, 0));
とやると表示されるんですが、、、
でも、アイコンの透明色が背景が透けてくれません。
なにかおかしんでしょうか?
0348デフォルトの名無しさんNGNG
>>347
CImageList::SetBkColor
0349デフォルトの名無しさんNGNG
このスレってフィードバック少ないよね…
0350347NGNG
>>348
駄目でした。そのかわりCImageList::Create()の引数にILC_MASKを渡したら透けました。
でもやっぱりDrawIcon()は使えない・・・
0351デフォルトの名無しさんNGNG
>>350
そもそもLoadIconは成功しているのかと24時間(略
0352デフォルトの名無しさんNGNG
>>347
DrawIndirectの説明を穴のあくほど読め。
デフォルトではfStyle = ILD_NORMALだ。
0353デフォルトの名無しさんNGNG
>>351
24時間かよ(藁
0354デフォルトの名無しさんNGNG
CMenuについて質問させてください。
InsertMenuやAppendMenuで動的に作成したメニューがクリックされた時に
対応するメソッド(ハンドラ?)を定義するのにはどうしたらいいんでしょうか。
InsertMenuに渡すアイテムIDも動的に指定しています。(マクロでない)
事情により、クラスウィザードを用いないで実装しているコードをいじらなければ
なりません。
厨房ですいませんがよろしくおねがいします。。。
0355デフォルトの名無しさんNGNG
テクニカル ノート 6 は見た?
IDを手で捏造したくないんなら
メニューエディタで隠しメニュー作ってそこに登録するといいyo
0356デフォルトの名無しさんNGNG
>>355
ありがとうございます。
テクニカルノートをまず読んでみます。
0357354NGNG
>>355
あらかじめメニューIDをいくつか予約しておいて、
ON_COMMAND_RANGEマクロを使ってそれらのIDに対応するメソッドを
定義し、その中でswitchすることでやりたいことが実現できそうです。
ありがとうございました!
0358デフォルトの名無しさんNGNG
すまそ・・・。
Static内の色を変えるにはどうするのでしょうか。
1週間くらい調べてますが解らなくて・・・オロロ・・・・。
0359デフォルトの名無しさんNGNG
>>358
スタティックコントロールにユニークなIDを付けて、後は他のコントロールの色を変えるのと同じ。
0360358NGNG
>>359
スマソ。
ダイアログボックスベースで作っているので、
アプリを実行した時点でStaticの色を白にしたいんです。
どこにソースを書けばよいのかも解らず・・・・・オロロ・・・。
0361デフォルトの名無しさんNGNG
>>360
>アプリを実行した時点でStaticの色を白にしたいんです。
>>359

コントロールの色変更は検索すればすぐ出てくると思うけど。
0362デフォルトの名無しさんNGNG
WM_CTLCOLORSTATIC
0363デフォルトの名無しさんNGNG
>>360
単純にやるならダイアログクラスのWM_CTLCOLORでウィンドウのポインタ比較して
変えたい色のブラシハンドルを返す。
0364デフォルトの名無しさんNGNG
VC++って、初めは色1つ変えるのにも苦労するよな。
それまでずっとVB派だった漏れは、かなり苦労した憶えが(´д⊂)

まぁ、色変更とか、一般的な処理に関しては
検索すればすぐに見つかるし、あっさり解決したけど。
0365デフォルトの名無しさんNGNG
>>364
特にボタンがなー。
オーナードロー?あーん?なんだそりゃって感じだったよ。
0366デフォルトの名無しさんNGNG
>365
プッシュボタンの文字の色ぐらい簡単に変えられるようにして欲しかった。
0367デフォルトの名無しさんNGNG
オナドローハアハア(^o^)                          
                                  
0368デフォルトの名無しさんNGNG
オナドール(;´Д`)ハァハァ
0369デフォルトの名無しさんNGNG
マウスをダブルクリックしたらキーボードのENDを押したことにするような
処理はどうすれば良いのでしょう?
例えばIEを使ってる最中にダブルクリックしたらEND押したことに
なるような感じです。
お願いします。
0370デフォルトの名無しさんNGNG
CSplitterWndで横3つに分割してウインドウのサイズを変更したとき、
通常は一番右のビューのサイズが変更されますが、
真ん中のビューのサイズが変わるようにするにはどうすれば良いですか?

┌┬┬┐→┌┬─┬┐
└┴┴┘  └┴─┴┘
こんな感じに。
0371デフォルトの名無しさんNGNG
>>370
WM_SIZE捕まえて自力でサイズ調整。
0372デフォルトの名無しさんNGNG
>>369
ダブルクリックのコマンコを受け取って処理すれば良いだけでは?
0373デフォルトの名無しさんNGNG
>>372
ENDボタンを押したことにする、という関数はどんなのなのでしょうか?
検索してもそれらしいのを発見できなかったので質問しました。
初心者用のVCの本を読んだ程度の知識しかないです。。
何か関数名か何か、検索のヒントとなる単語でも良いのでお願いします。
0374デフォルトの名無しさんNGNG
>>373
元がどういう構成かわからないんでなんとも言えないけど
ダイアログならOnOKなりEndDialogなり呼べば良いし、SDIやMDIなら
メインのウィンドウに対してSendMessage(WM_CLOSE)とかで行けないかな?
0375デフォルトの名無しさんNGNG
>>373
ENDボタンを押した時に呼ばれる関数を呼べば(ry
0376デフォルトの名無しさんNGNG
つーかコマンコって何よ俺・・・(´Д`;)
0377370NGNG
>>371
CMainFrame::OnSize() でやろうとしたのですが、
CSplitterWnd は CMainFrame に直接埋め込んでいて、
CMainFrame が作られてすぐに OnSize() が呼び出されたときには
CSplitterWnd はまだ Create されていないために
CSplitterWnd::Get(Set)ColumnInfo() を呼び出した時点で落ちるという状態です。
(分かりにくい説明ですみません)

方法としては CSplitterWnd をポインタとして埋め込んで OnCreate() で作成、
OnSize() の中で if(m_pSplitter != NULL) として回避するくらいしか思いつきませんが、
直接埋め込んだ状態で何とかする方法はないでしょうか?
0378デフォルトの名無しさんNGNG
コマンコ(;´Д`)ハァハァ
0379デフォルトの名無しさんNGNG
>>377
それはフラグなり何なりで回避できそうな気が。
0380デフォルトの名無しさんNGNG
>>374-375
どうもありがとう!
検索してみます。
0381デフォルトの名無しさんNGNG
>>377
::IsWindow(m_pSplitter->m_hWnd)
これを使おう。

コマンコ(;´Д`)ハァハァ
0382370NGNG
>>379
Create した時点で bCreated = TRUE のようにする方法ですね。
確かにそれだと出来そうですが、イレギュラーな気がしていたので
もっとスマートな方法が無いかなと思って聞いてみた次第です。
>377 も含めて最初から書いておくべきでしたね。すみません。

>>381
その関数は知りませんでした。まだ試してませんがいけそうな気がします。
ありがとうございました。
0383デフォルトの名無しさんNGNG
CScrollViewを使用しているのですが、GetScrollPos等で得られる値が32767までしか得られません。(それ以上は0に戻ってしまう)
それ以上(例えば100000等)の範囲の場合は自分で管理するしかないのでしょうか。

Windows2000, VC6SP5
0384370NGNG
たびたびすみません。
OnSize() は CreateStatic() のすぐあとに呼ばれていたことが分かりました。
そのため CSplitterWnd::GetColumnInfo() で
まだ作られていない列を指定したせいで落ちていたみたいです。

m_wndSplitter.CreateStatic(this, 1, 3);
// ここで呼ばれる
m_wndSplitter.CreateView(0, 0, RUNTIME_CLASS(CLeftView), CSize(180, 0), pContext);

これだとフラグを立てるしか方法はないでしょうね。
フラグの置き場所が非常に悩むところですが、なんとかやってみます。
皆さんありがとうございました。
0385373NGNG
あっ・・・、ENDボタンってキーボードのENDボタンです。。
ウインドウ右上の×ボタンじゃないです。。

いつもはシステムトレイに潜んでて、IEとか見てる時に、
マウスでダブルクリックするとキーボードのENDボタンとか
PageDownとか押した事にするやつを作ってみたいと思ってます。
こういうのはどんな関数とか使えば良いのでしょう?
お願いします。
0386デフォルトの名無しさんNGNG
コマンコ 8010件
http://www.google.com/search?q=%83R%83%7D%83%93%83R&hl=ja&lr=
0387デフォルトの名無しさんNGNG
>>384
フラグ以外にも方法はあるぞ。
行・列の総数から判断したらどうよ。
0388デフォルトの名無しさんNGNG
>>381
>::IsWindow(m_pSplitter->m_hWnd)

ヌヒよ、ここはMFCスレらしく
m_pSplitter->GetSafeHwnd()
だな。

ただヌヒよ、わざわざポインタにしなくても
m_wndSplitter.GetSafeHwnd()
でOKだが。
0389hhNGNG
★あなたのお悩み解決致します!!
◎浮気素行調査
彼氏、彼女、妻、夫の浮気を調査致します!!
◎盗聴器盗撮機発見
あなたの部屋に誰かが仕掛けているかも!!
◎行方調査
行方不明になっている家族の消息を調査致します!!
◎電話番号から住所割り出し
一般電話、携帯から住所を割り出し致します!!
◎ストーカー対策
社会問題ともなっているストーカーを撃退致します!!
その他人生相談からどんなお悩みでも解決いたします!!
 24時間受付  090−8505−3086
URL  http://www.h5.dion.ne.jp/~grobal/
メール  [email protected]
   グローバル探偵事務局 

0390デフォルトの名無しさんNGNG
MFCでDLLを作り、そのDLL内の関数を別アプリから使用します。
その時にDLLからアプリにメッセージを送るにはどうすればいいんでしょうか?
よろしくお願いします。
0391デフォルトの名無しさんNGNG
>>390
APIのSendMessageつかえば。
0392370NGNG
>>387
VC6 ヘルプより
> 分割ウィンドウの現在の列数を返します。静的分割ウィンドウでは、この値は列の最大値でもあります。
とあるので、ペインが作られているかいないかに関わらず同じ値が返ります。
CSplitterWnd::GetPane() などで NULL でも返ってくれれば楽なんですが、案の定落ちました。
0393370NGNG
>>392
× VC6 ヘルプ
○ MSDN ライブラリ
0394390NGNG
質問の追加なんですが、DLLからメッセージを送り
アプリ側のある関数を呼び出したい時はどうすればいいんでしょうか?
よろしくお願いします。
0395デフォルトの名無しさんNGNG
>>394
アプリ側の関数を呼び出すメッセージをDLLから送る。
メッセージはユーザー定義メッセージな。
0396デフォルトの名無しさんNGNG
>>392
悪い、性的分割ウィンドウだったか。
動的とまちがえてた。
0397名無し@沢村NGNG
>>392
ヌヒにいいことを教えてやろう。
CSplitterWndの派生クラスを作ってGetPane()を以下のようにしたらお望みの動作になるぞ。

CWnd* CMySplitterWnd::GetPane(int row, int col) const
{
    ASSERT_VALID(this);

    CWnd* pView = GetDlgItem(IdFromRowCol(row, col));
    //ASSERT(pView != NULL); // panes can be a CWnd, but are usually CViews
    return pView;
}
0398デフォルトの名無しさんNGNG
性的分割ウィンドウ……
0399デフォルトの名無しさんNGNG
>>398
変な意味に捉えているようだが、男女で分けるってだけのことだ。
0400デフォルトの名無しさんNGNG
DLL内の関数で処理している文字列変数を、DLLを利用しているプログラム自体に渡すにはどうすればいいんでしょうか?
0401デフォルトの名無しさんNGNG
めもりまっぷど(ry
0402デフォルトの名無しさんNGNG
学校で動いてたソースを自宅にそのまま持ってきたのに動かないことってあるんでしょうか。

CEdit& ED = GetEditCtrl( );
LPTSTR testline = linedata.GetBuffer(1024);
 for(i=0;i<=ED.GetLineCount()-1;i++){
 ED.GetLine(i,testline);
}
これでエディタ上(?)の文字列取得出来ていたのに自宅でビルドし直したとたん出来なくなりました。
くだらない質問ですがお手上げ状態です。どなたがアドバイスをおながいします。。
0403デフォルトの名無しさんNGNG
>>400
strcpy()
0404デフォルトの名無しさんNGNG
*(WORD *)testline = 1024;
ED.GetLine(i,testline);
0405名無し@沢村NGNG
>>402
ヌヒよ、そのコードは結局は最終行しか取得しないわけだから、以下のようにすべきだな。

CEdit& ED = GetEditCtrl();
TCHAR buf[1024];
ASSERT(ED.GetLineCount() > 0);
ED.GetLine(ED.GetLineCount() - 1, buf, sizeof(buf) / sizeof(TCHAR));
0406デフォルトの名無しさんNGNG
>>402
リビルドしてもダメかい

>>404
君は何がしたいんだい
0407デフォルトの名無しさんNGNG
402です。>>405沢村さんのコードで無事動作しました。ホントありがとうございました!
しかしなぜ最終行しか取得してないとおわかりになったのでしょう?

>>404 アドバイスありがとうございます。
>>406 ダメでした。わけわかりません。VCのバージョンとか同じなんですけども・・
0408400NGNG
メッセージマップで調べてみたんですがよく分かりません。
まずは、RegisterWindowMessageで独自のメッセージを登録すればいいんでしょうか?
よろしくお願いします。
0409名無し@沢村NGNG
>>406
ヌヒよ、君に特別に教授してあげよう。

>404のコードは
ED.GetLine(i, testline, 1024);
と同じ意味だ。

まあ、人をバカにする前にMSDN嫁ってこった。はっはっは。
0410デフォルトの名無しさんNGNG
>>408
どうしてメッセージマップに行くのか良くわからん……
>>401読んだ?
0411デフォルトの名無しさんNGNG
独自メッセージをDLLからアプリに飛ばしてメッセージのパラメータに文字列を渡すつもりじゃ
0412デフォルトの名無しさんNGNG
RegisterWindowMessageってアプリ間でメッセージやり取りするときに使うんじゃなかったっけ。

DLLからアプリにメッセージ投げれば済む話では?
WM_APPとかWM_USERとかそのあたりがキーワードになりそうな予感。
複数アプリでDLLの文字列を共有したいならメモリマップドファイル使うんだろうけど。

とりあえず疑問丸投げじゃなくて自分でどこまでやった(調べた)のか書いて欲しいと思った。
0413400NGNG
説明不足で申し訳ないです。

現在DLL側で
UINT intMessage=RegisterWindowMessage("WM_SOCKMESSAGE");
SendMessage(HWND_BROADCAST,intMessage,0,0);
とし、
アプリ側で
BEGIN_MESSAGE_MAP(CxxxDlg, CDialog)
//{{AFX_MSG_MAP(CChatDlg)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_BN_CLICKED(IDC_BUTTON2, OnButton2)
ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
ON_BN_CLICKED(IDC_BUTTON3, OnButton3)
ON_MESSAGE(WM_SOCKMESSAGE,OnSockMessage)←ここを追加
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
メッセージハンドラ
void CChatDlg::OnSockMessage()
{
AfxMessageBox("Message OK!!");
}
としています。

メッセージを投げるというのはPostMessage()を使うってことでしょうか?
その場合、第一引数はどうすればいいんでしょうか?(アプリのハンドルの取得方法)
この辺りが混乱しています。
よろしくお願いします。
0414レゴ其の一NGNG
#include <iostream.h>
#include<stdio.h>

void main()
{
FILE *fp;
fp=fopen("素数−実行結果.txt","a");
int i, j ,f,n=1000,c=0;
// 1から1000までの数の素数を求める
// i, jはループ変数
// fは一回でも割り切れたら1。
// 一度も割り切れなかったら0。
for(i = 2; i <= n; i++) // i(==2,3,4,..,1000)について調べる。
{
f = 0;
for(j = 2; j < i; j++) // j(==2,3,...,i)で割ってみる。
{
if(i % j == 0) // あるjで割り切れたらfは1。
f = 1;
0415レゴ其の二NGNG
}
if(f == 0){// iを割り切るjがなかった場合
cout << i << "は素数です。" << endl;
c++;
}
}
printf("%d個です。",c);
}

素数を表示するプログラムなんですが、
実行結果をテキストファイルに出力するにはどうしたら良いですか?
教えて下さい。御願いします。
ちなみに、コレを実行しても、作成されたテキストファイルは白紙になってしまいます。
0416デフォルトの名無しさんNGNG
>>414-415
MFC関係ないな。

とりあえずこの状態でファイルにも書きたかったら fprintf 使え。
あと、fopenしたファイルはfcloseで閉じろ。
0417デフォルトの名無しさんNGNG
>>413
SendMessageまで使えているのならなぜ第3/第4引数を0のままにしておく?
そこを使えば済む話だと思うのだが。

というか、そのコードは根本的に何かが違う……
0418デフォルトの名無しさんNGNG
マルチポストなのでIP抜いて通報しますた
0419レゴNGNG
MFC関係なくてすいません。
MFC自体知らないんで、すみません。
こっちは、もしかしたら、場違いかもしれないと思い。
移動してみた所、マルチポストと勘違いされたみたいでした。
迷惑掛けてすみません。

fprintfを使おうと思ったんですが、エラーがいっぱい出て分かりませんでした。
fopenとfcloseは、どんな関係なんですか?
もしかして、その間のプログラムがファイルに出力されるんですか?
0420レゴNGNG
fprintfの使い方としては、どんな使い方をすれば、
実行結果をテキストに出力出来ますかね?
0421デフォルトの名無しさんNGNG
>>419
プロ�cなんて知らんが、男が社会の窓を開けたら閉めるのと同じじゃないのか?
閉めないと恥ずかしいだろ?
0422レゴNGNG
そうですね。
やってみます。
0423レゴNGNG
FILE *fp,*fc;
fp=fopen("素数−実行結果.txt","w");
int i, j ,f,n=1000,c=0;
// 1から1000までの数の素数を求める
// i, jはループ変数
// fは一回でも割り切れたら1。
// 一度も割り切れなかったら0。
for(i = 2; i <= n; i++) // i(==2,3,4,..,1000)について調べる。
{
f = 0;
for(j = 2; j < i; j++) // j(==2,3,...,i)で割ってみる。
{
if(i % j == 0) // あるjで割り切れたらfは1。
f = 1;
}
if(f == 0){// iを割り切るjがなかった場合
cout << i << "は素数です。" << endl;
c++;
}
}
printf("%d個です。",c);
fc=fclose("素数−実行結果.txt","w");
0424デフォルトの名無しさんNGNG
>>423
ちみ面白いよ
0425レゴNGNG
と書き換えたんですが、fcloseでエラーが出てしまいました。
エラーが出ない様にするには、どうすれば良いですか?
0426レゴNGNG
C言語なら私に聞いてYO! 49
に移動します。
失礼しました。
0427山崎渉NGNG
(^^)
0428デフォルトの名無しさんNGNG
メニューの1部分のポップアップメニューをメニューの変わりに、
ダイアログを表示したいです。
Cmenuを継承したクラスを作ればできるのかもしれませんが、ちょっとわかりません。
Wordの下線の色を選択するメニューのようなことをしたいので、
ダイアログ使えないのであれば、別な方法でもよいのでやりかた分かる方、
ご教授お願いします。

0429デフォルトの名無しさんNGNG
>>428
オーナードローで書くのかな?
DrawItemとMeasureItemをオーバーライドして……
0430デフォルトの名無しさんNGNG
>>428
http://www.codeproject.com/miscctrl/colour_picker.asp
0431428NGNG
>>430
これはできてるんです、、、。


0432デフォルトの名無しさんNGNG
あるメニューを押したら特定のダイアログを表示するとかそういう単純な問題ではないわけね?
0433デフォルトの名無しさんNGNG
>>428
WM_INITMENU(だったけな?)
0434デフォルトの名無しさんNGNG
もしくは、
WM_INITMENUPOPUP
0435デフォルトの名無しさんNGNG
MCIWndCreateでmpegを再生中にマウスイベントを拾う方法を教えてください。
左クリックでデモムービー停止させたいのです。
0436デフォルトの名無しさんNGNG
■ VisualC++(MFC限定)相談室 MFC6.dll■
         ~~~~~~~~~
0437435NGNG
すいません。SDK限定的な回答を避けようと思っただけですけど。
やっぱり、範囲外ですね。失礼しました。
0438デフォルトの名無しさんNGNG
質問です。
まず、あるエディットボックスにDDXの変数を関連づけました(ed)。
そしてとあるスレッドをCreateThreadで作りました。
スレッドの引数にviewへのポインタを渡して、
内部でview->ed="hoge"とかやって、view->UpdateData(false)をすると落ちてしまいます。
なにがいけないんでしょうか?
0439デフォルトの名無しさんNGNG
DWORD WINAPI th_func(CMyView* view){
  view->ed="hoge";
  view->UpdateData(false);
}
void CMyView::OnButton(){
  CreateThread(NULL,0,th_func,(LPVOID)this,0,NULL);
}

こんな感じです。
0440デフォルトの名無しさんNGNG
VC++でDLLファイルを作って、VB6で動かしたいんですが、やり方が
全く解りません。
そこで、
「VBのフォームにコマンドボタンを一つ付けて、
コマンドボタンを押したらDLLファイルから読み込んだ
1+1=2という計算をさせて、フォームに表示させる」
ということをしてみたいです。

何方かご教授をお願いします。
0441デフォルトの名無しさんNGNG
>>440
どこがわからないのかまず書け。

1. VC++ での DLL の作り方。
2. VB のフォーム/コマンドボタンの作り方。
3. VB での DLL の呼び出し方。
4. VB でのフォームへの表示の仕方。
0442デフォルトの名無しさんNGNG
全部わかりません。1から順番に教えてください。
0443440NGNG
>>441
有難うございます。
上記の「1、3」がわかりません。
よろしくお願いします。
一応yahooで検索はしたんですが・・・何も得られずという感じです。
0444デフォルトの名無しさんNGNG
>>442
お前には一生無理だから、あきらめて寝ろ。

>>443
まず、3 からやれ。
yahoo/google するなり、本屋/図書館 にでも行けば、VB から API (=xxxx.dll) を呼び出している例はいくらでもあるから、まずそっちをきちんと覚えること。

【要注意】
.dll 呼び出しでは、Visual Basic の多くのチェック機構が働かない。
プログラムを組んだら、まず「実行」すると痛い目にあうことが多い。
(VB 自体が異常終了することがある。)
実行の前に、必ず「保存」すること。
ツール(T) - オプション(O) の 環境 タブで、プログラムの実行時に 変更点を保存 にしておくといいぞ。
0445デフォルトの名無しさんNGNG
>>443
ちなみに2〜4はスレ違い。
0446デフォルトの名無しさんNGNG
>>438 439
・MFCでは CreateThreadじゃなく AfxBeginThread 使う
・別スレッドに CWndオブジェクトの this を渡すと、ろくなことがない
0447デフォルトの名無しさんNGNG
wave再生なんかでもあるスレッドでwaveオープンして再生して別のスレッドで
クローズしたりするとおかしくなるもんなあ・・・・。
0448デフォルトの名無しさんNGNG
>>447
いやそれはなにか根本的に違うような。
0449438NGNG
どうもありがとうございました。
MFCは、標準のCやC++と違う機能がいっぱいで、
どこに落とし穴があるかわかんないので怖いですね。
以前もファイルを扱うとき、シリアライズを使わず
FILE*とfwrite()、fread()という旧来の方法でやってたら
おかしくなったりしたことがありましたし。
0450デフォルトの名無しさんNGNG
>>449
それも何か違うような。
0451デフォルトの名無しさんNGNG
いまだにfopen、fcloseしか使えませんが何か?
0452デフォルトの名無しさんNGNG
>>451
それじゃ何もできんだろ。(空ファイルを作ることぐらいはできるか...。(w )
0453デフォルトの名無しさんNGNG
Window に投げられたメッセージを取得するにはどうやるのが一番いいのでしょうか。
MFC を使わなければ WndProc で Message と wParam と lParam が簡単に調べられるのですが、
MFC を使ったときにその 3 つを取得する方法が分かりません。
基本的な事だとは思うのですがよろしくお願いします。
0454デフォルトの名無しさんNGNG
>>453
メッセージの処理中に、GetCurrentMessage()。
が、余程のことがなければMFCアプリで直接生のMSGを触らねば
ならんような事態は、避ける設計にすべきだと思うが。
0455デフォルトの名無しさんNGNG
>>454
なるほど。
ON_COMMAND や ON_NOTIFY みたいに、メッセージを捕まえた上で
wParam と lParam と共に指定の関数を呼び出すといったことは出来ないのでしょうか。
0456デフォルトの名無しさんNGNG
それならそのものズバリの ON_MESSAGE というマクロが。
0457453=455NGNG
>>456
ああぁ、ズバリそれのことです。
ON_NOTIFY でなんとかならないかということばかり考えていました。
どうもありがとうございました。
0458デフォルトの名無しさんNGNG
SDK風に書きたいのなら、CWnd::WindowProcをオーバーライドするとよし。
0459デフォルトの名無しさんNGNG
ダイアログコントロールにアクセスする場合に
(CEdit*)GetDlgItem("IDC_EDT")->SetWindowTest("aaa");
と書かれていますが、このCEditのインスタンスはどこで作られているのですか?

ソースを見ていたら
CObject* CHandleMap::FromHandle(HANDLE h)
という関数が、インスタンスが存在しなくても自動的に生成してくれるようですが
それとも、コンパイル時にどこかに埋め込まれているのですか?
0460デフォルトの名無しさんNGNG
>>459
別にCEditインスタンスが存在する必要はなくて、
ウィンドウハンドルさえわかれば操作は可能。
そもそもGetDlgItemで作られるのは CWnd で、
CEditはそれを継承したクラスでしょ。

参考にSetWindowTextってWin32APIもあるから調べてみれ。
0461名無し@沢村NGNG
>>459
ヌヒよ、まず演算子の優先順位を勉強することをおすすめする。
0462デフォルトの名無しさんNGNG
CWndにしたって結局HWND周りをラッピングしたクラスだしな……
0463デフォルトの名無しさんNGNG
>>461
見当違いな物を進めんな
0464名無し@沢村NGNG
>>463
(゚Д゚)ハア?
0465デフォルトの名無しさんNGNG
なぜ演算子の優先順位を勉強することをおすすめするのか、ぜひ聞いてみたいもんだな(藁
0466459NGNG
>>460
Win32APIベースでのプログラミングは普段やっていますのでわかります。
CEditなりCWndのメンバを呼び出すには、インスタンスは必要になりませんでしょうか?
C++の知識が曖昧なので自身は無いですが。。。

>>461
((CEdit*)GetDlgItem("IDC_EDT"))->SetWindowText("aaa");
でした。
0467デフォルトの名無しさんNGNG
>>465
(CEdit*)GetDlgItem("IDC_EDT")->SetWindowTest("aaa");
ここでSetWindowTest()はCEdit*ではなくCWnd*のメンバとして扱われる。
0468デフォルトの名無しさんNGNG
http://www.agemasukudasai.com/bloom/
0469デフォルトの名無しさんNGNG
GetDlgItem()が返したCWnd型のポインタをCEdit型のポインタにキャストして、
そのメンバ関数であるSetWindowText()呼んでるだけだろ?
0470デフォルトの名無しさんNGNG
>>469
キャストされてるように見えるかね。
0471sageNGNG
>>469
そのCWndの実体は何処にあるのですか?という質問です。
例えば、
CWnd temp;
temp.Atatch ( ::GetDlgItem ( this->m_hWnd, IDC_EDIT );   //←適当に作りました
temp.SetWindowText ( "aaa" );
みたいに実体がないとCWndのメンバ関数は使えないと思うのですが。。。
なんか混乱してきました。
0472デフォルトの名無しさんNGNG
そのへんはMFCフレームワークでうまくやっているんだろう。
0473名無し@沢村NGNG
>>471
ヌヒよ、フレームワークはすべてのウィンドウを管理するリストかマップを内部に持っていて
そこでCWndのインスタンスを一元管理しているのだよ。
0474459NGNG
>>473
MFC初めていきなりのつまづきでしたが、
質問してからいろいろ調べている間にだんだん解ってきました。
DDXを用いた場合はDoDataExchangeでその辺のことが行なわれているのでしょうね。
ありがとうございました。
0475デフォルトの名無しさんNGNG
MFCの勉強サイトってどこが一番充実してますか
ネコでもわかる〜はMFC編は少ししか無いので・・・
0476デフォルトの名無しさんNGNG
>>475
何かしら簡単なもの作ってみて判らない部分があったらネットで
探すって方法がいい勉強になるよ。
0477デフォルトの名無しさんNGNG
初心者向けではないかもしれんが、結構いろいろと勉強になる。
http://www.bd.wakwak.com/~opapa/
0478デフォルトの名無しさんNGNG
ダイアログベースのMFCでデフォルトでのボタンのターゲットの変更ってどうやるんですか?
0479B¥NGNG
libcmtd.libが他のライブラリと競合してるとのメッセージが出ましたが
どうやれば回避できるでしょうか?
また競合している相手のライブラリは特定できるでしょうか?
お願いします
0480デフォルトの名無しさんNGNG
>>479
Cランタイムライブラリ関数を使わない

>>478
質問が曖昧で非常に答えづらいが……
・TABキーでフォーカスを移動
・コントロールのプロパティで「標準のボタン」にチェック
このへんだと思う
0481デフォルトの名無しさんNGNG
>>478
動的に変えたいって意味なら、SetDefaultButton() "みたいな" 関数が
あるかもしれない。ないかもしれない。(調べてないので)
CWnd か CDialog のクラスメンバをひとつずつ確認して見れ。
0482デフォルトの名無しさんNGNG
MFC.netとC++でGUIアプリケーションを作ったのですが、
開発マシン上では正常に動作するのですが
ほかのマシンの上ではウインドウがちかちかしてしまって
正常に動作できません。
.netの再配布パッケージを入れても同じでした。
このような現象がおきる原因とはどんなものがありますでしょうか?
0483デフォルトの名無しさんNGNG
OSとか
0484デフォルトの名無しさんNGNG
>MFC.net
managedなんだかunmanagedなんだかよくわからんな・・・
0485482NGNG
.NET SDKの開発用バージョンも入れてみたんですが、
だめでした・・・プログラミングの問題かなあ・・・・

0486デフォルトの名無しさんNGNG
__FILE__,__DATA__,__LINE__
などのように今の行がどの関数に含まれているのか
置き換えてくれるマクロはありませんか?
0487デフォルトの名無しさんNGNG
>>486
__FUNCDNAME__, __FUNCSIG__, __FUNCTION__
見事にあるが、ヘルプ見たか?
0488487NGNG
む。
まさかVC++7からの新機能だったか?
0489デフォルトの名無しさんNGNG
>>488
VC6では無かったはず。
0490486NGNG
E:\Projects\hoge\hoge.cpp(41) : error C2065: '__FUNCDNAME__' : 定義されていない識別子です。
E:\Projects\hoge\hoge.cpp(41) : error C2065: '__FUNCSIG__' : 定義されていない識別子です。
E:\Projects\hoge\hoge.cpp(41) : error C2065: '__FUNCTION__' : 定義されていない識別子です。
見事に定義されてませんでした。
(´・ω・`)ショボーン

ともかくサンキュ〜。
0491デフォルトの名無しさんNGNG
ちょっと複雑な話ですが誰かお相手して下さい。
ダイアログにMSFlexGridを直接貼らずに、間にCWndをはさんでその上からはっ付けているのですが、
カーソルキーでのセル間移動が行なわれなくなりました。
(親子関係は DialogBox → WS_VISIBLE|WS_CHILDのウィンドウ → MSFlexGrid)
たぶん、MSFlexGridのPreTranslateMessageがCWndのメッセージを横取りしているだけで、
本来の機能をなしていないのだと思うのですが。違うかもしれません。
CWnd の PreTranslateMessage で SetCol(GetCol()+1) などとすると実装は出来ますが、何か解決策はないでしょうか?

#同じような問題でMSFlexGridのチャイルドにフローターのEditBoxを貼りつけるとカーソルが利かなくなります。
#これはまずいかなと思い、CWndを親にFlexGrid、EditBox、ComboBoxなどをもたせてカプセル化したいのですが。
0492デフォルトの名無しさんNGNG
VCで作ったDLLについてなんですが、、
DLLとしてコーディングしていくとき、確保する配列が大きすぎるとエラーになるものなんでしょうか?
静的に(配列を使う)メモリ確保するとエラーになって、同サイズを動的に(malloc)確保するとうまくいくのですが?
0493デフォルトの名無しさんNGNG
>>491
CWnd::PreTranslateMessage内でMSFlexGridのPreTranslateMessageへ丸投げしたらどうだろう。

>>492
どんなエラーかわからないので答えようがありません。
0494デフォルトの名無しさんNGNG
>>493
なるほどと思って丸投げしたところ、戻り値ゼロ、即ちPre〜は関係ないみたいです。
よってSDIフレームに貼り付けてみてもやはりだめでした。
コントロールをChildのChildにすると生じそうな問題ってなんでしょうか?
0495491NGNG
たびたびすいません。
現状を完結に書きますのでよろしくお願いします。

MFCダイアログボックスアプリ
メインダイアログの OnInitDialog にて

m_flexGrid.Create ( "test", WS_VISIBLE | WS_CHILD, CRect(〜) , this, uID );

とした場合は正常に作動。普通の使い方です。
これを、間にひとつウィンドウをかませて

m_window.Create ( NULL, "testwin", WS_VISIBLE | WS_CHILD, CRect(〜), this, uID );
m_flexGrid.Create ( "test", WS_VISIBLE | WS_CHILD, CRect(10,10,300,200) ,&m_window, uID );

とすると、カーソルキーが応答しません。

SDIアプリの CMainFrame::OnCreate() に記述すると上記のどちらとも応答しませんでした。
ParentがDialogでなければならない理由があるのでしょうか?
0496デフォルトの名無しさんNGNG
>>495
>m_window.Create ( NULL, "testwin", WS_VISIBLE | WS_CHILD, CRect(〜), this, uID );
>m_flexGrid.Create ( "test", WS_VISIBLE | WS_CHILD, CRect(10,10,300,200) ,&m_window, uID );

IDが一緒ですかぃ?
0497デフォルトの名無しさんNGNG
MFCアプリケーションによってA4縦やA4横でプリントアウトしたいのですが、
通常の印刷処理では、プリンタの設定で縦横自由に設定できてしまいます。
このあたりの設定を、せめてプリントアウト時にアプリケーションごとに
デフォルトの設定値として行いたいのですが(変更はできても良い)、
具体的な方法が見つからないで困っています。
何かヒントでも構いませんので、ご存知の方いらっしゃいましたら教えていただけませんか?

環境は、
VC++6.0
WinXP、Win2000
です。よろしくお願いいたします。
0498名無し@沢村NGNG
>>497
ヌヒよ、君に特別にヒントをあげよう。
CWinApp::GetPrinterDeviceDefaults()だ。
0499デフォルトの名無しさんNGNG
紙サイズ限定なんてイヤすぎる……
0500デフォルトの名無しさんNGNG
コマンドボタンを押したらマウスのカーソルが砂時計になるようにしたいのですが、
やり方が全く解りません。
ご教授お願いします。
0501デフォルトの名無しさんNGNG
>>500

#include <wincurs.h>

ChangeCursor(CUR_CLOCK);
0502デフォルトの名無しさんNGNG
AfxMessageBox関数でメッセージボックスを表示したんだけど、
どうしてもアイコンが表示されてしまう。
アイコンを表示させない方法ってあります?
0503デフォルトの名無しさんNGNG
タスクバーにアプリのダイアログ表示をさせないようにするのは
どうすればよいですか?
VBでは簡単にできたのですが・・・。
0504名無し@沢村NGNG
>>500
CWaitCursor
0505デフォルトの名無しさんNGNG
>>502
ない

>>503
http://www.google.com/search?q=MFC+%E3%82%BF%E3%82%B9%E3%82%AF%E3%83%90%E3%83%BC+%E8%A1%A8%E7%A4%BA%E3%81%95%E3%81%9B%E3%81%AA%E3%81%84&sourceid=opera&num=0&ie=utf-8&oe=utf-8
0506デフォルトの名無しさんNGNG
最近のMSDNmagazineにメッセージボックスをフックでいろいろ変えるって記事が載って気がするけど
MFCじゃないのでsage
0507503NGNG
>>505
ありがとうございます。
googleで調べる方法を忘れていました。
0508デフォルトの名無しさんNGNG
windowsでPCIMCAスロットルじゃなくて複数usbスロットルに差ささった
コンパックとフラッシュ・カードのcis tupleを取得する方法がわからん・・・。
BSDのPAOていけたんかな・・
0509デフォルトの名無しさんNGNG
>>502
一箇所だけ消したいならAfxMessageBoxの代わりにCWnd::MessageBoxを使う。
アプリ全体のAfxMessageBoxで消したいならCWinApp::DoMessageBoxをオーバーライドする。
0510デフォルトの名無しさんNGNG
グループ化したラジオボタンの値を取得するには
GetDlgItemを使うしかないのでしょうか?

マイクロソフトサンプルのViewexを見るとラジオボタンもDDXを使っている
のですが、どうやるのでしょうか?
0511デフォルトの名無しさんNGNG
>>510
普通にやれ
0512デフォルトの名無しさんNGNG
>>510
なんのためのサンプルなのか考えれ
0513デフォルトの名無しさんNGNG
>510
CWnd::GetCheckedRadioButton
0514495NGNG
>>496
IDはユニークです。コピペミスです。親子間でユニークである必要があるのかどうかはしりませんが。

どなたかMSFlexGridをウィンドウにに貼りつけた、もしくはATL等で貼りつけたことのある方はいらっしゃらないでしょうか?
MFCベースのDialogに貼ると上手くいきますが、CWndやATLのDialogに貼りつけると
カーソルキーに反応してくれません。
0515デフォルトの名無しさんNGNG
>>514
OnNotifyかな……
0516デフォルトの名無しさんNGNG
>>514
>親子間でユニークである必要があるのかどうかはしりませんが。
極端な話、1アプリ1IDでも問題ないと?
0517デフォルトの名無しさんNGNG
>>515
OnNotifyのなんでしょうか。できればもう少し詳しくお願いします。

>>516
>極端な話、1アプリ1IDでも問題ないと?
問題無いかどうかはしりません。申し訳ない。
ただコントロールIDはそれが属するウィンドウ内で一意であればいいように思ったので。
0518デフォルトの名無しさんNGNG
>>500
CCmdTarget::BeginWaitCursor()
CCmdTarget::RestoreWaitCursor()
CCmdTarget::EndWaitCursor()
もありまつ。

CWnd と CApp の基底クラス。

0519デフォルトの名無しさんNGNG
ダイアログのアプリでダイアログクラスにユーザーメッセージ飛ばそうとしたらコンパイルエラーが出て
アプリケーションクラスにユーザーメッセージ飛ばそうとしたら問題なく通る。
こ ん な 事 あ る ?
0520デフォルトの名無しさんNGNG
>>519
エラーの内容を。

0521デフォルトの名無しさんNGNG
てか、当たり前だろ。
0522デフォルトの名無しさんNGNG
ダイアログベースのプロジェクト。
子ダイアログのスタイルはチャイルドでタイトルバー付き。
子ダイアログにエディットボックスを配置。
親から子を表示。

こうすると、子ダイアログのエディットボックスにクリックでフォーカスを移せません。
タブ押せばフォーカスは移るし、入力も出来るのだけど…。

クリックで子ダイアログのエディットボックスにフォーカスを移せるようにするには、どうすればいいんでしょうか?
0523デフォルトの名無しさんNGNG
ウィザードで分割プロジェクトを作成するときに
CEditViweを選択できないのはなぜでしょうか?
0524デフォルトの名無しさんNGNG
VC6では、bitmapのサイズ、プロパティーで変更できるけど
vc++.net プロパティー開いてもサイズ変更の項目ない・・・・
netでリソースのbitmapのサイズ変更の仕方教えてたも〜
0525524NGNG
やり方
わかったから、もういいや
0526デフォルトの名無しさんNGNG
>>522
なぜCHILD……?

>>523
ウィンドウ分割を使用せずにCEditViewを選択状態にして、
ステップ4まで戻って詳細設定からウィンドウ分割を選択すると理由が表示される
0527523NGNG
ありがとうございます。
参考になりました。
しかし、CEditViewとツリービューに分割したい場合
どうすればいいのでしょうか?
0528デフォルトの名無しさんNGNG
>>527
生成したと自分で変更
0529デフォルトの名無しさんNGNG
>>527
ウィザードじゃなくて後から自力で分割するとか、
とりあえずCTreeViewで作っておいて片方をCEditViewにするとか。
0530デフォルトの名無しさんNGNG
>>528,529
ありがとうございます。
ウィザードでサポートされていないので自力でも分割できないのかと
思ってしまいました。
0531530NGNG
マイクロソフトのものではなく
CTreeViewのサンプルを見たいのですが、
良いものないでしょうか?
またはCTreeViewを使っている簡単なオープンソースの
フリーウェアなどはないでしょうか?
0532名無し@沢村NGNG
>>531
ヌヒよ、ここで適当に探せば。
http://www.codeproject.com/
http://www.codeguru.com/
0533デフォルトの名無しさんNGNG
CArchiveを使ってファイルを読み書きしています。
ループを使ってファイルの中身を全部読み取るとき、
ループ終了条件はどう記述するのがよいのでしょうか?

CFile f(".\\test.dat", CFile::modeRead);
CArchive ar(&f, CArchive::load);
while(1){
  ar >> test;
  if( 何か ) {
    TRACE("全部読み取った\n");
    break;
  }
}

もしくは
CFile f(".\\test.dat", CFile::modeRead);
CArchive ar(&f, CArchive::load);
while( 何か ){
  ar >> test;
}
TRACE("全部読み取った\n");
0534デフォルトの名無しさんNGNG
好きにしれよ
0535デフォルトの名無しさんNGNG
ビットマップをウィンドウに表示せずにRGBを調べて、それをテキストファイルに出力させたいんだけどどうすればいいでしょうか?

普通ならリソースにビットマップの画像を登録して、BitBltで画面に表示してから1ピクセルごとにRGBをとるんだけど
   CBitmap newBitmap;
   CBitmap *pOldBitmap;
   newBitmap.LoadBitmap(IDB_BITMAP1);
   myDC.CreateCompatibleDC(pDC);
   pOldBitmap=myDC.SelectObject(&newBitmap);
   pDC->BitBlt(x0,y0,xw,yh,&myDC,0,0,SRCCOPY);   //原画像を表示する
   myDC.SelectObject(pOldBitmap);
   for(j=0;j<yh;j++)
      for(i=0;i<xw;i++){
         color=pDC->GetPixel(x0+i,y0+j);
         r=GetRValue(color);
         pDC->SetPixel(x1+i,y0+j,RGB(r,0,0));
         g=GetGValue(color);
         pDC->SetPixel(x0+i,y1+j,RGB(0,g,0));
         b=GetBValue(color);
         pDC->SetPixel(x1+i,y1+j,RGB(0,0,b));
      }
}
これだと一旦表示してからなので、BitBltをコメントアウトして表示しないようにしたらRGBが取れなくなってしまった…
解決策を教えてください!!


0536デフォルトの名無しさんNGNG
>>535
画面のちらつきを押さえるために pDCのコピーを作ってそっちに
描画し、あとでコピーをpDCに写しますが、そういう風にpDCのコピーにビットマップを
描画してはどうですか。
0537名無し@沢村NGNG
>>535
ヌヒよ、GetDIBits()を使いなさい。
0538482NGNG
>MFC.netとC++でGUIアプリケーションを作ったのですが、
>開発マシン上では正常に動作するのですが
>ほかのマシンの上ではウインドウがちかちかしてしまって
>正常に動作できません。
>.netの再配布パッケージを入れても同じでした。
>このような現象がおきる原因とはどんなものがありますでしょうか?

この質問をしたものです。
いろいろ調査した結果、問題は何も処理をしていないのに
onSizeが延々と呼ばれ続けることにあるようです。
そのため再描画が次々かかる模様です。
開発マシンではそのようなことはないのですが、これは
どういう理由によるものと考えられますでしょうか?
0539デフォルトの名無しさんNGNG
>>538
ウィルス
0540482NGNG
すみません問題はOnsizeではなくて
OnPaintが延々と呼ばれていることでした。
OnPaint内でPostMessage(WM_SIZE)していたのです。
どうもダイアログアプリケーション内でのOnPaintの扱いが
よくわかっていないようです。
もう少し調べてみます。汚してすいません。
0541デフォルトの名無しさんNGNG
>>540
WM_SIZEだすとOnPaint呼ばれるというループ
0542482NGNG
>541
ありがとうございます。
PosMessage(WM_SIZE)をやめたら
全体がチカチカするのは何とか抑えられました。

リストビューやエディットボックスはきちんと使えるのですが、
今度はコンボボックスだけがクリックしても反応させることができません。
おそらくなにか余計なメッセージがでてじゃましているのかと検討をつけているのですが・・・
0543デフォルトの名無しさんNGNG
>>531
http://www.google.com/search?q=CTreeView+%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB
0544デフォルトの名無しさんNGNG
現在ActiveXコントロールを開発しているのですが、
コントロール内にいくつもボタンを配置する手段で
悩んでおります。
できるものならダイアログテンプレートを使用した
いのですが、どうやってCOleControlにバインドさ
せたらいいのかわかりません。
どなたか、このあたりの手練手管に長けた方、教え
ていただけませんか?
VC6、Win2000です。
0545デフォルトの名無しさんNGNG
>>499
>紙サイズ限定なんてイヤすぎる……

定型フォーマットの用紙に印刷したいときなどは必須ですね。
人間の操作のし忘れをウィンドウズでカバーできないというのも、
使い勝手が悪いことのひとつでしょうな。
0546デフォルトの名無しさんNGNG
バイナリエディタ作成で質問があります。
ただ、通常のMDIのタイプと違って、ダイアログベースで作っています。
まず、タブコントロールを用意して、一つのタブにバイナリエディタ
を表示させようとしています。
別のタブには、たとえばプログラムを逆アセンブルしたリストなどを表示。

こんな感じで作っているのですが、バイナリエディタ部分は
どのクラスを使うのが最適でしょうか?
0547デフォルトの名無しさんNGNG
>>546
強いて挙げるならEditコントロールかな……
ルーラーもできないことはない。
単純に貼り付けるだけで実現できるようなコントロールはないと思う。

ダイアログベースというのがそもそも間違いな気がしないでもない。
0548546NGNG
バイナリエディタだけなら、MDIとかで作ってるのがほとんどだと
思います。
だけど、今回は、バイナリエディタ以外にもいろいろと機能を
持った総合的なソフトを作ろうかと思ってるので困っています。

必須な機能としては
・タブで項目を選べること
・バイナリエディタ
・プログラムを逆アセンブルしたものを表示
・ラジオボタンで選択したり、エディットボックスに入力したり。

こんな感じなので、各機能をタブで分けて表示するのが
便利かなぁと思っているのですが。
0549デフォルトの名無しさんNGNG
ウィザードに従ってエクスプローラ型のアプリケーションを
作成し実行しただけなのですが、
新規ファイルを開いただけでエラーが発生します。
何が悪いのでしょうか?
0550549NGNG
追加です。

右側のviewとしてCEditViewを選択しました。
0551デフォルトの名無しさんNGNG
>>549
いつも思うけど、どうして質問者は「エラーが起こります」としか書かんのかねぇ?
エラーって言ってもピンからキリまであるだろうに。
>>523-529
あたりを参考にしる。

>>548
いや、タブで切り替えにしてもダイアログベースにこだわる必要は全然ないよ……
ダイアログベースでないとタブとか使えないと思ってるのかな?
いや総合的なアプリを作ろうとしてるのにそんなわけはないよな。
0552449NGNG
>>551
失礼しました。とりあえず手動で分割したら
エラーは出なくなりました。
0553デフォルトの名無しさんNGNG
>>551
> >>549
> いつも思うけど、どうして質問者は「エラーが起こります」としか書かんのかねぇ?

状況把握できないほどパニクってるから。

つーか「天は自ら助く者を助く」だと漏れは思うんだけどそんな香具師は自分で解決しちゃう率が高いっぽいのであとにはカスしか残らないのでわ?
0554デフォルトの名無しさんNGNG
次スレ立てるならテンプレに書いておいたほうがいいな。
幼稚園児レベルにもわかるように。
0555デフォルトの名無しさんNGNG
今からこのスレは次スレのテンプレを考えるスレに変わりました。
ではスタート↓
0556デフォルトの名無しさんNGNG
初心者にVC++を教えるスレも一緒に書いておけばいいべ。
ついでにWinAPI32スレとVC++スレも。ついでにCスレとC++スレ・・・
0557デフォルトの名無しさんNGNG
■ VisualC++(MFC限定)相談室 MFC6.dll■
http://pc2.2ch.net/test/read.cgi/tech/1039607377/

★初心者にVisual C++を教えるスレ★ Part4
http://pc2.2ch.net/test/read.cgi/tech/1044196393/
VisualC++ 相談室【9】
http://pc2.2ch.net/test/read.cgi/tech/1036897197/
C++相談室 part15
http://pc2.2ch.net/test/read.cgi/tech/1043605481/
Windows Programing for C/C++(Not MFC)
http://pc2.2ch.net/test/read.cgi/tech/1018239290/
Win32API 質問箱 Build8
http://pc2.2ch.net/test/read.cgi/tech/1040964626/
0558デフォルトの名無しさんNGNG
他のサイトじゃ初心者向けと言いつつ・・・って所が多いからねえ。
せめてここでは多少の厨的な質問にも答えてやって欲しい気がしないでもない。
0559139NGNG
わからなくもないが、
さすがに度を越えた香具師が多いしな・・・(;´Д`)
0560デフォルトの名無しさんNGNG
>>558
質問内容のレベルはどうでもいいんだけど、
質問の仕方を小学校で学びなおしたほうがいいヤツが大杉
0561デフォルトの名無しさんNGNG
スレ違いかと思いますが、、、VC++6.0の新規作成の時に、
「MFC Appwizard(exe)」
と「
Win32 Application」
がありますが、基本的には前者はMFCクラスライブラリを使うことが出来て
後者はそれが使えない、という程度の違いなのでしょうか?
0562デフォルトの名無しさんNGNG
>>561
実際に新規作成して違いを比べてみればいいよ
それでもわからなかったら質問して
0563デフォルトの名無しさんNGNG
>>561
後者でも自前で設定すりゃ使えるが面倒。
Wizardってのは、あくまで手動による手間とミスを減らすためのツールに過ぎん。
0564質問者NGNG
SDI。VC++6。
ID_FILE_SAVE_COPY_AS のハンドラを自前で用意したいのだが
デフォルトのハンドラの殺し方&オーバライドの方法がわかりません。
ふつーに CWinAppやCFrameWndの派生クラスに
ID_FILE_SAVE_COPY_ASのCommandハンドラを用意しても無反応。
どうすればよいのでしょう?
0565デフォルトの名無しさんNGNG
>>564
ID_FILE_SAVE_COPY_AS つかわずに自前でIDを用意する、っていうのはナシ?
0566564NGNG
>>565
な、なるほど‥‥。
ほかに手段がなければそうするしかないですが‥‥。
0567デフォルトの名無しさんNGNG
そして保存するときはWM_COMMANDとID_FILE_SAVEを投げる、と。
0568564NGNG
ああっ、やろうとしてるのは
ID_FILE_SAVE_COPY_AS じゃなくてID_FILE_SAVE_AS でした。
(表記間違い)
0569564NGNG
>>565さん案で、IDを追加して対応することにしました。
ありがとうございました。
0570デフォルトの名無しさんNGNG
>>564
>ふつーに CWinAppやCFrameWndの派生クラスに
それはちっともふつーじゃない。
MSDN の「検索」でID_FILE_SAVE_AS を検索してごらん。

無反応なのは、コマンドルーティングの優先順位の関係だろう。
0571デフォルトの名無しさんNGNG
Editboxの64K文字の文字数制限って変えられないんですか?
0572デフォルトの名無しさんNGNG
>>571
変えられるよ
頭にRichを付けるだけ
0573デフォルトの名無しさんNGNG
MFCをSDI形式でスケルトンを生成して、VBのようにボタンやテキストボックス
を配置したいのですが、MFCが生成したコードのどこを追加したら配置処理ができますか?
ダイアログを使わないやり方で教えて下さい。
0574デフォルトの名無しさんNGNG
>>573
MFC AppWizard ステップ1でSDI
MFC AppWizard ステップ6で基本クラスCFormView
0575デフォルトの名無しさんNGNG
もしくは……
CButton型の変数などをビュークラスのメンバ変数として持っておいて、
OnCreateで作成・OnSizeで配置。
0576デフォルトの名無しさんNGNG
MFCでDAOを使用しているのですが
データベースのfield1というフィールドからdoubleの値を取り込みたいときに
COleVariant olebaka;
CString strbaka;

olebaka = m_pRecordset->GetFieldValue("field1");
strbaka = V_BSTRT(&olebaka);

のようにしてCString型に変換してからdoubleに変換するしかないのでしょうか?
というかCStringからdoubleに変換する方法もわかりません。
V_BSTRT以外に何かよい方法はありませんか?

どちらかでもいいのでよろしくお願いします。
0577デフォルトの名無しさんNGNG
型をもっと勉強しよう。
取り出すときは文字データとしてしか得られないからCStringなのは当り前。
0578デフォルトの名無しさんNGNG
AfxBeginThreadで開始したスレッドを強制終了させたいんですが

WIN32APIのTerminateThreadみたいなやつありませんか?
0579デフォルトの名無しさんNGNG
>>578
ない。
0580デフォルトの名無しさんNGNG
というか、TerminateThread使えよ
0581デフォルトの名無しさんNGNG
>>580
API レベルで、TerminateThread を使っていいかという議論はさておき、MFC レベルだと絶対ダメ。
0582578NGNG
やっぱ無いのか・・・
素直にTerminateThreadつかいます

>>581
>MFC レベルだと絶対ダメ。
TerminateThread結構便利で、つい頼っちゃうんだけどまずいっすか?
0583デフォルトの名無しさんNGNG
ワーカースレッドならそもそも強制終了を頻繁にしなきゃならない設計に
問題があると疑った方がいいかも
0584名無し@沢村NGNG
>>582
ヌヒよ、スレッド終了用のEventでも用意しなさい。
0585デフォルトの名無しさんNGNG
>>582
MFCのスレッドは扱いに気をつけませう
0586578NGNG
いろいろサイト回って勉強してきまふ
皆さんアドバイスどうもです
0587デフォルトの名無しさんNGNG
const CString& CString::operator=(LPCTSTR lpsz)
{
ASSERT(lpsz == NULL || AfxIsValidString(lpsz));
AssignCopy(SafeStrlen(lpsz), lpsz);
return *this;
}

ここのASSERTで引っかかるんですがこれってどういう意味ですか?
ちなみにstrcore.cppのline 344のところです。
0588デフォルトの名無しさんNGNG
>>587
ASSERTとAfxIsValidStringをヘルプで調べることをオススメする。
0589デフォルトの名無しさんNGNG
ビットマップを縮小して表示させるにはどうしたらいい?
ちょうどサルネイルみたいな感じで表示させたいんだが…
そういう関数ってある?
0590デフォルトの名無しさんNGNG
CDC::StretchBlt
ビットマップを転送元の四角形から転送先の四角形に移動します。このとき、必要に応じて、転送先の四角形に合うように、ビットマップを拡大、縮小します。
0591デフォルトの名無しさんNGNG
590さん、さんくすです
あとも1つ質問ですが、ビットマップを縮小したときに画像の絵ってやっぱり潰れてしまうのでしょうか?
(例えば線が消えてしまうとか)
0592デフォルトの名無しさんNGNG
>>591
潰れないように縮小はムリだろ。
ベクトルデータでラインとかのデータを持ってりゃ別だが。
0593デフォルトの名無しさんNGNG
Power Users権限のユーザーが setup.exe とか install.exe を実行すると
自動的に「別のユーザーとしてプログラムをインストール」という画面が出てきて
きますが、プログラムの中から system関数や_spawnl関数などででsetup.exeや
install.exe を実行すると「別のユーザーとして…」の画面が出てきません。
プログラム中からsetup.exeやinstall.exeを実行して、「別のユーザーとして…」の
画面を出すにはどうしたらいいでしょうか?

(ダメな例)
system("setup.exe");
_spawnl(_P_WAIT, "install.exe", "install.exe", NULL);

開発環境:Windows2000SP3 VC++6
0594デフォルトの名無しさんNGNG
>>593
ちょっとすぐに試せないんで想像で悪いけど、ShellExecuteとかもダメかい?
0595593NGNG
>>594
できました!!ありがとうございます!!

(できる例)
ShellExecute(this->GetSafeHwnd(), "open", "c:\\setup.exe", NULL, NULL, SW_HIDE);
0596デフォルトの名無しさんNGNG
アップウイザードでSDIプロジェクトを生成しました。
このタイプのプログラムではメニューが最初から1つあると思うのですが、
メニューを使わないのでメニューを表示させないようにしたいです
どうすれば良いでしょうか。
よろしくです。
0597デフォルトの名無しさんNGNG
SetMenu(NULL);
0598デフォルトの名無しさんNGNG
>>597
お礼が遅くなりました。どうもありがとうございます。m(__)m
0599デフォルトの名無しさんNGNG
Zオーダーについて質問です。
ダイアログベースで、エディットボックス(以下edit)の上に重ねて
リストボックス(以下list)を配置しました。
タブオーダーでeditを1、listを2にするとリストは表示されるがマウスクリックを受け付けず、
逆にするとクリックは出来るが選択した項目だけ描画され、枠は表示されません。
listをeditに重なるように表示させ、
かつマウスで項目を選択できるようにするにはどうしたら良いのでしょうか?

リストを再表示させようとInvalidate()やUpdateWindow()、
SetWindowPos()でwndTopMostをセットしてみたりもしたんですが、
どうにもうまく行きませんでした。
0600デフォルトの名無しさんNGNG
>>599
>ダイアログベースで、エディットボックス(以下edit)の上に重ねて
>リストボックス(以下list)を配置しました。

なにがやりたいわけ?
0601デフォルトの名無しさんNGNG
俺もそれが気になって返答しかねた。
コンボボックスじゃダメなんだろうか。
0602デフォルトの名無しさんNGNG
自動でプログラムをバージョンアップさせる仕様を作りたいのですが
exeをサーバーから再ダウンロードして、自分自身を再起動させる感じで
いいと思うのですが、
自分自身のexeを終了させてから、かわりに新しくダウンロードしたexe
を起動させるにはどうしたらよいでしょうか?
また、exeも同名、同位置で入れ替えたいのですが・・・

どなたかアドバイスください

0603デフォルトの名無しさんNGNG
バッチファイルか別のexe。
0604602NGNG
バッチファイルは考えてみたのですが、
そこで、リネームかコピーするにしても
元のexeから実行すると、それを書き換えることはできないですよね・・・
そこが悩みです
0605デフォルトの名無しさんNGNG
あーbatじゃまずいか。
じゃあ、別のexeを作ったら?

a.exeの中でb.exe起動 -> bはaが死ぬまで待機 -> aが死んだら書き換え
->aを起動してbは終了。

こんな感じで。
a.exeの中でb.exeをリソースとして持ってb.exeを実行時に生成
すればbも更新する事も出来る。
0606602NGNG
>>605
ありがとうございます
姑息ですが、いけそうですね!
メッセンジャーのアップデートとか、ほかのプログラムも
やはり概ね、ほかのプロセスから制御ってのがポイントですかねーー
0607デフォルトの名無しさんNGNG
>>606
姑息っつーか普通はそうだと思うぞ、
b.exeとか言ってるから姑息っぽいけど普通はsetup.exeとかになるだろ
0608デフォルトの名無しさんNGNG
CToolBarを使って、アイコンの右に文字を出したいのですが、
どーにもこーにも出せません。
codeprojectのSizableReBar_demoがアイコンの右に文字をだしているので、
ソースを追っていて、下に文字を出すところまではできたのだけど、
右に出せないのです。どーしたらいいのか教えてください。
オーナードローとかしなきゃいけないのかなぁ。
0609599NGNG
>>600
説明不足でした
editはマルチラインです
要はVCやVBのコード補完機能のリストのように動作させたいわけです。
0610デフォルトの名無しさんNGNG
>>609
だからコンボボックスじゃいかんのかと。
0611デフォルトの名無しさんNGNG
>>609
それって重ねる必要なくない?
editの下にlistを置けば良いと思うが・・・
0612デフォルトの名無しさんNGNG
あるプログラム(exe)が実行されているかどうか調べたり
それを終了させる方法を教えてください。
あと、任意のexeを起動させる方法教えてください
0613599NGNG
うーん、VCのコード補完機能をそのまま真似したいだけなんですが・・・
テキストエディタでカンマが入力されると、
カレット位置に次の候補リストが表示される、と。

>>610
コンボボックスのエディット部を利用するということですか?
でもあれって1行だけですし・・・テキストエディタにはならないかと

>>611
カレット位置にリストを持っていきたいので、
どうしてもエディットボックスに重なるようになります

一番納得のいかないことは、
タブオーダーでリストを最前面にする:フォーカス当たるが描画されない
エディットボックスを最前面にする :(リストに)フォーカスはないが描画されている
コレあべこべなんじゃないかと。

リスト云々は抜きにして・・・
コントロールが二つ重なったときに、
どちらかを最前面(フォーカス、描画ともに)にするにはどうすればいいのでしょうか
同じ親ウインドウを持つ子ウインドウ同士では不可能なのでしょうか
あるいは描画の順番の問題なのかも・・・
0614デフォルトの名無しさんNGNG
>>613
どっちも同じ子供なんだから、片方だけ特別扱いはできないだろ。
そういう使い方するんなら、リストボックスの方を独立したポップアップウィンドウにすれ。
子ウィンドウである限り、親ウィンドウの外には出られないという制約がつくわけだし。
0615名無し@沢村NGNG
>>608
TBSTYLE_EX_MIXEDBUTTONS
TBSTYLE_LIST
BTNS_SHOWTEXT
0616612NGNG
少し自分で調べてがんばったのですが、
あるプロセス(というかEXE)が、実行中かどうかを調べたいのですが
APIがわかりません。API名だけでもいいのでどなたか教えてください。
0617名無し@沢村NGNG
>>616
ヌヒよ、本当に調べたのか?
http://www.google.co.jp/search?q=cache:TwFOROT3lsoC:www.microsoft.com/japan/support/kb/articles/J041/6/32.htm+%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9+%E5%88%97%E6%8C%99&hl=ja&lr=lang_ja&ie=UTF-8
0618612NGNG
>>617
ありがとうございます
しかし、、「列挙」なんて検索ワードは思いもつきませんでした。
1つ1つ比較するしかないですかー

単純に任意の「〜.exe」が実行中かどうか一発で調べられる
便利なAPIはやっぱないんですかね
0619デフォルトの名無しさんNGNG
あーあ、沢村の虚言を間に受けたかわいそうな人がまた一人
0620デフォルトの名無しさんNGNG
>>619
で、結局どこが嘘なの?
0621デフォルトの名無しさんNGNG
>>618
DeleteFileしてみてエラーが出たら実行中だyo!
0622612NGNG
>>621
実行終了と同時にファイルが消えてしまうのは、いただけませんねー
0623デフォルトの名無しさんNGNG
オナニーのやりかたがわかりません!
0624デフォルトの名無しさんNGNG
>>623
お父さんに教えてもらいなさい
0625デフォルトの名無しさんNGNG
MFCのダイアログエディタの使い方がよくわかりません。
どこかに詳しく載ってるサイトなどはありませんか?
書籍でもいいのですが・・・。
どうかよろしくお願いします。
0626デフォルトの名無しさんNGNG
MFC70で作られたプログラムを趣味で解析しているのですが、
MFC70.1432
って何の関数でしょうか。。。?

.NETを買えばすむ話なんですが。。。(^^;
0627デフォルトの名無しさんNGNG
BMP背景の上に別のBMPをゲームのキャラクタのように配置、移動させていくには
通常どういう手順で行っていくんでしょうか?
0628デフォルトの名無しさんNGNG
>>627
DirectDraw
0629 NGNG
>625
>626
>627

あんたら使うツールを間違えてるよ。
ぶちゃけ、その程度の質問をするようではまず、使いこなすのは無理でしょう。
時間のムダだと思うよ。w 多分参考となるレスはつかないでしょう。
恥ずかしくないですか?というより、は〜ぁって感じだね。他のででつくれば・・
0630デフォルトの名無しさんNGNG
>>629
どこを縦読みすればいいんですか?
0631デフォルトの名無しさんNGNG
馬鹿を放置することを覚えて欲しい。
0632デフォルトの名無しさんNGNG
コンストラクタでSHGetMalloc()とSHGetDesktopFolder()を
呼び出して即Releaseしてみたら、戻り値のカウントがそれぞれ2,1と
なってて、これ以上Releaseしてもカウントが減らないんですけど
これはどういうことなんでしょうか?
この状態でアプリを終了させて問題ないということでしょうか。
0633632NGNG
カウント逆ですた。デスクトップフォルダの方がリリース後2でした.
0634デフォルトの名無しさんNGNG
文字を入力して、それをテキストに吐き出すプログラムなのですが、
これをWindows風にしたいのです。
しかし、私はMFC等使ったことがないのでどうすればいいのかよくわかりません。
とりあえず自分でボタンの配置は作れたのですが、そこからどうすればいいのか・・・・。
このソースで、どうやればWindows風にできますか?DOS窓ではなくWindowsにしたいのです。
よろしくお願いします。

ボタンの配置は、テキスト入力欄があって、その下に
保存。キャンセルのボタンがあるだけです。
どうかよろしくお願いします。
0635634NGNG
ソースはこれです。
#include <stdio.h>
int main(void)
{
char memo[100];
FILE *fp;
fp = fopen("memo.txt", "w");

if(fp == NULL){
printf("ファイルをオープンできませんでした。\n");
return 1;
}
else{
printf("ファイルをオープンしました。\n");
}

scanf("%s",memo);
fputs(memo,fp);
printf("ファイルに書き込みました。\n");

fclose(fp);
printf("ファイルをクローズしました。\n");

return 0;
}
0636デフォルトの名無しさんNGNG
GetWindowTextについて小一時間調べて。
0637あNGNG
>636
いやいや、それだけ調べたってどうにもならないでしょう。

>635
VC6なのか.NETなのか書いてないのでなんともいえないが、
6なら新規作成からAppWizardで
MFCアプリケーションを作成する。
もちろんダイアログ。
途中で聞かれると思う。
んでリソースエディタ上でエディットボックスと保存ボタンを配置。
キャンセルボタンは初めからあったと思う。
んで配置した保存ボタンをダブルクリックすると
自動でコード書くところに飛ぶのでそこにそのコードを貼り付ける。
>printf("ファイルをオープンできませんでした。\n");
はMessageBox("ファイルをオープンできませんでした。");
に変更すること。これで動くんじゃない?
VC6手元にないし無責任だけどw
あと、returen 0;もいらない。
0638634NGNG
>>637
適切で丁寧なご回答ありがとうございます。
使っているのはVisualStudio.NET2002内のVisualC++7.0です。
今からそれをヒントに自分でがんばってみます。

>あと、returen 0;もいらない。
これはMFCだからいらないという意味ですか?
それともreturn 0;を書かなくてもmain関数には自動的に0で認識されるから
いらないと言ってるのです?
便乗質問すいませんがよろしくお願いします。
0639あNGNG
>634
新しいプロジェクト->Visual C++ プロジェクト->MFCアプリケーション
->アプリケーションの種類->ダイアログ ベースにチェック
->完了ボタン
出てきたリソースエディタ上のダイアログに
エディットコントロールとButtonを置く。
->Button1のCaptionをプロパティにて「保存」に変更する。
->エディタ上の保存ボタンをダブルクリック
->そこに書く
以上。
適当に書いた。時間ないから動く以上の動作は期待しないでください。
なんせ寝なきゃならんので時間がないんで。
んでUPもした。
わからん関数はF1で調べてください。
ttp://f6.aaacafe.ne.jp/~nich/phpup/upload.php
の「VCsrc」ですのでダウンしたら消しておいてください。削除パス123
return 0;については単にボタン押した時にWindowsが呼ぶ関数がvoid型だから。
WindowsプログラミングはWindowsが呼んでくれる関数の中に
あらかじめコードを書いておく、って形式なんだよ。
じゃおやすみなさい。
0640デフォルトの名無しさんNGNG
>>634
こんなところで質問して解決しようとしているようじゃ、いつまでたっても上達しないよ。
参考書ぐらい買えば?
0641デフォルトの名無しさんNGNG
なんつーか、>>634とか見てると、ネタとしか思えないんだけど・・・
オブジェクト指向とか、イベントドリブンとかの意味は分かってますよね?
分かっていなければ、ここはまだあなたが来るべき場所ではありません。
0642デフォルトの名無しさんNGNG
>>632
Shell自体がまずいのかShellExtensionsがまずいのかは知らないけどよくある事
Shell関連は必要なら別プロセスに追い出して処理完了後にそのプロセスを終了させている
もっといい方法があるなら知りたいがMFCと無関係だからスレ違い
0643634NGNG
みなさん本当にどうもありがとうございました。
特に>>639氏、本当に感謝です。
ありがとうございました。
>640
>641
VisualStudioを使ってるのですが、VisualStudioに関する書籍は売ってないんですよ。
MFCの本も近所には売ってないし・・・
0644デフォルトの名無しさんNGNG
VisualStudioを使ってる…?
VisualStudioってのはMSOfficeと同じように複数のソフトの集合体だよ?
主なものはVC++とVB。
そのうちのVC++なんだからVC++の本でいいんだってば。
0645デフォルトの名無しさんNGNG
あとMFCの本は本屋なんかで買っちゃロクなもんない。
お薦め本のスレがあるからそこ行って聞いて来てオンラインショッピングで買いなさい。
amazonあたりが無難でしょ。
0646634NGNG
>644
以前、VS.NETの使い方を覚えるのに
VC++の本を買うのは正解か、ととあるスレで聞いたのですが
答えはノーでした。
ソフトの集合体ということは当然知ってますが・・・。

>645
わかりました。
今度、初めてアマゾンを利用してみます。
0647デフォルトの名無しさんNGNG
今MSが販売している言語製品は、
VC++
VB
VC++.NET
VC#.NET
VB.NET
の5種類あるという認識でいいの?
0648デフォルトの名無しさんNGNG
スレ違いだバカ。バカ野郎。大馬鹿野郎。くたばっちまえ。
0649デフォルトの名無しさんNGNG
とりあえず634はここに来る前にHelp見たり初心者スレ池でFA?
0650デフォルトの名無しさんNGNG
CListCtrlのアイテムの高さを動的に変えたいんだけどどうすればよいですか?
0651634NGNG
なんどもすいません。
実は、私はCしか使えないので、C++は読めないんです。
でも、デフォルトのままだとすべてがC++で書かれてますよね?
そのような場合はどう対処したらいいのでしょうか?
>>635のソースをC++としたらコンパイルできないじゃないですか。
どうしたらいいのですか?
よろしくお願いします。
0652 NGNG
激しくスレ違い。
0653デフォルトの名無しさんNGNG
>>651
とりあえずスレタイ10回くらい読み直してから
参考書見てMFCって言葉の意味を理解してから出直してきてくれ。
0654634NGNG
そうですか・・・
じゃあ最後にこれだけ教えてください。
MFCはC++ができなくてもCだけで使えますか?
0655デフォルトの名無しさんNGNG
>>654
それすらわからないってことはCも使えないんじゃないですか?
0656634NGNG
>655
入門本より少し技術があるって程度です。
0657デフォルトの名無しさんNGNG
ネタは放置すること。
ネタじゃなくてもネタ相当の書き込みは放置すること。
0658634NGNG
>657
ネタじゃありません。
最初にも書いたとおり私はMFCを使うのが初めてで、
本もなく困ってるんです。
絶対にネタではありません。
0659 NGNG
まあ、ある程度のことははっきりさせておいてあげないと
いつまでもこのスレに未練を持っちゃうだろ。

>>654

MFCはC++用のクラスライブラリ。Cで扱うことは出来ない。

以上。

では、適したスレに移ってくれ。
0660デフォルトの名無しさんNGNG
>>658
お前がネタとは言ってないわけだが、
なんでそんなに必死なの?( ´,_ゝ`)
0661名無し~3.EXENGNG
次へボタンを押すと次のダイアログへいくようなプログラムが書きたいんですが、
int nRetern = dlg.DoModal();
if(nRetern == IDC_NEXT){
CNextDialog dlgNext(&dlg);
dlgNext.DoModal();
}
↑的なコードをかいてもdlgNextが表示されません。
いじくると出るんですが。。。
普通はどうやるんですか???
お願いします。
0662デフォルトの名無しさんNGNG
普通はプロパティシートをWizard97タイプで使うんじゃないかな<次へ
フォームビューを切り換えるやり方ならCodeGuruにサンプルあるよ。
0663デフォルトの名無しさんNGNG
>>661
ぷろぱちーしーとのウィザード形式でどうよ?
0664名無し~3.EXENGNG
なんていうサンプルですか?
CodeGuruをちょとみただけなのでよく分かってないんですが、
いっぱいサンプルがあるみたいなので・・・。
0665デフォルトの名無しさんNGNG
>>664
MSDNのCPropertySheet読んで見たら?
0666名無し~3.EXENGNG
>>665
はい。そうします。
ありがとうございました。
0667デフォルトの名無しさんNGNG
こんにちわ。複数言語の入力に関する質問があります。
リッチエディットコントロールはデフォルトでUnicodeを使っているようで、
事実複数言語(私の場合日本語とハングル)の入力と表示が可能になっています。
ところが、GetSel(0,-1)で全範囲選択してGetSelText()で得られた文字列の
日本語部分は、シフトJISになっていて、
他の言語で入力された部分は空白(0x20)が入っているだけです。
DDXを使ってCStringを関連づけても、同様の結果になってしまいました。
リッチエディットコントロールでの複数言語の扱いはどうなっているんでしょうか。
0668667NGNG
すいません、上の文章のGetSel()はSetSel()のまちがいです。
0669デフォルトの名無しさんNGNG
MFC の CHttpFile でRead(void * lpBuf, UINT nCount)関数を使おうと思ったのですが
lpBuf のバッファの確保の仕方がわかりません。どうやったら確保できるのでしょうか。
0670デフォルトの名無しさんNGNG
普通にローカルで確保すりゃいいと思うが…
newでやってもいいし、サンプル見たいならgoogleで「CHttpFile Read」とでも
やればすぐ出てくるし、何を難しく考えることがあろうか。
0671 NGNG
つか、もっと基本的な勉強をしろってこったな。
0672デフォルトの名無しさんNGNG
VC++でSDIで、
-----------
| | | |
| |------|
| | |
-----------

という感じの分割ウィンドウを作りたいのですが、
MainFrm.cppのメッセージハンドラのソースを教えてください。
--------
| | |
|------|
| |
--------

だけとかならできるのですが・・・
0673デフォルトの名無しさんNGNG
↑
図を間違えました。
四角を横に2分割→AとB
Bを縦に2分割→C(上)とD(下)
Cを横に2分割としたウィンドウを作りたいんです。
0674デフォルトの名無しさんNGNG
>ソースを教えてください
ワロタ
0675デフォルトの名無しさんNGNG
リッチエディットをサブクラス化したんですが、
そのウインドウプロシージャ内にて
WM_LBUTTONUPを拾おうとしたんですが出来ません。
どうすればできますか?
0676デフォルトの名無しさんNGNG
>>675
それは本当にMFCでやってるのかと小一時間・・・
0677667NGNG
>>675
リッチエディットは最初からCRichEditCtrlがありますよ。
でもリッチエディットのメッセージを拾うのは、最初わからなくて私も苦労しました。
デフォルトではメッセージを送らないようになっているので、
このクラスのSetEventMask()で使うメッセージのマスクを設定する必要があります。
また、初期化系の関数でAfxInitRichEdit()を使うのも忘れないでください。
0678672NGNG
ソースと違いましたわ。
教えてください(笑。
0679デフォルトの名無しさんNGNG
>>672
図がわからん。モナ板でAAの練習してこい。673の説明もわからん。
AAを作る上で重要なのは、
・フォントはMSPゴシック12pを基準としている
・行頭の半角スペースは無視される
・半角スペースが2つ以上連続すると1として数えられる
ということだ。
0680672NGNG
>>679さん

ご指導ありがとうございます。
図は下記のようなものです。
隙間はつなげて、四角の中でやってると思ってください。

-----------
|  |  |  | 
|  |  |  |
|  |-------
|  |     |
|  |     |
-----------

0681名無しさん@MeadowNGNG
図がわからん (w
0682デフォルトの名無しさんNGNG
>>680
http://www.google.com/search?q=MFC+%E5%88%86%E5%89%B2
0683デフォルトの名無しさんNGNG
-----------
|  |  |  | 
|  |  |  |
|  |-------   バーカ
|  | ◎ ◎.|
|  |  ー  |
-----------
0684675NGNG
>>677
CRichEditCtrlを継承したクラスで
WindowProcをオーバーライドって方法でやっています。
ほかのメッセージ(WM_LBUTTONDOWNとかWM_KEYUPとか)はうまく動作してるのに
なぜWM_LBUTTONUPだけがだめなんだろうと悩んでいました
なるほど、イベントマスクというものがあったんですね
ありがとうございます
これについて勉強しようと思います
0685デフォルトの名無しさんNGNG
>>672 これでわからなけりゃあきらめろ。

#include "MyView.h"

class CMainFrame : public CFrameWnd
{
        (略)

  //以下を追加
  CSplitterWnd spl1, spl2, spl3;

  //デフォルトのビューは消す
  //CChildView m_wndView;

        (略)
}
0686デフォルトの名無しさんNGNG
OnCreateClientをオーバーライドして次のように書く。

BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
  CRect rc;
  GetClientRect(rc);

  spl1.CreateStatic(this,1,2);
  spl2.CreateStatic(&spl1, 2,1, WS_CHILD|WS_VISIBLE|WS_BORDER, spl1.IdFromRowCol(0,1));
  spl3.CreateStatic(&spl2, 1,2, WS_CHILD|WS_VISIBLE|WS_BORDER, spl2.IdFromRowCol(0,0));

  spl3.CreateView(0,0,RUNTIME_CLASS(CMyView),
    CSize(rc.Width()*1/3,rc.Height()*1/2), pContext);
  spl3.CreateView(0,1,RUNTIME_CLASS(CMyView),
    CSize(rc.Width()*1/3,rc.Height()*1/2), pContext);
  spl2.CreateView(1,0,RUNTIME_CLASS(CMyView),
    CSize(rc.Width()*2/3,rc.Height()*1/2), pContext);
  spl1.CreateView(0,0,RUNTIME_CLASS(CMyView),
    CSize(rc.Width()*1/3,rc.Height()), pContext);

  spl2.SetRowInfo(0,rc.Height()*1/2,0);

  return CFrameWnd::OnCreateClient(lpcs, pContext);
}
0687デフォルトの名無しさんNGNG
デフォルトのペインの大きさを変えたかったらCreateViewの中の指定を変えろ。
それからクライアント領域はすべてスプリッタが占めるから
元々の(アップウィザードが吐き出した)Viewを使ってるコード消すこと。
フレームの定義のOnCreate()、OnSetFocus()、OnCmdMsg()あたりにあるはず。
以上。
0688デフォルトの名無しさんNGNG
ああっと書き忘れた。
ドキュメント・ビューアーキテクチャを使ってる場合は
CMyViewなんてクラスを作らなくても元のビューを使えばいい。
でも窓を分割するって事はそれぞれに違ったビューを使うんだろうな。
CSplitter::CreateView()の第3引数で入れたいビューを指定してやれば
それぞれの分割された窓枠で各ビューの処理ができる。
0689669NGNG
ありがとうございました。いろいろサンプルがありました。
どうやら確保するサイズ[]が抜けていたようです。
0690672NGNG
>>685 さん

どうもありがとうございます!
うあってみましたが、最終的な分割になりませんでした。
たぶん、私が値を返すのが間違えてるんだと思いますので、
いろいろ調べてみます。
0691672NGNG
>>690

×:うあって
○:やって
0692デフォルトの名無しさんNGNG
お聞きしたいのですが、
Editボックスで右クリックでメニューを出すよう実装したいのですが、
それとEditのデフォルトカラー(背景と文字)を変更したいのですが、
なにか簡単な方法はないですか?
0693デフォルトの名無しさんNGNG
CEditから派生させりゃもう好き放題に
0694672NGNG
>>686さん

spl3.CreateView(0,0,RUNTIME_CLASS(CMyView),
CSize(rc.Width()*1/3,rc.Height()*1/2), pContext);

を消し、

最後に
return = TRUE
と加えたら、希望のものができました。
ありがとうございました。
0695デフォルトの名無しさんNGNG
すいません。教えてください。
windows起動時にログを取りたいのですが
どうやれば起動時にプログラムが実行されるでしょうか?
スタートアップに入れたのですが駄目でした。
0696初心者NGNG
練習
0697デフォルトの名無しさんNGNG
VisualC++を始めようと思っているのですが
今、使用しているOSはMEです
VisualC++6.0とVisualC+が+netの違いを教えてください。
初心者にとっては、OSの事を考えて旧バージョンのほうが
無難でしょうか
よろしくお願いします。
0698デフォルトの名無しさんNGNG
>697
VC++.Net は2000/XPにしか入らないよ。
0699デフォルトの名無しさんNGNG
無難もなにも必要システム見りゃ質問するまでも無いと思うが。
http://www.microsoft.com/japan/msdn/vstudio/productinfo/sysreq.asp
0700デフォルトの名無しさんNGNG
VisualC++6.0はもう売ってないだろ
http://www.microsoft.com/japan/msdn/vs_previous/vstudio/
0701デフォルトの名無しさんNGNG
netは2000/XPにしか入らないのはわかっています。
初心者がOSを替えてまでnetを購入するのがいいのか
旧6を探して勉強するのいいのかの質問でしたが。
0702デフォルトの名無しさんNGNG
>>701
初心者が9x系でプログラミングするのを勧めるほど
このスレは悪意に満ちていません
0703デフォルトの名無しさんNGNG
つーか本人のやる気の問題までめんどう見切れるかよ。
技術的な質問しろ。
0704あNGNG
>スタートアップに入れたのですが駄目でした。
どういう風に駄目だったのか詳細かいてね
0705デフォルトの名無しさんNGNG
おまいら!
インストール時にXPservice pack1のディスクを入れろと言われるんだが、どうしたらいいのですか?
そんなディスク持ってません・・・
0706705NGNG
ちなみに、今日買ったばっかです。
OSはXP.
0707デフォルトの名無しさんNGNG
たぶんですまんがc:\tte
0708705NGNG
>>707
おいらへですか?
0709デフォルトの名無しさんNGNG
>>705
月曜になったら、MSに注文しろ。
0710705NGNG
>>709
買うのか?
0711デフォルトの名無しさんNGNG
StretchBltで白黒のビットマップを縮小表示する際、白い線画の部分が潰れてしまい、真っ黒な表示になってしまいます
SetStretchBltModeでモードを選ばないと駄目だと言われたのですが、これはどうやって使うのでしょうか?
ヘルプみてもいまいちわからず…

0712デフォルトの名無しさんNGNG
>>711
せめて何がどうわからないのか説明すること。
0713デフォルトの名無しさんNGNG
>>705-706
パソコン初心者板へゴー
http://pc2.2ch.net/pcqa/
0714デフォルトの名無しさんNGNG
>>711
何故ヘルプを見てもわからないの?

伸縮モード
WHITEONBLACK 白優先
BLACKONWHITE 黒優先
HALFTONE 中間色(ディザリング?)
COLORONCOLOR 計算せずに単純に間引く
0715デフォルトの名無しさんNGNG
ヘルプは見るもんじゃない。読むもんだ。
0716デフォルトの名無しさんNGNG
日本語が分からない半島人は大変ですね
0717715NGNG
>>716
まったくだ。
0718デフォルトの名無しさんNGNG
すみません2つほど質問があります

CDialogウィンドウ上からCFrameWndを
Create関数を呼び出して作成したのですが例外が多発してしまいます
対処法ありますか?

それとCDialogウィンドウにCStatusBarを作成したのですが
全く表示されませんけど仕様ですか?
(CFrameWndなら当然問題無く表示されます)
0719デフォルトの名無しさんNGNG
>>718
そもそもフレームにダイアログ表示すればいいのでは?
0720デフォルトの名無しさんNGNG
何をやりたいんだろうか。
CFormView使えばいいと思うんだが。

> 全く表示されませんけど仕様ですか?
あなたのバグです。
しかるべき手順を踏めば表示されます。
0721デフォルトの名無しさんNGNG
例外って何?
0722デフォルトの名無しさんNGNG
例外エラーだろ。

このスレもそろそろおしまいか・・・
0723デフォルトの名無しさんNGNG
CListCtrl で GetItem したいのですが、あらかじめ取得する文字列の長さがわからないと
エラーになってしまうと思うのですが、文字列長を取得する方法はありますか?
0724デフォルトの名無しさんNGNG
>>723
テキストだけならGetItemTextを使えばいいと思われ。
0725デフォルトの名無しさんNGNG
>723
文字列取りたいなら GetItemText 使え
0726723NGNG
うぅ。サンクス。
メンバー関数が多すぎて見逃してますた。
0727デフォルトの名無しさんNGNG
>>722
いやそれくらいはわかるんだけど……
どんな例外かな、と。
0728デフォルトの名無しさんNGNG
>>727
釣りですか?w
0729デフォルトの名無しさんNGNG
>>728
はい。
0730デフォルトの名無しさんNGNG
プつれた
0731デフォルトの名無しさんNGNG
sage
0732デフォルトの名無しさんNGNG
MDI、CViewの派生クラスでマウスホイール回転イベントがうまく取れません。

CViewにスクロールバーが付いていなければ
OnMouseWheel が呼ばれるのですが
スクロールバーがついていると勝手にスクロールさせられ、
OnMouseWheel が呼ばれません。

ホイール回転で独自の処理をする事は出来ないのでしょうか?
(スクロール以外の処理をしたいのですが・・・)
環境は Win2000, VC++6です。
0733デフォルトの名無しさんNGNG
>>732
試してないから推測で書くけど……
勝手にスクロールされるなら OnHScroll や OnVScroll が呼ばれるんじゃない?
そこで処理すればいいと思う。(拡大縮小かな?)
0734デフォルトの名無しさんNGNG
ダイアログでプログラミングしているのですが、OnNcHitTestという関数で
return HTCAPTION; を実装すると右クリックでメニューを出せなくなりました。
回避する方法はありませんか?
0735デフォルトの名無しさんNGNG
OnNcR〜 みたいなんでいけないか。
0736デフォルトの名無しさんNGNG
ありがとうございます。
それともう一つなのですが、
CEditから派生させたクラスからダイアログのメンバを実行するのは無理ですか?
GetWindowRectを取得したいのですが。
ClientToScreenでは移動させてからだと座標がまちまちになってしまうのです。
0737732NGNG
>>733
返答有難うございます。
実際、 OnHScroll や OnVScroll が呼ばれるのですが、
スクロール処理はスクロール処理として扱いたいのです。

「OnHScroll等がホイール操作によって呼ばれた」と判断可能なのでしたら、
その方法も有りかとは思うのですが、そういった事は可能なのでしょうか。。。

> 拡大縮小かな?
その通りです。
お絵かきソフトを作成しています。

>>736
> CEditから派生させたクラスからダイアログのメンバを実行するのは
それって例えば
((CDialog*)GetParent())->・・・
みたいな事ですか?
0738デフォルトの名無しさんNGNG
CBitmapに格納されている画像の一部を切り取って取得するにはどうするのですか。
0739デフォルトの名無しさんNGNG
教えてください。DLLファイルを読み込んでそのハンドルは所得できているのに
クラス内の関数にアクセスする方法がわかりません。というか関数の先頭ポインタがわかれば
いいんですけど。newしてインスタンス化してもポインタを捕れないのは何ででしょうか?

ひょっとして訳わからないこと言ってますでしょうか?
0740デフォルトの名無しさんNGNG
>>737
スクロールバーを自作する。
0741デフォルトの名無しさんNGNG
>>739
単にエクスポートされてないだけとか?

>>738
BitBlt
0742デフォルトの名無しさんNGNG
>>741
すいません。エクスポートされてないだけって、どういうことですか?
なにぶん初心者なので、それだけでは何を言われているのか...
もう少しキーワードを教えてください...お願いします。
0743デフォルトの名無しさんNGNG
>>742
DLL の操作では基礎中の基礎。
MSDN の DLL のトピックを読んでみ。話はそれからだ。
0744デフォルトの名無しさんNGNG
あっと、CFontDialog でカラーやアンダーラインなどの設定がでないようにしたいのですが、
どうすればよいでしょうか?
0745デフォルトの名無しさんNGNG
アプリ終了時にビューの設定を保存したいとき、皆はどこで処理してる?
俺はOnDestroyでやってるんだけど、これって普通?
0746744NGNG
もう一つ。デフォルト(起動時に選択されている)フォントを放り込むにはどうするのでしょうか?
0747デフォルトの名無しさんNGNG
>>745はViewのOnDestroyって意味です
0748デフォルトの名無しさんNGNG
>>744
MSDN読めよ……
0749デフォルトの名無しさんNGNG
>>743
ありがとうございました。解決しました。
0750デフォルトの名無しさんNGNG
とあるソースを見ててわからなかったのですが、
CListBoxの派生クラスを作って、そのメンバ関数でnewしたオブジェクトを
AddString((LPSTR)new CObj);ってやってよくわからないことをしてます。
これはいったい何をしてるんだ?
どなたかお教え願えないでしょうか?
0751デフォルトの名無しさんNGNG
教えてください。
スクロールバーでスクロールバーの三角印をところをクリックすると
イベントが発生するのですが、スクロールをスライドしてもイベントが発生しません
どうしてなのでしょう。
0752デフォルトの名無しさんNGNG
>>751
何のイベントやねん
0753デフォルトの名無しさんNGNG
スクロールバーの範囲とかは適切に設定してるのか?
0754744NGNG
>>7448
はぁ。m_cfに代入していったのですが、適応されないのです。
それに、フォントの種類の代入の仕方もわかりませんし。
それから、宣言時にパラメータを入れると、実行途中に
フォントをインストールするように指示されるのでさっぱりです。
教えてください。
0755デフォルトの名無しさんNGNG
>>752
>>753
さんスクロールバーの範囲といわれてハッと気がつきました
そういう物は設定していなかった気がします。
ごめんなさい、なんだかMFC以前のような問題な気がします...
ちょっと確認します。
あと、CStaticクラスを継承して作ったBitBlt()ってスクロールバーでスライドできますでしょうか?
つまりスクロールバーでスクロールしたぶんだけ表示位置を再計算をして
再表示?するようなことをしたいのです。うまく説明できないんですけど
0756デフォルトの名無しさんNGNG
アナログ時計を描画するコードなんですが
CTime jikoku = CTime::GetCurrentTime();
int hour = jikoku.GetHour() % 12;// 時:0〜11
int min = jikoku.GetMinute();// 分:0〜59
int sec = jikoku.GetSecond();// 秒:0〜59

// ウィンドウのサイズを得る
CRect sikaku;
GetClientRect(sikaku);

// 時計のサイズを算出する
int hankei = min(sikaku.right, sikaku.bottom) * 49 / 100;// 時計の半径
一番下段を詳しく説明してもらえないでしょうか
0757デフォルトの名無しさんNGNG
>756

スレ違いだが
時計がWindow領域からはみ出ないような
時計の半径も出してる
0758名無し@沢村NGNG
>>756
ヌヒよ、sikaku.rightとsikaku.bottomのうちで小さい方の値に49をかけて100で割った値が時計の半径だ。
0759デフォルトの名無しさんNGNG
クライアント領域の半分にしたいんだけど、 「ぴったり半分だと外枠に
くっついちゃうなー」とか思って49%にしたんだろ。
0760デフォルトの名無しさんNGNG
AfxBeginThread()に渡すスレッドの関数のプロトタイプは、
UINT func(LPVOID);
となっていますが、この返値はどこで得ることができるんでしょうか。
0761デフォルトの名無しさんNGNG
GetExitCodeThreadとかその辺
0762デフォルトの名無しさんNGNG
テキストファイルの途中に文字列を追加(または置換)する簡単な方法を教えてください。
0763デフォルトの名無しさんNGNG
>>762スレ違い
0764デフォルトの名無しさんNGNG
あるアプリがアプリケーションエラーで落ちました。
ワトソン博士のlogを見ると"Ordinal2614"ってのでエラーが発生しているようです。
Dependency Walkerで調べるとOrdinal2614はmfc42.dll中にあったんですが、
NONAMEとなってて関数名がわかりません。これって特定する方法があるんで
しょうか?

以下ワトソン博士のlogです。
全部は多いので"フォールト ->"のあるスレッドのみ。

スレッド ID 0x26c のステート ダンプ

eax=0036322f ebx=0034d368 ecx=0154fe94 edx=ffffffff esi=0048fb50 edi=00ad7225
eip=6ab149fc esp=0154fe7c ebp=00000000 iopl=0 nv up ei pl nz na po nc
cs=001b ss=0023 ds=0023 es=0023 fs=0038 gs=0000 efl=00000206


ファンクション: Ordinal2614
6ab149fa 8b01 mov eax,[ecx] ds:0154fe94=0036322f
フォールト ->6ab149fc 8378f800 cmp dword ptr [eax+0xf8],0x0 ds:00fc0801=????????
6ab14a00 0f8569f1ffff jne Ordinal1194+0x15f (6ab13b6f)
6ab14a06 c3 ret

*----> スタック バック トレース <----*

FramePtr ReturnAd Param#1 Param#2 Param#3 Param#4 ファンクション名
00000000 00000000 00000000 00000000 00000000 00000000 !Ordinal2614
0765デフォルトの名無しさんNGNG
>>764の続き
Dependency Walkerでmfc42.dllを見たらBaseAddressのってました。
Baseが0x6ab10000だったので
6ab149fc-6ab1000=49fc
となります。mfc42.mapも同じディレクトリにあったので49fcに近い
のを探したところ
0001:0000492a ?UpdateFrameCounts@CDocument@@UAEXXZ 5f40592a f
どうやら、こいつのようです。
「UpdateFrameCounts」って何もんなんだろう?
MSDNにも載ってないし。こっからどうせめればいいのかわからん・・・。
0766デフォルトの名無しさんNGNG
ソースコードもなしに市販アプリのダンプだけ見せられてデバッグしろってか。
mfc42.dllのどのアドレスに何の関数があるのか知ってる香具師なんか
ここにいるわけねーだろ。いたらリバースエンジニアリングで犯罪だぞ。
0767あNGNG
>764
MFCのどの関数でなぜ落ちたのか、という発想ではなく、
アプリケーションでなにをしたから
MFC内で落ちることになったのか、
という風に発想を転換した方がいいんじゃないでしょうか?
0768デフォルトの名無しさんNGNG
>>782
そういう場合、普通デバッグモードを駆使して原因を突き止めるものだが。

>「UpdateFrameCounts」って何もんなんだろう?
\MFC\SRC\DOCCORE.CPP
を読めばわかる。
可視状態のCViewをカウントし
CFrameWnd::m_nWindowを更新するための関数みたいだな。
0769デフォルトの名無しさんNGNG
ある独自の拡張子を持つファイルに、それをダブルクリックすると
任意のEXEを起動するための関連付けをしたいのですが、
いい資料が見つかりません。レジストリを操作するところまでは
わかったのですが。

すいませんが、どなたかコードか、参考URLをお持ちでしたら
ご教授ください

0770デフォルトの名無しさんNGNG
操作すんなよ。参照しれ。
0771デフォルトの名無しさんNGNG
ん?
アプリで関連付けをしたいのか?
それとも関連付けられたアプリを起動したいのか?
0772デフォルトの名無しさんNGNG
>769

すぐ見つかるが
0773 NGNG
VC++、MFCで作成したいがやり方がわからないのが3つあります。
ご存知の方、教えてください。
1はよく使われると思うので、VC++の機能であるような気がしますが、
googleしてもわかりません。


1.PCのデスクトップを頂上とし、そのPCの階層フォルダ(?)を表示することが
 できるようなツリー

2. 1で選択したフォルダ内のファイルを全部表示させるもの
 (サイズ、種類、更新日時も表示)

3. アクセス履歴を表示するもの
0774773NGNG
追記:VC++6.0を使用して作成します。
0775デフォルトの名無しさんNGNG
>>773
VC++の機能にそんなものはない。

ま、がんばれや(´ー`)y~~
0776773NGNG
1は、エクスプローラ風にパソコン内のディレクトリを
ツリーで表示するもののことです。
0777デフォルトの名無しさんNGNG
「〜もの」というからきっとそれ用のコントロールやコンポーネントを期待してる
んだろうがMFCには無いぞ。
1はフォルダ選択ダイアログがあるがWin32APIだ。
0778デフォルトの名無しさんNGNG
>>777 ツリービューだろアフォ。
0779デフォルトの名無しさんNGNG
>773
1.
2.
http://www.codeproject.com/shell/seashell.asp
0780デフォルトの名無しさんNGNG
http://www2.diary.ne.jp/user/169207/
0781デフォルトの名無しさんNGNG
>>778
自動的にフォルダツリー表示してくれるかよアフォ。
0782あNGNG
ttp://f6.aaacafe.ne.jp/~nich/phpup/upload.php
の
Reg
ってファイル。
昔書いたやつ。
今見てもなんのことかさっぱりさっぱり。
レジストリに書き出したらもともと登録してあった
拡張子をiniに書き出して、復元時にiniから読み出して
元に戻す関数なようなきがする。
たぶん「IDS〜」ってやつは
レジストリに書き込むキーの名前を決めて
格納していたんだと思う。
なお、かなり前のやつなので参考程度にしかならないと思ってくれ。
んで、落としたら消してくれ。
パスは123
0783769NGNG
>>770
>>771
アプリを起動するのではありません(それはShellExecuteですよね)
新たな関連付けの定義をしたいのです。

0784デフォルトの名無しさんNGNG
>>783
レジストリ操作するとこまでわかったならレジストリ系APIで登録すればいいんじゃ?
MFCな話題でもないような気がするんだけど・・・
0785あNGNG
>769 >783
あぁ、宛先忘れてたよ。
>782はあなた充て。

>782は新たな関連付けを定義する関数。
既に定義されていたら入れ替える。
見てみたら形つかめると思うよ。
0786デフォルトの名無しさんNGNG
>>766
失礼しました。ちょっと書き方がうかつでした。
自分が担当を引き継いだアプリがお客様先で落ちてしまい、
開発環境で再現しないのでログからなんとかしようとしてた次第です。

>>767
ええ、そうなんですがフォールトしたスレッドの情報が少なすぎて
どこから落ちたMFCをcallしたかもわからないんです。

>>768
情報ありがとうございます。
再現しないので開発環境でつきとめれないんですよね・・・。

やはり、お客様先で落ちたときにもっと情報とれるように
するしかなさそうですね。その方法を調べてみます。
0787質問NGNG
質問です。

いま、COMプログラミングの勉強をしていますが、ビルトすると以下のエラーが出ます。

→d:\microsoft sdk\include\exdisp.h(1119) : error C2061: 構文エラー : 識別子 'SHANDLE_PTR' がシンタックスエラーを起こしました。
その対象となる構文は
→   virtual /* [helpcontext][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_HWND(
/* [retval][out] */ SHANDLE_PTR *pHWND) = 0;
です。

何に問題があるのでしょうか?
よろしくお願いします。
0788デフォルトの名無しさんNGNG
>>787
'SHANDLE_PTR' がシンタックスエラーを起こしました
って書いてあるじゃん。
そこが問題。
0789\NGNG
左右2つにわった分割ウィンドウに、それぞれ別のダイアログを
表示したいのですが、どうすればいいのでしょうか?

分割ウィンドウは過去スレであったので、できたのですが、
まだ一つのダイアログしか作成したことないので、わかりません。

IDD_DIALOG1、IDD_DIALOG1という2つのダイアログを作成した場合で
教えてください。
0790デフォルトの名無しさんNGNG
>>789
>左右2つにわった分割ウィンドウに、それぞれ別のダイアログを
>表示したいのですが、どうすればいいのでしょうか?
CFormView派生クラス使ってるなら、もう一個CFormView派生クラスを作ればよろし。
0791789NGNG
MFCで作成しています。
0792789NGNG
MDIです。
0793789NGNG
たぶん
CreateView(〜View)
とすればいいのだと思うんですが、
IDD_Dlg1,2を〜Viewにする(?)には
どうすればいいのかがわかりません。
0794デフォルトの名無しさんNGNG
>>793
意味がわかりません
0795789NGNG
>>790

解決しました。
ありがとうございました。
0796デフォルトの名無しさんNGNG
これはここにかいていいのかわからないんですけど
CString型の変数にcharの配列の文字列を入れて
文字列を作りたいんですけど、いい方法が浮かびません..
CString c;

char[0]=a

char[1]=b

char[2]=c

char[3]=d

char の配列をCに入れてabcdという文字をCString型のcに入れたいのですが。
0797デフォルトの名無しさんNGNG
>796
なによりも先に入門書を買ってきて一通り読むことを勧めるがね…
charの配列型の変数の名前が書かれてないがarrayという
名前にしていいかね?

char array[] = "abcd" ; //(1)
CString c(array) ; //(2)

ちなみに(1)は
char array[5] ;
array[0] = 'a', array[1] ='b', array[2] = 'c', array[3] = 'd', array[4] = '\0' ;
と同じだ。
0798デフォルトの名無しさんNGNG
>797
いいです
で、
実際c(0)="abcd"
にするほうほうがわからないんですが....
0799デフォルトの名無しさんNGNG
>>798
なによりも先に入門書を買ってきて一通り読むことを勧めるがね…
0800デフォルトの名無しさんNGNG
MFCプロジェクトで以下のようにすると

error LNK2005: "void __cdecl h(enum bb::Lang)" (?h@@YAXW4Lang@bb@@@Z) はすでに test.obj で定義されています
Debug/test.exe : fatal error LNK1169: 1 つ以上の複数回定義されているシンボルが見つかりました
となってコンパイルできません。(コンソールでは問題ありませんでした。)
なぜだめなのでしょうか?

//testDlg.h

namespace bb
{
enum Lang;
enum Lang{Japanese};
};
void h(bb::Lang a);
void h(bb::Lang a){}

class CTestDlg : public CDialog
...
0801デフォルトの名無しさんNGNG
>>800
ヘッダに書いていいのは(ry
つーか、スレ違い。
0802デフォルトの名無しさんNGNG
>>800
testDlg.h をインクルードするc(cpp)ファイルが複数あった場合、
void h(bb::Lang a) 本体が複数定義されることになる。

includeが何なのか分かってないみたいね。
0803デフォルトの名無しさんNGNG
VC6で

デバッグビルド → 正常動く
リリースビルド(F5) → 正常に動く
リリースビルド(Ctrl+F5) → エラーで落ちる

という状態になってしまい、原因が特定できません。
何か有効なデバッグ方法があれば教えて下さい。
0804803NGNG
解決しました。スマソ。
0805デフォルトの名無しさんNGNG
testDlg.cppで
namespace 以下のヘッダーを読めば良かったのか...。
>>801,2 さんありがとうございました。
0806デフォルトの名無しさんNGNG
すみません
スクロールバーのつまみの部分(マウスの左ボタンを押しながら上下に移動するもの)の
大きさってどうやって変えるんでしょうか?
0807デフォルトの名無しさんNGNG
>>806
レンジを指定すればそれに応じて変わるけど。
0808デフォルトの名無しさんNGNG
>>806
SetScrollInfo
あと、あれの名前はサムと呼んでくれ
0809デフォルトの名無しさんNGNG
Cと、VC++の入門書を、一通り読みました。
次からはどうやって勉強していけばいいんでしょう?
0810デフォルトの名無しさんNGNG
>>809
専門書
詳細は推薦図書スレへ
0811デフォルトの名無しさんNGNG
>>809
普通になんか作る。
0812806NGNG
レスサンクス
MSDNでよーく調べてみまふ
0813デフォルトの名無しさんNGNG
ダイアログで、OKとCancelというボタンがあるとします。
OKを押すとある処理を行って終了するのですが、
その処理中にOKを押すと、処理が終わったらまたすぐに
処理が始まってしまいます。
処理中はマウスクリックを無効にしたり、マウッスクリク情報をクリア
したりすることが出来ないでしょうか。

(処理中のOKボタンをグレーにしても、処理中にボタンを押すと
処理が終わって元に戻したらクリックされたことになってすぐに
処理が始まってしまいます)
0814デフォルトの名無しさんNGNG
    _, ._
  ( ゜ Д゜)
0815デフォルトの名無しさんNGNG

ループ処理の間、メッセージポンプを動かすために CWinApp::Run() を勝手に
呼んでいいのでしょうか?
0816815NGNG
訂正。

MFCにおいてループ処理の間、メッセージポンプするために
PeekMessage、TranslateMessage、DispatchMessage
を自前で呼ぶのは、合法なのでしょうか?
0817デフォルトの名無しさんNGNG
べつにいいんでないの。
俺ならスレッド作ってそっちで処理するけどね。
0818デフォルトの名無しさんNGNG
>>816
CRectTracker::TrackHandle()でGetMessage(), DispatchMessage()
使ってるからいいんだろ、
0819815NGNG
>817-818
どうも。実際やってみましたけど、終了処理をきちんと書けば大丈夫みたいです
ね。別スレッド化は真っ先に考えましたが、かなりややこしい修正が必要で...
0820デフォルトの名無しさんNGNG
813
プログラム立ち上げ時に変数 hoge を 0 で初期化。
ボタンが押されると変数 hoge を 1 に設定。
処理が終わると変数 hoge を0 に設定。
変数 hoge が1の間はボタンクリックを無視する。
こうすれば2度押ししても効果が現れないはず。
0821デフォルトの名無しさんNGNG
>>813の処理は明らかに時間がかかる処理みたいなので
俺なら別スレッドで処理してその間はボタンをEnableWindow(FALSE)するな。
0822デフォルトの名無しさんNGNG
>>813
ボタンを一時的に消すとか。
0823デフォルトの名無しさんNGNG
>>813
っていうか、その処理の中でもメッセージループまわしてるの?
単純に、OnOK()の先頭でEnableWindow(FALSE)、
OnOK()の最後にEnableWindow(TRUE)とすれば良いような気がするが。
0824デフォルトの名無しさんNGNG
つーか、813どこいったー
0825デフォルトの名無しさんNGNG
813じゃないが、823で正解でしょ?
てかこれが違ってたら今まで作ったもの全て大バグ
かかえてるってことになるんですが・・・
0826デフォルトの名無しさんNGNG
>>825

>(処理中のOKボタンをグレーにしても、処理中にボタンを押すと
>処理が終わって元に戻したらクリックされたことになってすぐに
>処理が始まってしまいます)

これが問題なんでしょ?
ってか、どうせ終了してしまうんだから、処理が終わったときに
EnableWindow(TRUE)を呼ばなきゃイイと思うのだが。
0827デフォルトの名無しさんNGNG
メニューバーの色って変えれますか?
それから、ダイアログって半透明になりますか?
0828デフォルトの名無しさんNGNG
>>827
できます。
0829ら抜きことば逝ってよしNGNG
>>827
メニューバーの色は自前で実装すれば変えられる。
半透明に関しては↓(Win2000以降だけの気がするが……)
http://www.google.com/search?hl=ja&ie=UTF-8&oe=utf-8&q=%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0+%E5%8D%8A%E9%80%8F%E6%98%8E+MFC&btnG=Google+%E6%A4%9C%E7%B4%A2
0830デフォルトの名無しさんNGNG
ダイアログボックスとドキュメントクラスでデータ交換をするのが面倒なので、
ドキュメントクラスにダイアログボックスを変数として持たせようと思っているのですが
こういうのはルール違反なんでしょうか?なんか抵抗があるのですが…
0831デフォルトの名無しさんNGNG
>>823-826
最近どこかで同じ問題を見たような気がする。
たとえEnableWindow(FALSE)しといてもボタンを連打されると
駄目(ボタン押下のメッセージが来てしまう)なので
結局は>>820-821みたいに対処しないといけないって結論じゃなかったかな。
>>825氏には残念なお知らせだが…
0832デフォルトの名無しさんNGNG
だから、メッセージループまわしていないのなら、
メッセージ自体、飛んでくるわけ無いでしょ。
ウィンドウズのアーキテクチャ、基本から勉強したほうが良いよ。
0833デフォルトの名無しさんNGNG
EnableWindow(FALSE)の存在意義がなくなってしまうな。
0834デフォルトの名無しさんNGNG
>>833
そりゃ使い方が悪いだけだろ
0835デフォルトの名無しさんNGNG
>>834
禿同
存在意義は十分にあると思う

>>832
メッセージループをまわしてなくてもメッセージは飛んできます。
処理されないだけ。
0836デフォルトの名無しさんNGNG
>>OKを押すとある処理を行って終了するのですが、

そのまま終了するのなら2度とOKボタンを押せないように
なにかインターフェイスを考えるべきでは。
たとえば処理の最初にプログレスバー付きの終了ウィンドウのようなものを表示するとか。
0837デフォルトの名無しさんNGNG
メッセージが来たら処理するのは自分だろ。
来るとしたら、処理が終わってメインループが回りだしたら。
メッセージキューに溜まることを飛んでくると勘違いしているだろ。
0838833NGNG
>>834
だから、そんな使い方をしたら存在意義が無くなる、と言うことだ。
0839デフォルトの名無しさんNGNG
処理中にOKボタンのメッセージが飛んでくるんだろ。
ってことは、その処理中にメッセージループをまわしているってことで、
そんな処理やめれば良いじゃんってことで解決。
                
0840デフォルトの名無しさんNGNG
>>813
ダイアログでOKボタン押したら、普通はダイアログ消えるよね。
モードレスダイアログのこと?
0841デフォルトの名無しさんNGNG
>>813はEnableWindow()の存在がわかれば良いと思うのだが。
というか、みんな>>813に釣られちゃったのでは?
0842デフォルトの名無しさんNGNG
ちゃんとGetDlgItem()とか使ってるのだろうか?
EnableWindow(FALSE)にしときゃ、メッセージなんて飛んで来ないぞ。
少なくても(WM_COMMAND,IDOK)とかはな。
0843デフォルトの名無しさんNGNG
     ∧_∧∩ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    ( ´∀`)/<先生!こんなのがありました!
 _ / /   /   \___________
\⊂ノ ̄ ̄ ̄ ̄\
 ||\        \
 ||\|| ̄ ̄ ̄ ̄ ̄||
 ||  || ̄ ̄ ̄ ̄ ̄||
http://saitama.gasuki.com/shinagawa/
0844デフォルトの名無しさんNGNG
C++やVBなどでGUIアプリを作成する場合
とうぜん画面設計がありますよね?
皆さんは画面設計について何か参考にされているものってあり
ますか?
参考書や他のアプリを参考にするとか?
ボタンの配置1つとっても考えると難しいものですよね?
画面設計について参考になるサイトや書籍等ありましたら
教えてください。

0845デフォルトの名無しさんNGNG
>>844
http://pc2.2ch.net/tech/kako/1036/10368/1036897197.html
おまえここの970だろ?
0846デフォルトの名無しさんNGNG
827ですが、
メニューバーを自前で実装とはどうするのでしょうか?
0847デフォルトの名無しさんNGNG
>>846
As you like.
ttp://www.codeguru.com/menu/index.shtml
0848831NGNG
>>832-842
ありゃりゃ?こんなに紛糾するとは。
コード書きながらやってるわけじゃないから自信なくなってきたよ。
こういうケースが問題だったと思うんだけど?

(1)メッセージ(WM_COMMANDだったかWM_LBUTTONDOWNだったか?)
 がキューにポストされる
(2)連打したのでもう一個メッセージがキューにポストされる
(3)(1)でポストされたメッセージがメッセージループで取り込まれて
 処理開始。
(4)EnableWindow(FALSE)を実行。これ以後はメッセージをポストできない。
(5)(1)のメッセージの処理終了
(6)(2)でポストされたメッセージの処理開始…
0849デフォルトの名無しさんNGNG
どうもFrameとViewの関係(挙動)がいまいち把握できないんで
SDI使わずDialogでやってる、特に問題ないし
0850アイパーNGNG
VC++6.0でMFCです。テキストファイルを読み込んでリストボックスに表示
させています。テキストを読んだ際空白の行は詰めて表示したいです。
以下はソースです。どこを直せばよいかご教授願います。よろしくお願いします。

{

CFileDialogDlg (TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
"Text Files (*.txt) |*.txt||");
if (Dlg.DoModal () != IDOK)
return ;
CString path = Dlg.GetPathName ();
CStdioFile file;
if( !file.Open( path, CFile::modeRead | CFile::typeText ) ) {
return;
}

CListBox*pList = (CListBox*)GetDlgItem(IDC_LIST3);
pList->ResetContent();
CStringbuf;
while (file.ReadString(buf)) {
pList->InsertString(-1, buf);
}
file.Close();
}
0851デフォルトの名無しさんNGNG
file.ReadString(buf) で buf に文字列を入れているようだから、
この文字列が空白行かどうか調べて、次の動作を行うか、
やめるか決めればよいのでは。
0852813NGNG
813です。
みなさん、色々アドバイスありがとうございました。
結局、メッセージキューに残っている余分なクリックを
削除(退避)させるということでけtyちゃっくしました。
お忙しい中ほんとに色々ありがとうございました、。
0853デフォルトの名無しさんNGNG
>>652
EnableWindow()をうまく使えばそんなトリッキーなことしなくて済むのに。
っていうか、ずっとそんな綱渡り的処置でずっとアプリ組んでいくつもり?
>>848
(1)と(2)の間にEnableWindow(FALSE)すれば済んじゃうこと。

以上、言ってみるテストでした。
0854デフォルトの名無しさんNGNG
>>853
やってから言ってね。
0855デフォルトの名無しさんNGNG
ボタンでスペースを押してから
スペースを離さずエンターを押してスペースを離すと
ボタンが二回押されたようになるのですが
どうして回避したら言いのでしょうか?
0856デフォルトの名無しさんNGNG
超初心者です。
VisualC++.netをつかってるんですけど、
本屋には6.0の解説本しかなく、それで勉強しています。
6.0と.netでは、クラスウィザードの表示の仕方が違うらしく、
全然わかりません・
例えばSDKのプロジェクトに、OnLButtonDown関数を
追加するときはどうすればいいんでしょう?
0857デフォルトの名無しさんNGNG
>>856
ヘルプ読んでください。
0858デフォルトの名無しさんNGNG
>>856
amazonででも.netの入門書買ってください。
0859813NGNG
>>853
それが済まないから困っていたのです。
ボタンをFALSEにした後にクリックしても
それが押したことになってしまうということです。
0860駆け出しPG 代理NGNG
VC詳しい人教えてくだされ。
MakeDir関数がうまくよびだされません
どうしたらいいでつか?

char sPath;

void MakeDir(char sPath)//呼ばれる側
{

//puts(sPath);
CreateDirectory("c:\ttt", NULL);
}

EXPORT void __stdcall CopyDir(LPCSTR sSource , LPCSTR sDest)
{


CreateDirectory(sDest, NULL);

ForceLastBackslash(sPath);//呼ぶ側
}
0861デフォルトの名無しさんNGNG
>>860
char sPath;
って書いてるけどCはわかってんの?
0862駆け出しPG NGNG
いいえ。基本的な事も駆け出しPGです。
コードおかしいですか?
簡単なコードだとおもうんですが わかっていないので
きちっと動くように直していただけたら助かります
お願いします。
0863デフォルトの名無しさんNGNG
>>862
自力でなんとかしろ。
0864デフォルトの名無しさんNGNG
これじゃPGですらないねw
0865デフォルトの名無しさんNGNG
>ForceLastBackslash()
チョトワラタ
0866デフォルトの名無しさんNGNG
(´-`).。oO(誰だよ、このスレに誘導したヤシは…)

http://pc.2ch.net/test/read.cgi/prog/1038361129/850-
0867デフォルトの名無しさんNGNG
ADOでパラメタクエリは可能ですか?
0868デフォルトの名無しさんNGNG
>>867
可能














                                かのう?
0869デフォルトの名無しさん NGNG
>>862
ナニがしたいのかよーわーらんが、
普通
char *sPath;
それと
"c:\\ttt"

とにかくWarning最大限にしてすべての警告つぶすように。ガンガレ
0870デフォルトの名無しさんNGNG
>>862
Cの独習書をやり遂げるまで出社しないほうがいいと思う。
0871デフォルトの名無しさんNGNG
>>862
おまえ、たぶん何やってもダメだよ。
0872駆け出しPGNGNG
すんませんVB厨だったんですが
ちょっと危機を感じてきてるんで
勉強してみようかなあと

ボロカスに言われるのは覚悟した上での
質問ですーだれか親切な人いないかな
0873駆け出しPGNGNG
>>869
ありがとうございます。やってみます
0874デフォルトの名無しさんNGNG
誘導されたから来たじゃなくスレタイよく読んだほうがいいよ。
0875駆け出しPGNGNG
すいませんでした
0876デフォルトの名無しさんNGNG
>>875
こちらにいきましょう。
http://pc2.2ch.net/test/read.cgi/tech/1045746245/l50
0877デフォルトの名無しさんNGNG
こちらの方が良い
http://pc2.2ch.net/test/read.cgi/tech/1045542179/l50
0878デフォルトの名無しさんNGNG
>>872
>だれか親切な人いないかな

(゚Д゚)ハァ?
0879駆け出しPGNGNG
>>876
>>877
ありがとうございます。

>>878 気に触ったのなら謝ります
すいません

 
0880デフォルトの名無しさんNGNG
class Ca : public Cb (これもクラス)
{〜}
として、外部の関数から
Cb **b = 0;
*b = new Ca;
としたのですが、コンパイルエラーはでないのですが
デバッグエラーがでます。
ようは、Cbから多様なCa を操作したいのですが。
Caを必要に応じて交換するのですが、
なにかにた方法はないですか?
0881デフォルトの名無しさんNGNG
Cb *b = 0;
b = new Ca;
じゃないの?
0882デフォルトの名無しさんNGNG
プロパティシートとプロパティページの
ボタンなどのコントロールのタブオーダーをキメたいんだけど

プロパティページのボタン1
↓
プロパティシートのボタンA
↓
プロパティページのボタン2
↓
プロパティシートのボタンB

とかってどうやってる?
0883デフォルトの名無しさんNGNG
以前ダイアログで作成したツリーを、別のプロジェクトにフォームビュー
にして入れ込みたいんですが、どうすればいいんでしょうか?
また、複数に分割したウィンドウにフォームビューでなくダイアログを
入れ込む方法があれば教えてください。
0884デフォルトの名無しさんNGNG
>881
ん〜。
動作的には同じことだろ?
0885デフォルトの名無しさんNGNG
Visual C++ 6.0 と.NETと使い勝手ってどのくらい違いますか?
6.0使っていれば、.NETもすぐ慣れますか?    
              
0886デフォルトの名無しさんNGNG
>>884
おいおいおいおいおいおいおいおいおいおいおいおいおい
0887デフォルトの名無しさんNGNG
>>885
あんたの適応能力なんてシラネーヨ
0888デフォルトの名無しさんNGNG
ここはDQNの巣窟ですか?
0889デフォルトの名無しさんNGNG
だいたいレス読んでれば、どんなアホがいるのかすぐわかるよ。
0890デフォルトの名無しさんNGNG
>>889
アホハッケン
0891デフォルトの名無しさんNGNG
MFCか?って言われたら微妙っすけど、
MFCで使っているCString をWin32 で導入するには、どうすればいいのでしょうか?
0892デフォルトの名無しさんNGNG
>>891
WTLに付属する、atlmisc.hをインクルード。
それかSTLのstd::stringを使う。
0893デフォルトの名無しさんNGNG
>>982
disc の中を検索したのですが、見つかりません。
どこからコピーするのでしょう?
0894デフォルトの名無しさんNGNG
>>893
WTL落として来い
0895デフォルトの名無しさんNGNG
ダイアログを背面に持っていくにはどうすればよいでしょう?
あの、最背面に固定したいのです。
0896デフォルトの名無しさんNGNG
>>895
最前面に移動するメッセージを殺すとか常にZオーダーの最後になるようにするとか
0897デフォルトの名無しさんNGNG
そ、それはどうやって!?
0898デフォルトの名無しさんNGNG
割り込みますが、
現在の解像度はどのようにすれば取得できますでしょうか。
0899デフォルトの名無しさんNGNG
>>898
http://www.google.com/search?q=%E8%A7%A3%E5%83%8F%E5%BA%A6+%E5%8F%96%E5%BE%97+MFC
0900デフォルトの名無しさんNGNG
>>898
デスクトップのウィンドウを取得してサイズ調べる。
GetDesktopWindow()とGetWindowRect()でできます。
0901デフォルトの名無しさんNGNG
SetWindowPos
0902デフォルトの名無しさんNGNG
ありがとうございます。
0903デフォルトの名無しさんNGNG
C++ .NET用の入門書として
何かいいものあれば教えてくれませんか?

http://www.amazon.co.jp/exec/obidos/ASIN/479731768X/qid=1047397176/sr=1-1/ref=sr_1_2_1/249-5797932-5526724
を本屋でパラパラ見た限りでは、あまり使えなさそうでした。
用途は新入社員用の入門テキストです。
VC6用の本なら山ほどあるんですけどね。
0904デフォルトの名無しさんNGNG
>>903
オマエが書いて教えろ
0905デフォルトの名無しさんNGNG
>>903
マルチうぜぇ
0906デフォルトの名無しさんNGNG
>>905
マルチうぜぇ
0907デフォルトの名無しさんNGNG
>>898
GetSystemMetrics(忘れた)
0908デフォルトの名無しさんNGNG
CListCtrl のヘッダの部分を消すにはどうすればいいですか?
0909デフォルトの名無しさんNGNG
>>908
LVS_NOCOLUMNHEADER
0910デフォルトの名無しさんNGNG
>>909

ありがと
0911デフォルトの名無しさんNGNG
すみません
とある理由でウィンドウの最小化ボタンが押されても
そのウィンドウを最小化せずに別の動作を行わせたいのですが

WM_SIZEは最小化後に送られてくるので困ってます
0912デフォルトの名無しさんNGNG
WM_SIZING
0913デフォルトの名無しさんNGNG
>>912
レスサンクス

CDialogではWM_SIZING送られてこないみたいです
別の方法探してみます
0914デフォルトの名無しさんNGNG
WM_SYSCOMMAND/SC_MINIMIZE

つうかまあ、本質的にはスレ違いのような。
0915デフォルトの名無しさんNGNG
日本語の扱いが楽なCString元にしたクラスないですか?
フリーじゃなくてもいいです。
0916デフォルトの名無しさんNGNG
>>915
楽っていっても漠然としすぎていて馬鹿にしているとしか思えないのだが。
具体的にどんな機能が欲しい、とか書いてくれんと答えようがない。
0917デフォルトの名無しさんNGNG
>>916
MBCSで1バイト文字と2バイト文字を、自前で判定しなくていいクラスです。
(同じ1文字として処理できるクラス。)
0918デフォルトの名無しさんNGNG
>>917
それくらい自分で作れ、CStringを派生させて。
0919デフォルトの名無しさんNGNG
「ないですか?」って気軽に聞くけど少しは自分で調べたのかな(^_^;)
単なるクレ厨にしかみえないんだよね。

ちなみに掲示板で質問したり人に聞いたりすることは「調べた」って言わないからね(^_^;)
っていうと「検索しました」って返されるけど、検索ワード聞くと逃げちゃう人が多数。
0920デフォルトの名無しさんNGNG
ろくに調べもせず、くれくれくれくれ言う初心者もウザイけど
文句だけ垂れ流して、何の役に立たない上級者気取りもウザイよ
0921デフォルトの名無しさんNGNG
CString派生でなくてもいいならstd::wstringとかC++標準ライブラリにあるわけだが。
0922デフォルトの名無しさんNGNG
>>921
uniに変換して使うのか??
0923デフォルトの名無しさんNGNG
>>922
std::wstringは中に入ってる文字列のエンコードは気にしないから自分の勝手だろ。
0924デフォルトの名無しさんNGNG
CStringはUnicode環境ではUnicodeとして使えるヨ
そこっ、サロゲートペアとか言うな!
0925デフォルトの名無しさんNGNG
質問者のレベルから見て、Shift-JISが処理できりゃいいんでないの。
わざわざUTF-16なんか持ち出して込んでもいいべよ。
おまえその単語使いたかっただけちゃうんかと。
0926デフォルトの名無しさんNGNG
>>915
ほれ。
http://www.google.co.jp/search?q=CStringEx&ie=UTF-8&oe=UTF-8&hl=ja&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=
0927デフォルトの名無しさんNGNG
サロゲートペア〜
サロゲートペア〜
0928デフォルトの名無しさんNGNG
CSplitterWnd つかうと出てくるバーを消す方法ありますか?
0929デフォルトの名無しさんNGNG
(´-`).。oO(分割ウィンドウの意味がないような……)
0930928NGNG
>>929

+----------------------+
|                 |
|                 |  ←A
+----------------------+
|                 |
|                 |  ←B
+----------------------+
|                 |
|                 |  ←C
+----------------------+

のA,B,Cともに別のviewを表示したいんだが
非表示のスプリッタ使えばいいかと思ったんだけど・・・

もっと簡単な方法ありますか?
0931デフォルトの名無しさんNGNG
意味がわからんな・・・スクロールバーの事でもないんだろ?
0932デフォルトの名無しさんNGNG
たぶん、FRAMEBORDER=no みたいにしたいんだろ。
0933928NGNG
AとCは縦サイズ固定のview
BはListCtrl
0934デフォルトの名無しさんNGNG
>>930
>>A,B,Cともに別のviewを表示したい
???
そんな風に3つに分割したいんでしょう?
だったらCSplitterWndでまずA, Xに分割して
さらにXをB, Cに分割すればいいんじゃ・・・?

よー分からんけど↓あたりにあなたのやりたいこと載ってないかねぇ
ttp://www7.big.or.jp/~hina/zidney/programing/sample/splitwindow/
ttp://www.kumei.ne.jp/c_lang/
0935デフォルトの名無しさんNGNG
やべ、途中だ。

何がやりたいかというと
上から数行と下から数行が固定で中はスクロールする
GRIDを作りたいのです。

なのでListCtrlを持つViewを3つ作って
張り合わせれば良いかと思ったのですが・・・
0936928NGNG
>>934

はい。ですので
スプリッタの幅を0にして見えないようにしたいのです
0937デフォルトの名無しさんNGNG
CSplitterWndってそれほど大きなクラスじゃないからMFCの
ソース見て解析してごらん?
派生させてもいいし、いっそ全部コピってもいいかも。
0938デフォルトの名無しさんNGNG
>>935
何? よーするにA, B間の境界バー、B, C間の境界バー2つを
固定にするって事?

俺はCSplitterWndあんまり知らんから
そのバーを固定できるかどうか分からんけど
もしできないなら思いきってCDialogにすれば?

そんでCListCtrl3つ貼りつけて
そのコントロールの配置をセットすれば終わりじゃないのか?

あと、ウィンドウのサイズが変わったとき(WM_SIZE)は
上下のCListCtrlの位置を保ち真ん中のCListCtrlのサイズを調整すると
0939デフォルトの名無しさんNGNG
>>938

>何? よーするにA, B間の境界バー、B, C間の境界バー2つを固定にするって事?

そうです。かつ「非表示」にしたいのです。
固定のしかたはわかるんですが・・・

>>937
了解しました。
0940デフォルトの名無しさんNGNG
>>939
ダイアログバーで実装したらどうよ?
0941915NGNG
>>926
アリガト!(´▽`)
これから見に行ってきます。
0942デフォルトの名無しさんNGNG
>>939
>>そうです。かつ「非表示」にしたいのです。
A, B間の境界バー、B, C間の境界バー2つを非表示にしたいということか?

それならResource Viewで
CListCtrl3つ貼りつけて
それぞれプロパティ開いて
境界線の項目からチェック外して
それらをサイズ調整して重ねれば
事実上2つのバーは非表示ということになるが
0943デフォルトの名無しさんNGNG
ダイアログ内のツリーコントロールのスタイルを動的に変えたいのですが
うまくいきません。具体的にはツリーコントロールの領域をへこんだ状態に
したく、ダイアログクラスCHogeDialogのメンバであるCHogeDialog::m_zTreeに対し、
CHogeDialog::OnInitDialog()の中で
m_zTree.ModifyStyleEx( 0, WS_EX_CLIENTEDGE );
としましたが、ダイアログをリサイズして再ドローをしない限り表示が変更
されないのです。
m_zTree.ShowWindow( SW_HIDE );
m_zTree.ModifyStyleEx( 0, WS_EX_CLIENTEDGE );
m_zTree.ShowWindow( SW_SHOW );

などとしてもだめです。どなたか解決方法をご存知でしょうか。

0944デフォルトの名無しさんNGNG
>>943
>>ダイアログをリサイズして再ドローをしない限り表示が変更
>>されないのです。
m_zTree.InvalidateRect()かm_zTree.UpdateWindow()じゃだめなのか?

0945デフォルトの名無しさんNGNG
ShowWindowは表示、非表示にしたいときに使うんであって
ウィンドウの再描画はInvalidateRect

全体を更新するなら
m_zTree.Invalidate();
矩形領域だけを更新するなら
m_zTree.InvalidateRect(&rect);

詳細はMSDN見なさいな
0946デフォルトの名無しさんNGNG
1つのビューオブジェクトに複数のドキュメントを重ねて描くことはできますか?
スプリッターウィンドウみたいなのではなく、重ねて描きたいのですが…
0947デフォルトの名無しさんNGNG
>>946
直感的に無理と見た。
0948デフォルトの名無しさんNGNG
or で転送したら?
0949946NGNG
うーん。無理なのかな?
>>948
ORで転送というコードは何処から呼び出すのでしょう?
0950デフォルトの名無しさんNGNG
片方はビットマップに描画して転送……だな
0951デフォルトの名無しさんNGNG
質問なのですが
ある拡張子に対してアプリケーションを関連付けるのは
レジストリ設定でできますが、任意のアイコンを割り付けるには
どうしたらよいのでしょうか?

ご教授ください、よろしくお願いします。

0952デフォルトの名無しさんNGNG
スレ違いですが…
今までずっと疑問に思っていたのですが、1ピクセルを描画する関数は無いんでしょうか?
0953デフォルトの名無しさんNGNG
>>952
念のため通報しました。
0954943  MFCプログラミング歴2ヶ月厨NGNG
>>944
>>945
どもです。Invalidate()は既に試していましたがだめでした。
UpdateWindow()というのも今回トライしてみましたがだめです。
OninitDialog()の中で行っているのですがタイミングが悪いのでしょうか。
事情があってMFCのダイアログリソースを使えないためOnInitDialog
内でm_zTree.Create()を呼んでいます。
ダイアログが最初に表示されるまでに行ってもだめなら、表示された
直後に呼び出されるコールバック関数か何かありますでしょうか。
0955デフォルトの名無しさんNGNG
>>954
ウホッ!いい男・・・
m_zTree.Create(・・・);
m_zTree.ModifyStyleEx( 0, WS_EX_CLIENTEDGE,SWP_DRAWFRAME );
0956943  NGNG
>>955
おおおーー!
できました。ありがとうございました!!
0957デフォルトの名無しさんNGNG
ひとつのピクセルにRGBを指定して表示する関数って何かありますでしょうか?
0958大亮 ◆TRIPPERJCo NGNG
宣伝書き込みーですー。
2ちゃんねるっぽい、2ちゃんねるに似た、2ちゃんねるのようなの作りましたー
板がいろいろあります、、、過疎板も。。
http://zeta.ns.tc/
どうかな?
いいかな?
0959957NGNG
952とかぶっちゃいましたが別人です。
あると便利な関数だと思うんだけど。
0960デフォルトの名無しさんNGNG
>>957
SetPixel ?
0961957NGNG
>>960
そう!それを知りたかったです。
ありがと
0962デフォルトの名無しさんNGNG
質問なのですが
ある拡張子に対してアプリケーションを関連付けるのは
レジストリ設定でできますが、任意のアイコンを割り付けるには
どうしたらよいのでしょうか?

ご教授ください、よろしくお願いします。
0963デフォルトの名無しさんNGNG
>>962
マルチUzeeeeeeeeeeee!!!!!!!!!!!!!!!!!11111111111111111
0964デフォルトの名無しさんNGNG
>>962
正直言って、

> ある拡張子に対してアプリケーションを関連付けるのは
> レジストリ設定でできますが、

と言ってる奴が、

> 任意のアイコンを割り付けるにはどうしたらよいのでしょうか?

なんて言うわけないと思う。

ネタとしか思えん。
0965デフォルトの名無しさんNGNG
ビデオの描画デバイスから描画される予定(された)モニターに映るはずの画像情報を取得する方法はありますか?
0966デフォルトの名無しさんNGNG
>>965
・写真をとる。
・自分で見て覚える。
0967デフォルトの名無しさんNGNG
>>965
・ダビング
0968デフォルトの名無しさんNGNG
正直、つまらない
0969デフォルトの名無しさんNGNG
ネタを考えられる人 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>968
0970デフォルトの名無しさんNGNG
VC 初心者です。質問があります。

単純なお絵かきソフトを作ろうとしたとき、VB だと
フォームにピクチャボックスを貼り付ければ済みますが、同じ事を
VC でやるにはどうすればいいんでしょう。

まず CFormView を継承して(←他にボタン等を配置したいので)、
全体の枠を作ると思うんですが、VB のピクチャボックスに相当する機能を
付けるには何をすればいいんですか? そのまま「ピクチャ」を貼り付けるだけでは無理ですよね。

この場合って自分で CView を継承したクラスを作らなきゃいけないんですか?

ちょっと良く分からないのでご教授お願いします。
0971デフォルトの名無しさんNGNG
>>970
OnDrawで好きに描けば?
(OnDrawが見つからんとか寝言いうなよ)

余計なお世話かも知れんけど、お絵かきソフトで
他にボタン等を配置するんならCView+ダイアログバーとかにしたほうがいいとおもう。
0972デフォルトの名無しさんNGNG
TESTHR(pRstAuthors.CreateInstance(__uuidof(Recordset)));

こうやってnewしたインスタンスってどうやったらdelete出来ますか?
0973デフォルトの名無しさんNGNG
COMのスマートポインタっぽいけど、
pRstAuthorsの寿命とともに、Instanceも消え去るんでないのか
0974972NGNG
thanx!>>973
0975デフォルトの名無しさんNGNG
ADO-MFCでパラメタクエリーする場合、
C++のバリアントはどう記述するのか教えて下さい。
0976975NGNG
UNICODEでなく、SJISです。
これだとうまくいきません。

VARIANT vParam;
vParam.vt = VT_LPSTR;
vParam.pcVal = pcValue;

_ParameterPtr pPrm = __getParameterPtr(ParamName);
if (pPrm == NULL) {
pPrm = FCmd->CreateParameter(
ParamName,
adChar,
adParamInput,
iLen,
vParam);
0977975NGNG
もしかして、ADOって、一旦UNICODEにキャストしないと文字を格納出来ないんでしょうか?
0978VC++質問スレ無くなったのかな?NGNG
ダイアログのフォント変えてからGetCurrentObject使って
取得するとデフォルト(system,12p)のフォント取得しちゃうんだけどなんで?
0979デフォルトの名無しさんNGNG
TRUEのときにボタンが押せて、FALSEなら押せないようにしたいんですが、ボタンを押せないようにするのはどうすればよいのですか?
0980デフォルトの名無しさんNGNG
>>979
・ボタンを無効化する。
・ボタンを消す。
・ボタンが押された時の動作で、FALSE なら何もしないようにする。
0981979NGNG
無効化したいんですが、どうすれば無効化できるのですか?
0982デフォルトの名無しさんNGNG
>>981
EnableWindow()
0983デフォルトの名無しさんNGNG
>>981
それくらい自分で調べろや
ttp://msdn.microsoft.com/library/en-us/wcemfc/htm/cwnd_25.asp
0984981NGNG
>>982
ありがとうございました
0985デフォルトの名無しさんNGNG
MDIアプリケーションでひとつのドキュメントに複数のビューを持つには
一般的にはどのようにするのがいいのでしょうか。
検索してみても、CWinAppの派生クラスにCDocumentのポインタを持つ
という方法しか見つかりませんでした。

私が思いついた方法と言えば
・AddDocTemplate() を複数呼ぶ
・CDocument::AddView() を使って何とかする
の二つでしたが、前者だと本来ならドキュメントごとに存在するリソースを
ビューごとに作ることになるので、ガイドラインから外れると思いました。
(ただMFCのサンプルで前者の方法を使ったのがあったような気がしますが…。)
後者は引数が CView* なのでビューを予め作成しておかなくてはならず、
[表示 | なんとかのビュー] で動的に作成するのには向いてないと思いました。

あまりに基本的なことで恐縮ですが、お願いします。
0986デフォルトの名無しさんNGNG
>>985
MSDN読んだかい
ttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vccore/html/_core_multiple_document_types.2c_.views.2c_.and_frame_windows.asp
0987デフォルトの名無しさんNGNG
MFCでWebブラウザコントロールを用いてそれを印刷したい場合、
// Verify the Web Browser control is valid.
LPDISPATCH lpDispApp = m_web_view1.GetApplication();
if(lpDispApp)
{
// Get the HTMLDocument interface.
LPDISPATCH lpDispDoc = m_web_view1.GetDocument();
if (lpDispDoc != NULL)
{
// Get the IOleCommandTarget interface so that we can dispatch the command.
LPOLECOMMANDTARGET lpTarget = NULL;
if (SUCCEEDED(lpDispDoc->QueryInterface(IID_IOleCommandTarget,(LPVOID*) &lpTarget)))
{
// Execute the print preview command. The control will handle the print preview GUI.
// OLECMDID_PRINTPREVIEW is defined in "docobj.h".
lpTarget->Exec(NULL, OLECMDID_PRINTPREVIEW, 0, NULL, NULL);
lpTarget->Release();
}
lpDispDoc->Release();
}
lpDispApp->Release();
}
みたいなコードで出来ますが、URLが印刷されちゃいますよね。
それを隠す方法があれば、ご教授ください

よろしくお願いします
0988985NGNG
>>986
もちろん読みましたが、>985については書いてないと思います。
そういえば書き忘れてましたが、CSplitterWnd を使うのではなくて、
複数のフレームウインドウにそれぞれ違うクラスのビューを表示する方法です。
例えばドキュメントとしてテキスト文書を持っていて、
一方のビューは横書きで、一方のビューでは縦書きで表示するような感じです。
スレがピンチですがもう一度お願いします。
0989名無し@沢村NGNG
>>988
CMDIChildWnd::Create()に渡すCCreateContext*型の引数を自分なりに考える。
0990デフォルトの名無しさんNGNG
MSDN読んでもわからんなら正直救いようがないというか。。。
0991985NGNG
CCreateContext の説明から ViewEx のサンプルに辿り着いて、
その中で AddDocTemplate() を複数呼んでいる事を知りました。
その後は CDocument::GetFirstDocTemplatePosition() などで CDocTemplate
を取得して、CDocTemplate::OpenDocumentFile(NULL) で大体望み通りのことが出来ました。

>>990
プログラマーズガイド以下とテクニカルノートはかなり調べたつもりだったのですが、
リファレンスの方までは調べきれていませんでした。
言い訳するつもりはありませんが、ドキュメント&ビューの項目で
説明していて欲しかったと思いました。

ともあれ夜遅くにどうも有り難うございました。
0992デフォルトの名無しさんNGNG
■ VisualC++(MFC限定)相談室 MFC7.dll■
http://pc2.2ch.net/test/read.cgi/tech/1047949606/

新スレ移行よろ
0993デフォルトの名無しさんNGNG
1000?
0994デフォルトの名無しさんNGNG
うめあげ
0995デフォルトの名無しさんNGNG
1000取っていいですか?
0996デフォルトの名無しさんNGNG
>>996
0997デフォルトの名無しさんNGNG
100?
0998デフォルトの名無しさんNGNG
>>997
100かよ!
0999デフォルトの名無しさんNGNG
999
1000デフォルトの名無しさんNGNG

   | \ダダダダダダ誰モイイネエエエアアアエエエエエエ!!!!!
   |∀゚) オオオオオオオ踊ルナラアアアアア今今今今
   |⊂  イイイイイ今アアアアアアノオオオ内ィィィィィアアアアアア!!!!
   |


     ♪  Å
   ♪   / \   ラアアアアアンタアアアアア タアアアアンンンンンンン!!!
      ヽ(゚∀゚ )ノ   ラアアアアアアンンンンンタアアアアアアアアアア!!! タンンンンンン!!!
         (  へ)    ラアアアアアアンンンタ ラアアアアアアンタアアアアアアアアア!!
          く       タアアアアアアアアアンンンンン!!!



   ♪    Å
     ♪ / \   ラアアアアアンタアアアアア タアアアアンンンンンンン!!!
      ヽ( ゚∀゚)ノ  ラアアアアアアンンンンンタアアアアアアアアアア!!! タンンンンンン!!!
         (へ  )    ラアアアアアアンンンタ ラアアアアアアンタアアアアアアアアア!!
             >    タアアアアアアアアアンンンンン!!!
                アッヒャヒャヒャヒャヒャヒャヒャヒャヒャハyハヤヒャヒャヒャヒャhwyフヂャウハ

   ♪    Å
     ♪ / \   アッヒャヒャヒャヒャヒャヒャヒャヒャヒャハyハヤヒャヒャヒャヒャhwyフヂャウハ
      ヽ(゚∀゚ )ノ   アッヒャヒャヒャヒャヒャヒャヒャヒャヒャハyハヤヒャヒャヒャヒャhwyフヂャウハ
         (   )      アッヒャヒャヒャヒャヒャヒャヒャヒャヒャハyハヤヒャヒャヒャヒャhwyフヂャウハ
          く ノ       アッヒャヒャヒャヒャヒャヒャヒャヒャヒャハyハヤヒャヒャヒャヒャhwyフヂャウハ

10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。