[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 04/06 12:43 / Filesize : 205 KB / Number-of Response : 785
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

■MFC相談室 mfc17d.dll■



1 名前:デフォルトの名無しさん mailto:sage [2006/11/21(火) 10:38:31 ]
Microsoft Foundation Classライブラリ専用スレです。

前スレ
■MFC相談室 mfc16d.dll■
pc8.2ch.net/test/read.cgi/tech/1146117893/

604 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 18:33:19 ]
仮想リストビューってSetItemCountEx()で設定できるのは
1億件までですよね?ドキュメントにはDWORDの最大数まで
サポートしているようなことが書いてありますが、
実際にそこまで設定することは出来ますか?
SetItemCountExを辿っていくとSendMessageで投げていますが、
1億を越える数字を設定するとSendMessageがFALSEを返すので
APIのバグのような気もしますけど。


605 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 18:36:08 ]
>>604
出来ません。

606 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 19:05:42 ]
>>604
>ドキュメントにはDWORDの最大数までサポートしているようなことが書いてありますが
実際はメモリ量とか空間の限界とかあるから無理。

607 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 19:13:09 ]
SetItemCountEx の仕様見ると int になってるけど

608 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 19:29:02 ]
そりゃまあ実際に限界があるのは仕方ないけど、
なんで「一億」にしてあるのかがわからん。
100000001件にすると表示されないのな。ワロス。
MSDNに書いとけよ。これじゃアメリカ国民全員の名前を
リストコントロールで表示することは出来ないじゃん。
マイクロソフトのくせに自国民の数すらサポートできない
コントロールを作るなんて非難の対象だな


609 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 20:35:56 ]
大丈夫、マイクロソフトなんて国はないから自国民は一人もいないので。

610 名前:598 mailto:sage [2007/04/15(日) 08:16:10 ]
>>601>>603
ありがとうございます
今は休み中にてVSEしかないのでMFCが無いので試せないので
明日にでも試そうと思います
ちなみに画面を持たないCWndオブジェクトをCreate()する場合、
どんな引数が望ましいのでしょうか?


611 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 09:00:12 ]
非表示ウインドウでもhWndはあるだろ
なかったらShowWindowで表示することもできない


ShowWindow
指定されたウィンドウの表示状態を設定します。

BOOL ShowWindow(
HWND hWnd, // handle to window
int nCmdShow // show state of window
);

パラメータ

hWnd
ウィンドウのハンドルを指定します。

nCmdShow
ウィンドウの表示状態を指定します。

612 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 22:16:49 ]
質問です。
MFCで作成したソフトを公開したいのですが、VS.net2003の入っていないパソコンで
自分の作ったソフトを実行してみると、
mfc71d.dll msvcp71d.dll msvcr71d.dll
が必要です、とでてきます。
これらのdllは勝手に配布しても大丈夫なのでしょうか?



613 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 22:30:07 ]
いいえ、デバッグ版を勝手に配布してはいけません。

614 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 22:34:11 ]
>>613 mfc71.dll などdがついていないものなら配布しても大丈夫なのでしょうか?

615 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 23:04:36 ]
>>614
MSに訊け。つーか付属ドキュメントくらい読め。

616 名前:デフォルトの名無しさん mailto:sage [2007/04/16(月) 00:55:13 ]
>615
便乗で質問なんだが、その手の質問は
MSDN購読してなくても答えてもらえるの?

617 名前:デフォルトの名無しさん mailto:sage [2007/04/16(月) 06:01:25 ]
そういう重要なことを正規ユーザーが知らないはずがない。
無料のexpressユーザー?と思ったけど
MFCなら製品版使ってるんだろうし、どうやって手に入れたんだろう?

618 名前:デフォルトの名無しさん [2007/04/16(月) 17:40:12 ]
すいません。くぐっても答えが見つからないので教えてください。
MFC AppWizerdで作ったDLLを
Win32 Application(SDK)から呼び出せますでしょうか?

619 名前:デフォルトの名無しさん mailto:sage [2007/04/16(月) 22:46:38 ]
DLLの作りによる

620 名前:デフォルトの名無しさん [2007/04/21(土) 20:43:01 ]
…そのまんまやなw

621 名前:デフォルトの名無しさん mailto:sage [2007/04/27(金) 02:12:22 ]
>>617
> 正規ユーザーが知らないはずがない
いや、キッチリとは知らんよ俺は
VC4,VC6,VS8の正規ユーザーなんだけどさw


622 名前:デフォルトの名無しさん mailto:sage [2007/04/27(金) 07:54:49 ]
そらあほだ。



623 名前:デフォルトの名無しさん mailto:sage [2007/04/27(金) 11:35:15 ]
電車乗ったことあるけどキップの買い方知らないとかそういうレベル

624 名前:デフォルトの名無しさん mailto:sage [2007/04/27(金) 11:36:16 ]
地方の人は知らないかもしれないけれど、今や切符を買わなくても電車に乗れるからねぇ。

625 名前:デフォルトの名無しさん mailto:sage [2007/04/27(金) 12:38:59 ]
喩えの誤謬に突っ込む莫迦ありき。

626 名前:デフォルトの名無しさん mailto:sage [2007/04/27(金) 13:00:28 ]
いや、寧ろ誤謬と思ってないからこそ。
実際、知らなくても利用できると言いたかった。

627 名前:デフォルトの名無しさん mailto:sage [2007/04/27(金) 14:21:36 ]
他のソフトならいざ知らず、開発ツールでそんなやつがいるとは驚きだw

628 名前:デフォルトの名無しさん mailto:sage [2007/04/27(金) 14:56:35 ]
_bstr_t strData[3];
strData[0] = "0000";
strData[1] = "1111";
strData[2] = "2222";

