5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

■ VisualC++(MFC限定)相談室 3■

1 :MFC:02/02/19 03:38
VC++.NETになったって、MFCも使う所存!


887 :デフォルトの名無しさん:02/05/13 17:37
ダイアログベースのアプリで
シリアライズってどーやるんだ。。。。

888 :デフォルトの名無しさん:02/05/13 17:51
あの、VCのようにMDIでも1つのプロジェクトしか実行できないものがあるじゃないですか。
この手のものは、MDIの子ウィンドウに複数の種類がありますでしょう?
ソース用のテキストだったり、コントロールデザイン用であったり…。
新規作成を押すと、そのあたりが全て初期化されますよね。
そのような、MDIのアプリケーションの複数の子ウィンドウの取り扱いはどのように
すればよいのでしょうか?


889 :デフォルトの名無しさん:02/05/13 18:00
888
したいことがよく判らんが取りあえずこのあたりでも読んでみれば?
http://www.microsoft.com/JAPAN/developer/library/jpbkgnd/TechArt/VTools/vc/MFCFAQ.htm#mfcfaqdocs

890 :デフォルトの名無しさん:02/05/13 18:38
>>888
Documentをツリー上にして出来たよ。
>>889
面白そうなので読もう、いまさらMFCとか言われそうだけど・・・

891 :デフォルトの名無しさん:02/05/13 18:47
何をすればいいのか教えてください。

892 :デフォルトの名無しさん:02/05/13 19:53
>>889
用は、VC++のようにMDIの子ウィンドウに複数の種類を持たせたいのです。
そして、それを取り扱いたいわけです。

893 :デフォルトの名無しさん:02/05/13 19:56
DocTemplateを複数登録すれば?

894 :887:02/05/13 20:16
すんません
シリアライズは実装したんですが、
実際にファイルのオープンや書き込みは
ダイアログベースではどの関数でやればよいのですか?

895 :デフォルトの名無しさん:02/05/13 20:19
CFileDialog

896 :887:02/05/13 20:48
ファイル名まで取得して、
その後なんですが・・・・ウウウ

897 :デフォルトの名無しさん:02/05/13 20:59
フレームワーク使わないなら素直にfprinfとfscanf使おう
 @CFileDialogからファイル名を取得
 ACFileでオープン
 BCArchive ar
 CCxxDocと関連
 DオブジェクトのSerialize ar<< CObjectxx


898 :887:02/05/13 21:05
ありがとうござんすっ

899 :デフォルトの名無しさん:02/05/13 21:58
っていうか.NETのこの時代にMFCを真剣に学んでる
奴等って....(゚д゚)ポカーン
まあ...時代の風に乗り遅れるなよとしか
言いようがないが....

900 :デフォルトの名無しさん:02/05/13 22:00
>>899
.NETではドライバは書けません。
そう言うことです。

901 :デフォルトの名無しさん:02/05/13 22:00
MFCだとドライバ書けるのかと聞きたい

902 :デフォルトの名無しさん:02/05/13 22:02
>>901
.NETでCPLは書けません。

903 :デフォルトの名無しさん:02/05/13 22:05
新しモノ好きなだけ〜

904 :デフォルトの名無しさん:02/05/13 22:07
っていうかもはやMFCはクライアント
サイドで.netに取って代わられるんでしょ?
つまりMFCはデバドラでもしこしこ書いてろ
ということでよろしいか?

905 :デフォルトの名無しさん:02/05/13 22:09
>>904
MFCはともかくネイティブコンパイラは残るでしょ。
取りあえず.NETを支えてるのがWin32である以上。

906 :デフォルトの名無しさん:02/05/13 22:11
ngen=ネイティブコンパイラ?
だったら.NETでもいいと思われ

907 :デフォルトの名無しさん:02/05/13 22:11
905
Win32が残る以上、皮一枚のMFCは残るでしょう

908 :デフォルトの名無しさん:02/05/13 22:12
>>905
.NETのクラスライブラリは最終的には
Win32APIを呼び出しているということですか

