- 1 名前:デフォルトの名無しさん mailto:sage [2006/11/21(火) 10:38:31 ]
- Microsoft Foundation Classライブラリ専用スレです。
前スレ ■MFC相談室 mfc16d.dll■ pc8.2ch.net/test/read.cgi/tech/1146117893/
- 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
|

|