COleSafeArray sa;
sa.CreateOneDim(VT_BSTR, 3, strData);

_variant_t va = sa;

とやってみると、_variant_tのコンストラクタで例外が出てしまいます。
sa.CreateOneDim(VT_BSTR, 3, strData);
sa.CreateOneDim(VT_BSTR, 3);
とすると通過するので、CreateOneDim()にstrDataを渡す方法が
間違ってるのかなと思うんですけど、
_bstr_t配列はどうやって渡すものなんでしょうか。
それとも、CreateOneDim()には_bstr_t配列は渡せない?


629 名前:デフォルトの名無しさん mailto:sage [2007/04/27(金) 14:58:29 ]
> sa.CreateOneDim(VT_BSTR, 3, strData);
> sa.CreateOneDim(VT_BSTR, 3);
> とすると通過するので

sa.CreateOneDim(VT_BSTR, 3, strData);
の部分を
sa.CreateOneDim(VT_BSTR, 3);
とすると通過するので

のミスです。失礼しました。
よろしくお願いいたします。

630 名前:デフォルトの名無しさん mailto:sage [2007/04/27(金) 16:25:30 ]
_bstr_tの配列≠BSTRの配列

631 名前:デフォルトの名無しさん mailto:sage [2007/04/27(金) 16:41:39 ]
>>630
ということは、_bstr_t配列のままだとCreateOneDim()に直接は渡せないということですよね。
SAFEARRAYとかはまったくの未知で、このへんの使いかたって、
ネット上を探してもなかなか見つからないのですが、
_bstr_t配列やCString配列からCreateOneDim()に渡すBSTR配列を作る方法って、ご存知無いでしょうか。

632 名前:デフォルトの名無しさん mailto:sage [2007/04/27(金) 17:06:44 ]
ソース見るかメモリダンプして内部構造調べてみれば?



633 名前:デフォルトの名無しさん mailto:sage [2007/04/27(金) 17:21:39 ]
切符買わないってどうやるの?

634 名前:デフォルトの名無しさん mailto:sage [2007/04/27(金) 17:29:32 ]
オレはもう何年も切符買ってないなあ
Suicaとパスネットでやってきたが、最近はパスネットもいらなくなったし
オートチャージで入金もない。
車はETCで料金所はとまらないし、旅行先でレンタカー
借りるときもETC車載かどうかを気にしてる

635 名前:デフォルトの名無しさん mailto:sage [2007/04/27(金) 17:30:45 ]
飛行機もfelica携帯使ってチェックインもカウンターに行かないし
並ぶことがほとんどなくなった

636 名前:デフォルトの名無しさん [2007/04/27(金) 23:24:51 ]
で、これらは相談か?

637 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 02:40:31 ]
いいえ相談ではありません
日本語の練習です


638 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 11:12:47 ]
VC6 MFCです
プロジェクトの設定の、デバッグ、C/C++、リンクにプロジェクトオプションがあるのだが
コマンドラインからビルドする場合この引数をどの様に渡したらいいの?


639 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 11:21:41 ]
CL をコマンドラインから起動するときは、次の構文でオプションとファイル名を指定します。

CL [option...] file... [option | file]... [lib...] [@command-file] [/link link-opt...]

640 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 11:40:00 ]
>>639
サンクス

641 名前:デフォルトの名無しさん mailto:sage [2007/04/29(日) 02:23:43 ]
msdev MyProject.dsp /MAKE "MyProject - Win32 Debug" /REBUILD
とかは?

642 名前:デフォルトの名無しさん [2007/04/30(月) 22:58:55 ]
おそらくかなり初歩的な質問なのですが、ダイアログから別ダイアログを開くためにはどうすればよいのでしょうか?
VBのShowのようなコマンドがあるのかと思ったのですが、よくわかりませんでした。
よろしくお願いします。



643 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 23:05:30 ]
CAboutDlgを参考に

644 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 05:06:10 ]
>>642
インスタンス生成してから
a) Create() して ShowWindow()
b) DoModal()
のどちらでも。つか、MSDNくらい嫁。

645 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 12:44:36 ]
VC6 MFCです
メニュー→ツール→オプション→ディレクトリ配下の
インクルードファイル、ライブラリファイルは何処に保存されているのしょうか?
C:\program Files\Microsoft Visual Studio配下はgrepしてみましたがありませんでした
レジストリに記録されているのでしょうか?
知ってる人いたら教えてホスイ


646 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 13:45:47 ]
パスの順番でファイルを検索する。

647 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 14:50:26 ]
>>645
ちょっと探してみたがレジストリの
HKEY_CURRENT_USER\Software\Microsoft\DevStudio\6.0\Build System\Components\Platforms\Win32 (x86)\Directories
に入ってるみたいだよ

648 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 17:28:42 ]
>>647
>>645ですが
神が降臨しました、ありがとう実は現在ではVC6 MFCのUIが非常に悪いので
秀丸のマクロと融合させてできる限りの操作を秀丸中心にお行おうと思っていたところです
そういう訳で探していました、本当にありがとね
処でMFCで作成したプログラムはコマンドラインからビルド、コンパイルまで出来るのでしょうか?
(rcファイルはVCで作ってあると仮定してです)?

649 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 17:40:50 ]
そりゃあできるっしょ。
プロジェクトのプロパティで、コンパイルとリンクのコマンドライン見られなかったっけ
それ参考にしたらいいと思う。

650 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 17:45:48 ]
>>649
サンクスです、取り合えず今レジのバックアップを保存したところです
これからゴリゴリとマクロを書いていきますww

651 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 18:35:22 ]
全然見当はずれの方向に進んでるみたいだけど
相当頭堅そうだから本人のやりたいようにやらせて置くのが一番だな
わざわざレジストリの場所教えてやったやつはかわいそう

