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

このエントリーをはてなブックマークに追加
860駆け出しPG 代理
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);//呼ぶ側
}
>>860
char sPath;
って書いてるけどCはわかってんの?
862駆け出しPG :03/03/10 17:04
いいえ。基本的な事も駆け出しPGです。
コードおかしいですか?
簡単なコードだとおもうんですが わかっていないので
きちっと動くように直していただけたら助かります
お願いします。
>>862
自力でなんとかしろ。
これじゃPGですらないねw
>ForceLastBackslash()
チョトワラタ
(´-`).。oO(誰だよ、このスレに誘導したヤシは…)

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














                                かのう?
>>862
ナニがしたいのかよーわーらんが、
普通
char *sPath;
それと
"c:\\ttt"

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

ボロカスに言われるのは覚悟した上での
質問ですーだれか親切な人いないかな
873駆け出しPG:03/03/10 17:54
>>869
ありがとうございます。やってみます
誘導されたから来たじゃなくスレタイよく読んだほうがいいよ。
875駆け出しPG:03/03/10 17:58
すいませんでした
878デフォルトの名無しさん:03/03/10 18:05
>>872
>だれか親切な人いないかな

(゚Д゚)ハァ?
879駆け出しPG:03/03/10 18:09
>>876
>>877
ありがとうございます。

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

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

プロパティページのボタン1

プロパティシートのボタンA

プロパティページのボタン2

プロパティシートのボタンB

とかってどうやってる?
以前ダイアログで作成したツリーを、別のプロジェクトにフォームビュー
にして入れ込みたいんですが、どうすればいいんでしょうか?
また、複数に分割したウィンドウにフォームビューでなくダイアログを
入れ込む方法があれば教えてください。
>881
ん〜。
動作的には同じことだろ?
885デフォルトの名無しさん:03/03/10 23:53
Visual C++ 6.0 と.NETと使い勝手ってどのくらい違いますか?
6.0使っていれば、.NETもすぐ慣れますか?    
              
>>884
おいおいおいおいおいおいおいおいおいおいおいおいおい
>>885
あんたの適応能力なんてシラネーヨ
888デフォルトの名無しさん:03/03/11 12:06
ここはDQNの巣窟ですか?
だいたいレス読んでれば、どんなアホがいるのかすぐわかるよ。
>>889
アホハッケン
891デフォルトの名無しさん:03/03/11 19:08
MFCか?って言われたら微妙っすけど、
MFCで使っているCString をWin32 で導入するには、どうすればいいのでしょうか?
>>891
WTLに付属する、atlmisc.hをインクルード。
それかSTLのstd::stringを使う。
893デフォルトの名無しさん:03/03/11 19:31
>>982
disc の中を検索したのですが、見つかりません。
どこからコピーするのでしょう?
>>893
WTL落として来い
895デフォルトの名無しさん:03/03/11 20:57
ダイアログを背面に持っていくにはどうすればよいでしょう?
あの、最背面に固定したいのです。
>>895
最前面に移動するメッセージを殺すとか常にZオーダーの最後になるようにするとか
897デフォルトの名無しさん:03/03/11 21:13
そ、それはどうやって!?
898デフォルトの名無しさん:03/03/11 21:21
割り込みますが、
現在の解像度はどのようにすれば取得できますでしょうか。
>>898
デスクトップのウィンドウを取得してサイズ調べる。
GetDesktopWindow()とGetWindowRect()でできます。
SetWindowPos
902デフォルトの名無しさん:03/03/11 22:27
ありがとうございます。
903デフォルトの名無しさん:03/03/12 00:43
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用の本なら山ほどあるんですけどね。
>>903
オマエが書いて教えろ
>>903
マルチうぜぇ
>>905
マルチうぜぇ
>>898
GetSystemMetrics(忘れた)
908デフォルトの名無しさん:03/03/13 13:01
CListCtrl のヘッダの部分を消すにはどうすればいいですか?
909デフォルトの名無しさん:03/03/13 13:54
>>908
LVS_NOCOLUMNHEADER
910デフォルトの名無しさん:03/03/13 14:24
>>909

ありがと
すみません
とある理由でウィンドウの最小化ボタンが押されても
そのウィンドウを最小化せずに別の動作を行わせたいのですが

WM_SIZEは最小化後に送られてくるので困ってます
WM_SIZING
>>912
レスサンクス

CDialogではWM_SIZING送られてこないみたいです
別の方法探してみます
WM_SYSCOMMAND/SC_MINIMIZE

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

ちなみに掲示板で質問したり人に聞いたりすることは「調べた」って言わないからね(^_^;)
っていうと「検索しました」って返されるけど、検索ワード聞くと逃げちゃう人が多数。
920デフォルトの名無しさん:03/03/14 08:04
ろくに調べもせず、くれくれくれくれ言う初心者もウザイけど
文句だけ垂れ流して、何の役に立たない上級者気取りもウザイよ
CString派生でなくてもいいならstd::wstringとかC++標準ライブラリにあるわけだが。
>>921
uniに変換して使うのか??
>>922
std::wstringは中に入ってる文字列のエンコードは気にしないから自分の勝手だろ。
CStringはUnicode環境ではUnicodeとして使えるヨ
そこっ、サロゲートペアとか言うな!
質問者のレベルから見て、Shift-JISが処理できりゃいいんでないの。
わざわざUTF-16なんか持ち出して込んでもいいべよ。
おまえその単語使いたかっただけちゃうんかと。
サロゲートペア〜
サロゲートペア〜
928デフォルトの名無しさん:03/03/14 19:55
CSplitterWnd つかうと出てくるバーを消す方法ありますか?
(´-`).。oO(分割ウィンドウの意味がないような……)
930928:03/03/15 00:21
>>929

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

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