909 :デフォルトの名無しさん:02/05/13 22:13
>>908
そらそうでしょう。Widowsプログラミングとはそう言うものでしょう。

910 :デフォルトの名無しさん:02/05/13 22:32
最終的にはBSDのシステムコールを呼び出す実装もあるようだが?

911 :デフォルトの名無しさん:02/05/13 22:47
WindowsXPの浸透率≒.NETの浸透率
は成り立つか?

912 :デフォルトの名無しさん:02/05/13 22:48
XPとNETは何の関係も無い。

913 :デフォルトの名無しさん:02/05/13 22:49
.NETつかってみてーなぁ

914 :デフォルトの名無しさん:02/05/14 14:21
とうとう900突破かぁ


915 :デフォルトの名無しさん:02/05/14 20:04
CPropertySheetでDoModalして、処理が戻ってきたら
GetActiveIndex()を使ってアクティブだったpageのインデックスを
取得したいんだけど、なぜか0しか返ってこない。
SetActiveIndexなら、DoModal前に指定すればちゃんとそのpageが
アクティブになって表示されるのに。なぜ?

916 :デフォルトの名無しさん:02/05/15 13:17
SetActiveIndexって何

917 :デフォルトの名無しさん:02/05/15 18:10
すいません。
MDIでChildWindowにダイアログで設計したものを挿入することは出来ますでしょうか?
SDIでは出来るんですけども、MDIではどうにもなりません。ソースとして挿入できれば
便利かなと思います。


918 :デフォルトの名無しさん:02/05/15 18:31
Θ_Θ ・・・

919 :デフォルトの名無しさん:02/05/15 23:30
>>915
DoModalが終わった後ではすでにプロパテーシートが消えてるからじゃない。

920 :デフォルトの名無しさん:02/05/16 00:02
プリンタへの印刷について質問です。
・途中で用紙サイズを変更することは可能でしょうか(同じスプールにです)
->Wordとかは出来るようなので可能かとも思うのですが
・各企業は自社プリンタ用の拡張機能の仕様を公開しているのでしょうか

921 :デフォルトの名無しさん:02/05/16 00:23
>>919
かなぁ? じゃあどうやって取得したらいいんだろう。
ぐーぐってもヒット数は10件に満たない数だし。

それとSetActivePageだったね。Indexじゃなくて。

922 :デフォルトの名無しさん:02/05/16 00:32
>>921
GetActivePageじゃ取れないんだね?

だったらプロパティシートのOnOKハンドラとかで
GetActivePageでもしてメンバ変数m_nIndexとか作って
その変数に入れておけばいい。それで
if(sheet.DoModal() == IDOK){
  int nIndex = sheet.m_nIndex;
}
とか。

923 :デフォルトの名無しさん:02/05/16 01:08
COLORREF color;
CPaintDC dc(this); // 描画用のデバイス コンテキスト
// デスクトップを取る
CWnd* pwndDeskTop = GetDesktopWindow();
CDC* pDeskTopDC = pwndDeskTop->GetDC();
// 自分の領域にデスクトップからコピー
dc.BitBlt( 0,0, 200, 200, pDeskTopDC, 0, 0, SRCCOPY );
pwndDeskTop->ReleaseDC(pDeskTopDC);

これでデスクトップの画像を取得し,表示。
この後に、

for(j=0;j<yh;j++)
for(i=0;i<xw;i++){
color=pDC->GetPixel(x0+i,y0+j);
r=GetRValue(color);
g=GetGValue(color);
b=GetBValue(color);
c=(r+g+b)/3;
pDC->SetPixel(x1+i,y0+j,RGB(c,c,c));
}
のような操作で白黒化を試したのですが、
1度ワークスペースに描写してからGetPixelでは
無駄な処理(ワークスペース内に描写)があって効率が悪い気がします。

デスクトップ上から直接RGB値をとりこみ、メモリ上で処理(この場合は白黒化)、
その後にワークスペース内に描写させるにはどうすれば良いのでしょうか?
質問ばかりですいません。