652 名前:デフォルトの名無しさん [2007/05/01(火) 21:19:12 ]
Platform SDKについてるMFCのソースをビルドすれば
OSについてるものとまったく同じDLLが出来上がるんですか?



653 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 00:37:19 ]
おい、Platform SDKはもう無くなったって、誰か教えてやれ。

654 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 17:48:50 ]
VC2005 MFCです。
複数のモードレスダイアログを入れ子のような感じで作成したいのですが
孫のウィンドウを作成したところで正常に動作しなくなってしまいました。
実際のコードは下のように書いています。

//ビューでマウスがクリックされたら子ウィンドウとしてモードレスダイアログを生成
void CtestView::OnLButtonDown(UINT nFlags, CPoint point)
{
CTestDlg *testdlg;
testdlg = new CTestDlg();
testdlg->Create(CTestDlg::IDD);
testdlg->SetParent(this);
testdlg->ShowWindow(SW_SHOW);
CView::OnLButtonDown(nFlags, point);
}

//ビューで作成した子ウィンドウのボタンが押されたら、孫のモードレスダイアログを生成
void CTestDlg::OnBnClickedButton1()
{
CTestDlgB *testdlg;
testdlg = new CTestDlgB();
testdlg->Create(CTestDlgB::IDD);
testdlg->SetParent(GetParent());
testdlg->ShowWindow(SW_SHOW);
}

何か根本的な勘違いをしてしまっているのでしょうか?
初歩的な質問ですいません、よろしくお願いします。


655 名前:654 mailto:sage [2007/05/02(水) 17:52:31 ]
少し変えて試してみたコードをそのまま書き込んでしまいました。
testdlg->SetParent(GetParent());

testdlg->SetParent(this);
でした。

656 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 18:58:47 ]
「正常に動作しなくなってしまいました」を説明してくれ。
解決の重要な手がかりなんだから。

657 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 19:14:54 ]
関係ないけど
モーダルならそういう風にローカル変数でもいいけど
モードレスだと関数抜けた後のことが気になる。

658 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 19:17:27 ]
ローカル変数ではないでしょ。
PostNcDestroy で delete this が入ってるか、メッセージで何とかしてるのかと

659 名前:654 mailto:sage [2007/05/02(水) 21:03:30 ]
>>656
すいません、説明不足でした。
わかっている限りだと2パターンの変な挙動をしていて
1つはダイアログのウィンドウ自体は生成されているようでウィンドウの移動などはできるのですが
再描画のコードが動作していない時のような感じになる事があるのと(必ずというわけでも無いようです)
生成した孫ウィンドウがアクティブな間は何の問題も無く動作しているように見えるのですが
一度、子のウィンドウをアクティブにしてしまうとアプリケーション自体がフリーズしたような
状態になってしまうといった感じです。
念のためSDIの新規プロジェクトを作り直して見ても結果は同じでした。

>>657,658
一応 PostNcDestroy で delete this をしていました。
こういう場合でもスタティックかグローバル変数にしておいた方が安全なのでしょうか?


660 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 21:44:10 ]
>659
思いつきで書いただけだから
「関係ないけど」と断ってる

661 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 21:45:08 ]
>>659
ttp://msdn2.microsoft.com/en-us/library/ms633541.aspx
>if hWndNewParent is not NULL and the window was previously a child of the desktop,
> you should clear the WS_POPUP style and set the WS_CHILD style before calling SetParent.
>Windows 2000/XP: When you change the parent of a window, you should synchronize the UISTATE of both windows.

なんでSetParent使ってるの?
ダイアログリソースに子スタイル設定して、Createで親指定すればいいのに。

662 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 00:14:49 ]
あの最低な質問かもしれないですが、万が一という可能性もあるかもしれないので
質問させてください
MFCでコンソールアプリって作成出来ないですよね、バージョンは問いません。




663 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 00:24:43 ]
いや、普通にできるが。

664 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 00:52:33 ]
>>663
え〜まじっすか?
新規作成→プロジェクトからはMFC ActiveX ContorolWizard or MFC AppWizard(dll) or MFC AppWizard(exe)しかないのだけど?
これじゃあコンソールアプリは作成できないよね?


665 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 00:57:51 ]
>>664
Win32コンソールプロジェクトを選択して、詳細でMFCサポート追加しろ。

666 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 01:16:56 ]
>>665
そういう裏技があったのね、サンクス

667 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 09:51:02 ]
CStringを返す関数から戻ってきたクラスは自分で廃棄しないでも良いですか?

668 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 10:28:54 ]
CStringを返すと、呼び出し側ではそれのコピーを受け取るだろう。

669 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 00:16:24 ]
よくこういう仕様のクラスあるけど腐ってるよね?>CString
一見便利そうに見えるけどインスタンスがハッキリしないから
すげー扱いづらい
こういう仕様デフォにする奴ってアフォだろ

なげー文字列をCStringで扱うとアフォかってほど遅くなる
結局、使えない

670 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 00:49:03 ]
   ○○○
  ○(・ω・)○ ソンナコトイワレテモ
   ○○○   ウチ、ボン・デ・ライオンヤシ
  .c(,_uuノ

671 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 11:46:34 ]
>>669
>インスタンスがハッキリしないから
君が何を言っているのか判らないよ…
理解できてないだけじゃ?

672 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 11:54:13 ]
>>669
せめて他の文字列を取り扱う手段と比較してから結論を出してくれ。



673 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 17:21:39 ]
なんか、C/C++以外の言語と勘違いしてんじゃね?