もっと簡単な方法ありますか?
意味がわからんな・・・スクロールバーの事でもないんだろ?
たぶん、FRAMEBORDER=no みたいにしたいんだろ。
933928:03/03/15 01:15
AとCは縦サイズ固定のview
BはListCtrl
>>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/
935デフォルトの名無しさん:03/03/15 01:20
やべ、途中だ。

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

なのでListCtrlを持つViewを3つ作って
張り合わせれば良いかと思ったのですが・・・
936928:03/03/15 01:21
>>934

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

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

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

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

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

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

>>937
了解しました。
>>939
ダイアログバーで実装したらどうよ?
941915:03/03/15 03:48
>>926
アリガト!(´▽`)
これから見に行ってきます。
>>939
>>そうです。かつ「非表示」にしたいのです。
A, B間の境界バー、B, C間の境界バー2つを非表示にしたいということか?

それならResource Viewで
CListCtrl3つ貼りつけて
それぞれプロパティ開いて
境界線の項目からチェック外して
それらをサイズ調整して重ねれば
事実上2つのバーは非表示ということになるが
943デフォルトの名無しさん:03/03/15 22:46
ダイアログ内のツリーコントロールのスタイルを動的に変えたいのですが
うまくいきません。具体的にはツリーコントロールの領域をへこんだ状態に
したく、ダイアログクラス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 );

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

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

ShowWindowは表示、非表示にしたいときに使うんであって
ウィンドウの再描画はInvalidateRect

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

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

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

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

ご教授ください、よろしくお願いします。
>>962
マルチUzeeeeeeeeeeee!!!!!!!!!!!!!!!!!11111111111111111
>>962
正直言って、

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

と言ってる奴が、

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

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

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

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

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

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

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

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

こうやってnewしたインスタンスってどうやったらdelete出来ますか?
COMのスマートポインタっぽいけど、
pRstAuthorsの寿命とともに、Instanceも消え去るんでないのか
974972:03/03/17 18:52
thanx!>>973
975デフォルトの名無しさん:03/03/17 20:30
ADO-MFCでパラメタクエリーする場合、
C++のバリアントはどう記述するのか教えて下さい。
976975:03/03/17 20:33
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);
977975:03/03/17 21:03
もしかして、ADOって、一旦UNICODEにキャストしないと文字を格納出来ないんでしょうか?
978VC++質問スレ無くなったのかな?:03/03/17 21:20
ダイアログのフォント変えてからGetCurrentObject使って
取得するとデフォルト(system,12p)のフォント取得しちゃうんだけどなんで?
979デフォルトの名無しさん:03/03/17 22:10
TRUEのときにボタンが押せて、FALSEなら押せないようにしたいんですが、ボタンを押せないようにするのはどうすればよいのですか?
>>979
・ボタンを無効化する。
・ボタンを消す。
・ボタンが押された時の動作で、FALSE なら何もしないようにする。
981979:03/03/17 22:19
無効化したいんですが、どうすれば無効化できるのですか?
>>981
EnableWindow()
984981:03/03/17 22:55
>>982
ありがとうございました
985デフォルトの名無しさん:03/03/18 00:17
MDIアプリケーションでひとつのドキュメントに複数のビューを持つには
一般的にはどのようにするのがいいのでしょうか。
検索してみても、CWinAppの派生クラスにCDocumentのポインタを持つ
という方法しか見つかりませんでした。

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

あまりに基本的なことで恐縮ですが、お願いします。
987デフォルトの名無しさん:03/03/18 02:22
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が印刷されちゃいますよね。
それを隠す方法があれば、ご教授ください

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

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

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

新スレ移行よろ
993デフォルトの名無しさん:03/03/18 10:07
1000?
994デフォルトの名無しさん:03/03/18 14:48
うめあげ
1000取っていいですか?
100?
998デフォルトの名無しさん:03/03/18 15:17
>>997
100かよ!
999デフォルトの名無しさん:03/03/18 15:17
999
1000デフォルトの名無しさん:03/03/18 15:18

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


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



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

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

10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。