924 :デフォルトの名無しさん :02/05/16 01:43
age

925 :デフォルトの名無しさん:02/05/16 08:55
>>922
CPropertySheetにはOnOKはないので、DestroyWindow時にメンバ変数に格納してみた。
で、DoModalから処理が戻ってきたときにそれを指定、で成功。蟻が父さんっ。

926 :デフォルトの名無しさん:02/05/16 10:00
>>923
DIB

927 :デフォルトの名無しさん:02/05/16 18:17
リストビューコントロールで、インストールシールドのダイアログ選択のように、
各リストにチェックボックスを表示するにはどうすればいいですか?

928 :デフォルトの名無しさん:02/05/16 18:22
CListCtrl& list = GetListCtrl();
list.SetExtendedStyle(LVS_EX_CHECKBOXES);
のこと?


929 :デフォルトの名無しさん:02/05/16 18:27
有難うございます。試してみます。

930 :デフォルトの名無しさん:02/05/17 14:09
すいません。このチェックボックスにソースからチェックを入れたり、
チェックされているかどうか調べるにはどうすればいいですか?

931 :デフォルトの名無しさん:02/05/17 14:12
TreeViewを使って、エクスプローラのようなものを作ろうと思ったのですが
最初に全フォルダを調べてViewに登録しようとすると、ありえないと思いますが
フォルダが数万とかあった場合に、マズイ気がします。
何か他にやり方はないものでしょうか?

932 :デフォルトの名無しさん:02/05/17 14:22
途中で追加しる。

933 :デフォルトの名無しさん:02/05/17 14:33
>>930
自己解決しました。

934 :デフォルトの名無しさん:02/05/17 14:47
モーダルダイアログにWM_KICKIDLEメッセージハンドラを実装して
アイドル処理を行い、その経過をダイアログ上にプログレスバーで表示しています。
メッセージハンドラ内で処理が終了したらEndDialog()を呼びたいのですが
ASSERTにひっかかって落ちてしまいます。
どうしたらうまく処理を抜けるんでしょうか?

935 :934:02/05/17 14:52
タイマーで監視して終了すればうまくいきました・・。
でもなんか納得イカン!!

936 :931:02/05/17 15:36
>>932
やっぱりそれしかないですか。
でも結局、大量にフォルダがあるフォルダや下層に行くほどヤバくなってきそうですけど
回避方法は無いんですか?


937 :デフォルトの名無しさん:02/05/17 15:57
>>934
処理が終わったらユーザ定義メッセージをポストするとか

938 :デフォルトの名無しさん:02/05/17 16:04
>>936
IEの「お気に入り」みたく、開いてるフォルダ以外は全て閉じるとか。
つまりフォルダを開くときだけサブフォルダを走査する。

フォルダの階層って制限あったような気がするけどなぁ。

939 :934:02/05/17 16:21
>>937
そんな方法が・・!
それでばっちり動きました。
そっちのがキレイなんでそうさせてもらいます。
ありがとうございました!


940 :デフォルトの名無しさん:02/05/17 16:38
900も中盤にさしかかったので新スレです。

■ VisualC++(MFC限定)相談室 4■
http://pc.2ch.net/test/read.cgi/tech/1021620974/


941 :デフォルトの名無しさん:02/06/06 22:51
 

942 :デフォルトの名無しさん:02/06/26 01:09
■ VisualC++(MFC限定)相談室 4■
http://pc.2ch.net/test/read.cgi/tech/1021620974/


943 :旧スレ埋め:02/06/26 09:19
■ VisualC++(MFC限定)相談室 4■
http://pc.2ch.net/test/read.cgi/tech/1021620974/

944 :デフォルトの名無しさん:02/06/26 09:23
■ VisualC++(MFC限定)相談室 4■
http://pc.2ch.net/test/read.cgi/tech/1021620974/

248 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.02 2018/11/22 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)