674 名前:デフォルトの名無しさん [2007/05/07(月) 18:55:30 ]
リソースエディタでダイアログボックスを作って、
CDialogを継承した派生クラスを作りました。
コントロールは、追加したメンバ変数を操作して
扱えましたが、ダイアログ自身はどうやれば操作
できるのでしょうか。
タイトルバーの文字列を変更する方法を模索中です。
this->SetWindowText("タイトル文字列");
を試すと異常終了だし。

675 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 19:29:26 ]
宇宙天地 與我力量 降伏群魔 迎来曙光
我が左手に封じられし鬼よ
今こそその力を、示せえーー!!
うおおおおおおーーー!!!
俺の生徒に、手を出すなあーーー!!!!

676 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 20:10:38 ]
>>674
異常終了の詳細キボンヌ

677 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 20:22:51 ]
>>676
「Visual C++ Runtime Error [中止][無視][キャンセル]」
のような感じ文面のダイアログが出て終了。

本来ならそれで正解のはずということでしょうか。
何らかのプログラム上のミスが原因で異常終了が出てるのではないか
という意味でしょうか。

678 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 20:30:27 ]
SetWindowTextをどこで呼び出してる?
コンストラクタの中とかじゃダメだよ。
ちゃんとウィンドウが作成されてCDialogオブジェクトに
アタッチされてからじゃないと。

679 名前:デフォルトの名無しさん [2007/05/07(月) 20:40:02 ]
>>672
じゃ、mallocで確保した領域に突っ込んだ文字列でいいよ
これで想像付く?
後付けであれがないこれがないごちゃごちゃいうなよぶっ殺すぞ

680 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 20:43:58 ]
>>678
エディットコントロールやスタティックテキストの値を変更している直後
で呼び出してます。
SetWindowTextで正解で、やはり何かプログラム上のミスでしたか。
わかりました、ありがとうございます。

681 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 20:50:22 ]
CDialogもCWndの派生クラスだしな
そもそもエラーで止まったところで何エラーなのか調べなさいよ

682 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 20:58:27 ]
イヤです




683 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 22:29:57 ]
>>679
想像も何も、あんたが比較して実際に遅いかどうか判断しなさいよ。

684 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 22:39:03 ]
>>683
CStringは糞だろ
文字列に1文字ずつ足していくとどんどん遅くなってく類だろw

685 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 22:42:11 ]
どうやって足しているのか興味深いなぁ。
まさかとは思うが、CString foo = ""; for (;;) {foo = foo + '-'; std::cout << foo << std::endl;} とかしちゃってるんだろうかw

686 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 23:04:49 ]
横レスだけど、それで突然思い出したから自分用のメモ代わりに書いとく。

CString hoge, hoge2;
strcpy(hoge.GetBuffer(20), "this is a test.");
hoge="";               //クリアしたつもりだけど何故かクリアされていない
int length=hoge.GetLength();   //この値は確かにゼロ
hoge2=hoge;             //でもhogeもhoge2も"this is..."が入る

hoge="AAA";            //これなら上書きされる
int length2=hoge.GetLength();  //この値は3
hoge="";              //今度はきちんとクリアされる

687 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 23:06:47 ]
>>685
mStr += strbuff;
mStrはCString型のメンバ変数、strbuffは引数からうけとったchar*
メソッド実行するたびに鬱になるw

後、CStringの変数を引数に突っ込んで中身を変更したいときとかウザイ
transUnko(char* unko,char* chinko)
ってときにいちいち移し変えなきゃいけねぇじゃん
それか
transUnko(CString *unko,char *chinko)
作らなきゃいけねぇじゃん(俺の知識だと)
後、
strXXX系の関数でいい感じにすでにこさえてあるC言語自分ライブラリ使いたいときも面倒
つーか、気軽に文字列型として扱えないところがウンコだね
うにこーど?いらねぇってw対応予定ねーよ。マジでw

って書いてみたけどさ、
もし簡単にできるにしてもできることがわかりにきぃ
ねっとりべっとりしてやがんだこのクラス
つかいにくーい!

688 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 23:18:12 ]
MFC以外でもCString使いたいという話をよく聞くし、
MFCの中では評判いいクラスだと思う。
慣れないと使いにくいのは確か

689 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 23:24:37 ]
>686
CString::GetBuffer

解説
GetBuffer 関数から返されるポインタを使って文字列の内容を変更するときは、
次に他の CString メンバ関数を使う前に、ReleaseBuffer 関数を呼び出す必要があります。

690 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 23:38:10 ]
MFCを使うDLLの遅延ロードってNGなのかな?

というのも、delayimp.libの中ではAfxLoadLibrary()ではなく、
LoadLibrary()を使っているから、どうなんだろう??

691 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 01:12:30 ]
もともと遅延ロードってのは、セグメントを分けてれば Windows がちゃんとやってくれたんだよな。
MFCが自動的にやってくれるようになっただけで。


692 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 03:18:26 ]
GetBuffer 関数から返されるポインタを使って文字列の内容を変更するときは、
次に他の CString メンバ関数を使う前に、ReleaseBuffer 関数を呼び出す必要があります。


CString hoge, hoge2;
strcpy(hoge.GetBuffer(20), "this is a test.");
hoge="";               //クリアしたつもりだけど何故かクリアされていない
int length=hoge.GetLength();   //この値は確かにゼロ
hoge2=hoge;             //でもhogeもhoge2も"this is..."が入る
↑↑↑ここでコンパイル時にエラー出してくれりゃいいのに

hoge="AAA";            //これなら上書きされる
int length2=hoge.GetLength();  //この値は3
hoge="";              //今度はきちんとクリアされる





693 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 05:58:01 ]
>>692
逆だな。ReleaseBuffer()する前にそうやってバッファを変更できないようにするためにGetBuffer()があるんだ。
つまり、fclose()しないでfopen()し直して、ファイルが更新されていないって文句言うようなもんだ。

>>687
少なくとも、レガシーな文字列とCStringを混在させて使うのが間違い。
型が違うのだから、相互にそのまま使えないのは当然だと思うが。
例えばprintf()に渡すように文字列を変更しないならキャストオペレータのお蔭で手間要らずなんだし。
Ex.
void printSample(const char * foo) {printf("%s\n", foo);}
CString bar = "Bar";
printSample(bar);
文字列を変更する関数は参照でも渡せばいいし。
Ex.
void buildString(CString & foo) {foo += foo;}
CString bar = "Bar";
buildString(bar);


694 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 11:21:24 ]
いまいち、>692 がなにをしたいのか、全くわからん。
C++の事を何か勘違いしてるんじゃないだろうか。



695 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 11:25:02 ]
レガシー大好きっ娘に何言っても無駄

696 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 22:15:50 ]
ATLやWTLってSTLやBOOST、LOKIと親和性ありますか?

697 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 22:56:29 ]
ないよ

698 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 23:29:51 ]
STLと親和性高いWin32GUIライブラリがあった気がするんだが思い出せない

699 名前:デフォルトの名無しさん [2007/05/08(火) 23:45:24 ]
リストビューオブジェクトに一次元配列を直接セットする方法はないでしょうか?
いまはループで回してsetItemでセル一個ずつにセットしてます。
もっと効率がいい方法があればいいのですが。
よろしくお願いします。

700 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 00:47:08 ]
>>699
つLVS_OWNERDATA

701 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 01:13:12 ]
>>698
Win32 GUI Generics
www.torjo.com/win32gui/
sourceforge.net/projects/win32gui/

702 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 14:03:56 ]
>>694
>C++の事を何か勘違いしてるんじゃないだろうか。
いやいや、
>↑↑↑ここでコンパイル時にエラー出してくれりゃいいのに
なんて書くくらいだから
勘違いとかそういうレベルじゃない。



703 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 15:19:50 ]
ATL/STLはSTLと一緒に使える

704 名前:デフォルトの名無しさん [2007/05/09(水) 21:51:00 ]
VC6.0で下記のページをみてステータスバーをダイアログにセットしたのですが、
SetTextしても文字が表示されません。
ttp://athomejp.com/goldfish/mfc/dialog/statusbar.asp
MSDN等調べてみたのですが、実装方法がいろいろありすぎて、
どれが最適で何をしたらいいのかわかりませんでした。
すみませんが、よろしくお願い致します。

705 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 21:58:18 ]
>>701
ちょっと期待してたんだけど、全然更新されてないね…

706 名前:デフォルトの名無しさん [2007/05/13(日) 01:32:28 ]
宣伝なんだが、構いませんね!
wiki.livedoor.jp/vipshogi/d/FrontPage
ここで、将棋の駒を擬人化するプロジェクトをやってるんだけど、プログラマにソースをもって逃げられてしまいました。
ついては、オープンソースで、新しくプログラムを作ろうと思っています。
MFCを使って作られたプログラムを弄れて、ギャルゲっぽいものに興味があって、協力出来る人がいたら、来てくれませんか。
現行スレは、↓です。
wwwww.2ch.net/test/read.cgi/news4vip/1178980360/
宜しくお願い致します。

707 名前:デフォルトの名無しさん [2007/05/13(日) 01:41:34 ]
>>706
追記です。
現行スレが落ちていたら、↓に書き込みを下さい。
ex14.vip2ch.com/test/read.cgi/part4vip/1178465966/

708 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 02:10:27 ]
>>706
少しはまともな奴がいるっぽいけど
雑魚ばっかで話にならない
所詮妄想ばっかり先行してる烏合の衆か。
将棋部分に興味ないとかまったくわかんないとかレスが出るだけで俺は参加したくない。
馬鹿じゃねぇの

突破口だけいうと
フリーで将棋プログラム公開してる人に頼み込んで
画像表示部分だけちょいっと弄らせてもらって好きな絵表示できるようにしてもらったほうが
ナンボか可能性ある。

709 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 02:39:52 ]
>>708
どこを見たのか分からんが結構な物言いだな、特に前半
ちらっと覗いてみたが、そんなレスはなかったと思うが


710 名前:デフォルトの名無しさん [2007/05/13(日) 03:27:34 ]
>>709
だいたいこの状況じゃ
一番苦しいのってまちがいなくメインプログラマーでしょ?
絶対やんねぇよ
ゲーム製作をなめてる
絵のことしか興味ないならビューワーでも作ってろっての
好き勝手要望出すだけの立場の奴等なんかプログラマーは殺意しか湧かない
ゲーム製作現場だって金もらえるからしょうがなく仕事してるのがプログラマーだ

この状況でソフト作ったらまちがいなくすべて俺の手柄だと俺だったら思うね。ていうか間違いねーよ。
それなのにオープンソースにします?はぁ?ふざけろ

だからさ、こういうのやるつもりなら企画をする人間が間違いなくメインプログラマーを張れる人間でなければ絶対に頓挫する
ゲーム製作で一番大変なのはまちがいなくプログラマーだ
実際身動きとれないでしょ?

どういうシステムにしてどういう形のデータが必要になるのか?
プログラマーがいなくてもここまではできますっていう部分あるか?
欠片も浮かばねーだろ?一歩も身動きがとれないでしょ?

711 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 04:12:48 ]
うん、しかも金の流れが気になるー
偉そうにリーダー気取ってる奴の懐にいくらか入ってんじゃねーの?
ブログとも繋がってるしな

712 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 06:21:48 ]
>Q、バグ多すぎってレベルじゃねーぞ!!
>  A、バグ報告は多ければ多いほど、プログラム修正の参考になります。
なりません。



713 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 08:30:02 ]
手伝うどころか、優越感を得るための突っ込み先になってるな
大人気ないぜ

714 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 08:31:06 ]
>>711
え、どこに繋がってる?

715 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 12:30:42 ]
>>713
興味が先行してうっかりこれのメインプログラマーになっちゃった奴が可哀想だなと

716 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 14:10:01 ]
VC++ 2005で開発を行っています。

CListCtrlで「大きいアイコン」表示をした時、スクロールの方向はどうしても、横スクロールになってしまいますが、
これを縦スクロールに変更したいと思っています。


どうやれば、縦スクロールに変わるのでしょうか。
よろしくお願いします。

717 名前:デフォルトの名無しさん [2007/05/13(日) 14:43:03 ]
くだすれVisual C++(超初心者用)その4
pc11.2ch.net/test/read.cgi/tech/1164787254/946-951
から引っ越してきました。よろしくお願いします。

VS2005のMFCです。 
CMainFramのID_FILE_NEWからOnFileNew関数を追加しました。 
この関数で必要な処理の後、追加前の本来の処理を呼びだすか、 
同等の処理を行いたいのですが方法がわかりません。その方法を教えてください。 



718 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 14:44:14 ]
>717
馬鹿には使えないからあきらめましょう

719 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 14:47:10 ]
教えるだけ無駄だな

720 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 15:33:57 ]
MFCに嫌気がさした人の数→
pc11.2ch.net/test/read.cgi/tech/1059196520/

721 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 16:12:08 ]
>717
OnFileNewを呼ぶ

722 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 16:12:30 ]
>>717
どちらかというと、CDocument::OnNewDocumentでどうにかすべきじゃね?



723 名前:717 mailto:sage [2007/05/13(日) 16:19:03 ]
とりあえず解決しました。
CMainFrameにメッセージを割りあてたのが間違いでした。
CWinAppにプロテクトのOnFileNewがあってこれがデフォルトの処理のようです。
CxxAppに割り当てて、もとからあった
ON_COMMAND(ID_FILE_NEW, &CWinApp::OnFileNew)を削除したら目的の動作になりました。
OnFileNewがプロテクトメンバだったので無いとか呼べないとか思ってしまったようです。

724 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 16:29:45 ]
>>715
なるほど、このスレの住人に対する優越感だったってわけか

725 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 16:43:45 ]
なんかよくわからんこと言ってるけどそのwiki誰に金入ってるかわからんぞ

726 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 16:50:27 ]
>>725
アフィってこと?
そんな感じに見えないんだけど……。

727 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 17:07:40 ]
可哀想だと思う事が優越感だって、わからんのかね

728 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 17:49:34 ]
>>726
じゃあ、稼がせてやったらいいよw

729 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 18:18:01 ]
>>728
質問に答えないで笑うだけとは、お前、アフォにしか見えんな
そんなに貶めたいなら、向こうで文句言ってくればいいだろうに
こっちに問題を持ち込むなよ

730 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 18:22:59 ]
>>729
そのレスを>>706に付けずに俺に言う辺り、お前も相当頭おかしいだろw

731 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 18:27:15 ]
>>730
反応するよりましだと思うが
まあいいや、お前がいなくなったらまたこよう

732 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 18:32:43 ]
なんか、大変な事になってる……
俺はただ単に、アフィしてるような場所ならいかないけど、そうじゃないなら手伝っても良いかなって思っただけなんだけど



733 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 18:50:05 ]
だからそういう話はあっちでやってくれ頼む

734 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 20:27:54 ]
>>716お願いします。

735 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 23:10:24 ]
>>716
LVS_ALIGNTOP。
プロパティウィンドウなら、表示-Alignment-Topを選択。

736 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 00:31:26 ]
>>735
ありがとうございます、一発で解決しました。

737 名前:デフォルトの名無しさん [2007/05/17(木) 01:56:51 ]
CMenu の TrackPopupMenu でポップアップ表示状態で処理がいったん停止している状態のプログラムがあるとします
これに対して外部からの通信などによって破棄処理がキックされたとします
すると TrackPopupMenu の後の処理が終わっていないためなのかエラーとなって不正終了してしまいます
これを防ぐにはどうしたら良いでしょうか?
(≒ OnDestroy でポップアップを正常に終了させるにはどうしたら良いでしょうか?)
(  つまり TrackPopupMenu の後の処理を実行させるということです)
VK_ESCAPE をポップアップの親ウィンドウに SendMessage することなどを考え付いたのですが、
それでもうまくいかずにほとほと困っております
何かご存知でしたら教えてくださいm(_ _)m

738 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 18:27:58 BE:27175027-2BP(222)]
>ポップアップ表示状態で処理がいったん停止している状態

にならないようにする=時間のかかる処理の合間にメッセージループを回すようにする

739 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 18:39:02 ]
>>738
TrackPopupMenu の動作を知らんのか

740 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 00:15:39 ]
>>737
>TrackPopupMenu の動作云々の前にお前が何をしたいのかが解らんなw


741 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 10:29:32 ]
>>737
EndMenu

742 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 12:17:31 ]
CStringのFormatMessageはFORMAT_MESSAGE_FROM_SYSTEM使えないですか?



743 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 12:43:18 ]
CString::FormatMessageのソース見ればわかる

744 名前:デフォルトの名無しさん [2007/05/22(火) 00:53:15 ]
>>741
情報ありがとうございます

ところで、その関数はどのように使用すればよろしいですか?
インターネットで検索してみたのですが、適切な情報が見つからなかったのですが……

745 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 01:55:02 ]
>>744
ttp://msdn2.microsoft.com/en-us/library/ms647637.aspx

746 名前:デフォルトの名無しさん [2007/05/22(火) 22:37:22 ]
>>745
ありがとうございます

英語ですか……
中学の時英語は常に1or2だった自分には辛いですねorz

747 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 05:34:15 ]
Win32APIに(*´Д`)ハァハァできるようになれば、すぐ読めるようになるよ♪
マニュアル英文だから変な構文も使われていないし、まともに日本語訳する必要も無い。

748 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 14:33:09 ]
CMainFrame::OnInitMenuPopup()で
メニューのポップアップ内を動的に作ろうとしてるんですけど、
このポップアップ項目の種類(たとえば「お気に入り」とか)は
どうやって調べればよいのでしょうか。
ポップアップ項目自身にはIDは付けられませんよね。

メニューの複数箇所やコンテキストメニューにも
同じ「お気に入り」ポップアップを置きたいので、
OnInitMenuPopup()の中で「お気に入りかどうか」を判断したいのですが。

749 名前:デフォルトの名無しさん [2007/05/25(金) 18:33:49 ]
誘導されてきました。

通信受信プログラムで受信データをエディットコントロール(複数行表示)に表示しているのですが、
以下のコードでは、エディットコントロールに文字列を追加する際に必ずスクロールされてしまいます。
スクロールされない方法を教えてください。

LineScrollで戻すと、1行書くごとに「下へスクロール→上へスクロール」となり、上下にスクロールが発生してしまい
とても見づらくなってしまいます。
「スクロールなし」でエディットコントロールに文字列を追加できないものでしょうか?

int iLen = edit->GetWindowTextLength();
edit->SetSel(iLen, iLen);
edit->ReplaceSel("Hello\n");

WinXP & Visual Studio 2003 & mfc7です。

750 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 18:36:41 ]
>>749
pc11.2ch.net/test/read.cgi/tech/1178432985/594の名前欄は調べた?

751 名前:デフォルトの名無しさん [2007/05/25(金) 19:09:59 ]
>>750
そ、そんなところに... (^^;)
やってみます。

752 名前:印刷が遅いのですが mailto:sage [2007/05/26(土) 12:43:26 ]
ただいま、印刷のテストをしてます。
ネットで見つけたサンプルコードで、印刷はできたのですが、
ものすごく遅いのです。
3000*3000の画像をプリントするのに、1時間かかります!

WindowsXPですが、他のアプリから印刷する場合は数分で印刷できるので、
プリンタやOSやドライバの問題ではなく、プログラムの仕方の問題だと思うのですが、

単純にプリンタ用のpDCに画像を送るだけでは速くはならないのでしょうか?






753 名前:印刷が遅いのですが mailto:sage [2007/05/26(土) 12:51:16 ]
以下は、ネットで見つけたサンプルコードで、このままでパターンが印字されます。

〜View::OnFilePrint(){
CPrintDialog myPtDlg(FALSE); HDC myPtDC; CDC myDC; DOCINFO myDocInfo;
if(myPtDlg.DoModal() == IDOK){
myPtDC = myPtDlg.GetPrinterDC(); myDC.Attach(myPtDC);
myDocInfo.cbSize = sizeof(myDocInfo); myDocInfo.lpszDocName = NULL; myDocInfo.lpszOutput = NULL;
myDocInfo.lpszDatatype = NULL; myDocInfo.fwType = 0;
myDC.StartDoc(&myDocInfo); CDC* pDC=GetDC();
myDC.StartPage();
for(y=0;y<3000;y++){ for(x=0;x<3000;x1++){
myDC.FillSolidRect(x,y,1,1,RGB(x,y,+y));
} }
myDC.EndPage();
myDC.EndDoc(); ReleaseDC(pDC); ::DeleteDC(myPtDC);
} }

754 名前:印刷が遅いのですが mailto:sage [2007/05/26(土) 13:06:10 ]
すみません>>753の訂正です。CDC* pDC=GetDC(); は不用でした。

>>753のコードをいじれば画像も印刷できるのですが、遅いです。
たとえば、下のように記述すると速いのですが、

for(y=0;y<30;y++){ for(x=0;x<30;x1++){
myDC.FillSolidRect(x,y,100,100,RGB(x,y,x+y));
} }

大きい画像の場合は、1ドットずつ描くしかないですよね?






755 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 14:11:23 ]
いいえ

756 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 15:04:14 ]
>>754
なんで大きい画像だと1どっとずつやるしかないの?

757 名前:印刷が遅いのですが mailto:sage [2007/05/26(土) 15:48:38 ]
>>756

1ドットずつやらないで済む方法があれば、それを知りたいわけです。




758 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 16:25:45 ]
頭悪いな

759 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 16:59:17 ]
>>757
小さい画像は1ドットずつじゃないの?

760 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 17:00:51 ]
ドットインパクトプリンタの話はスレ違いだぞ

761 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 17:04:24 ]
試しに3000*3000のビットマップ印刷してみれば?

762 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 17:08:29 ]
>>757
BitBltとかいう関数ねぇ?



763 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 17:09:47 ]
>>760
みたとこアホの子なので問題の切り分けなんて無理でしょう

764 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 17:28:15 ]
1ドット書くのにFillSolidRect使うアホ

765 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 17:41:42 ]
もうちょっと頭使ってもバチ当らないよねw

766 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 17:59:20 ]
3Dを使うゲームよりドット絵のゲームが好きだ!!!!

767 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 18:13:36 ]
>>766
 ∧_∧
 ( ・ω・) <俺にそんなこと言われてもね
 ( MFC )
 ./  つ
 ( / ̄∪

 ∧_∧
 ( ・ω・) <どっちかっていうと俺の出番じゃね?
 ( GDI+)
 ./  つ
 ( / ̄∪

 ∧_∧
 ( ・ω・) <いやいや俺だろ
 (DirectX)
 ./  つ
 ( / ̄∪

768 名前:印刷が遅いのですが mailto:sage [2007/05/26(土) 18:15:28 ]
>>755-766

そんなことを言ってる貴方たちも、本当は知らないのでしょう?

それとも印刷に関しては企業秘密かなんかですか?
自分が苦心して見つけた方法を、簡単に他人に話したくない気持ちはわかりますよ。

一緒に問題を解決しようという気持ちはないわけですか?
自分が知ってる方法が、最善だという確信があるわけですか?

BitBltを使う方法はもちろん知ってます。
ただ、それだと若干手順が増えますのでね。



769 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 18:22:16 ]
>>768
だから俺がBitBltって教えてやったじゃんw

770 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 18:22:16 ]
おぬしなにやつじゃ

771 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 18:25:19 ]
>>768
何様だよお前w
BitBlt抱えて空へ羽ばたけよw

772 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 18:26:18 ]
>そんなことを言ってる貴方たちも、本当は知らないのでしょう?
適材適所なので、あんたの求めるケースの適切解は内容が判らない限り説明しようが無い。

>それとも印刷に関しては企業秘密かなんかですか?
企業秘密にならない範囲でなら説明するに吝かではない。

>自分が苦心して見つけた方法を、簡単に他人に話したくない気持ちはわかりますよ。
勝手に判られても困る。寧ろ、それが判ると言い張るならもう少し言葉を選べ。

>一緒に問題を解決しようという気持ちはないわけですか?
ないな。

>自分が知ってる方法が、最善だという確信があるわけですか?
いいや、あくまでも適材適所。

>BitBltを使う方法はもちろん知ってます。
>ただ、それだと若干手順が増えますのでね。
増えるから何? 手順が増えてもそれが適切解なら選択すべきでは?
#適切解かどうかは知らんが。



773 名前:印刷が遅いのですが mailto:sage [2007/05/26(土) 18:42:00 ]
>>772

>>ただ、それだと若干手順が増えますのでね。
>増えるから何? 手順が増えてもそれが適切解なら選択すべきでは?

そうですか。
だらだら、手順が増えていいなら、どんなこともできますよ。
一応、なるべく、簡潔なコードで、よりよい効果を期待してプログラムをしてるわけで、
コードの増えるBitBlt以外にも方法があるかどうか知りたかったのですが、
BitBltが最善なら、それで行くことにしますよ。



774 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 18:46:19 ]
ダメだこりゃ

775 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 19:09:17 ]
馬鹿な・・騙りじゃなかったのか

776 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 19:15:19 ]
apiを無駄に3000*3000回呼んでも見た目が大事だよな

777 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 19:23:20 ]
>>773
おお、成長したじゃんw
1ドット書くのにFillSolidRect使ってたアホの言葉とは思えないねw

778 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 20:03:39 ]
>>777
sylphys.ddo.jp/upld2nd/manani2/src/1180177396812.jpg

779 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 23:43:50 ]
まあ、昔は大きな画像をプリンタDCに BitBlt出来なかったって事はある。
だから、ひとつひとつFillRectしたような実装や、大きいBitmapを小さく小分けしてBltしたりとか、
そりゃ小技を使ったよ。

それ、いまでも、ダメなのかな。

780 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 00:05:18 ]
いくらか小分けにすればいいだけであって1ドットずつはやらんよなw

781 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 00:29:43 ]
もっと簡潔なやり方があるに違いない病だな

782 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 07:14:12 ]
WinMainの記述はどこのフォルダのなんと言うファイルに書かれていますか?



783 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 07:42:55 ]
>>782
君の心の中に・・・

784 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 09:22:51 ]
appcore.cpp(96): // in non-running state until WinMain
appmodul.cpp(19): // export WinMain to force linkage to this module
appmodul.cpp(21): extern int AFXAPI AfxWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
appmodul.cpp(25): _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
appmodul.cpp(28): // call shared/exported WinMain
appmodul.cpp(29): return AfxWinMain(hInstance, hPrevInstance, lpCmdLine, nCmdShow);
appterm.cpp(27): // Standard cleanup called by WinMain and AfxAbort
makefile(402): $D\winmain.obj $D\barcore.obj $D\bartool.obj $D\bardlg.obj \
wincore.cpp(3553): // Standard init called by WinMain
winfrm.cpp(762): nCmdShow = pApp->m_nCmdShow; // use the parameter from WinMain
winmain.cpp(18): // Standard WinMain implementation
winmain.cpp(21): int AFXAPI AfxWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
alpha\mfc42.prf(961): ?AfxWinMain@@YAHPAUHINSTANCE__@@0PADH@Z
alpha\mfc42u.prf(761): ?AfxWinMain@@YAHPAUHINSTANCE__@@0PAGH@Z
intel\mfc42.def(1341): ?AfxWinMain@@YGHPAUHINSTANCE__@@0PADH@Z @ 1576 NONAME
intel\mfc42.prf(466): ?AfxWinMain@@YGHPAUHINSTANCE__@@0PADH@Z
intel\mfc42d.def(949): ?AfxWinMain@@YGHPAUHINSTANCE__@@0PADH@Z @ 1190 NONAME
intel\mfc42u.def(1334): ?AfxWinMain@@YGHPAUHINSTANCE__@@0PAGH@Z @ 1569 NONAME
intel\mfc42u.prf(321): ?AfxWinMain@@YGHPAUHINSTANCE__@@0PAGH@Z
intel\mfc42ud.def(946): ?AfxWinMain@@YGHPAUHINSTANCE__@@0PAGH@Z @ 1187 NONAME







[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<205KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef