- 1 名前:デフォルトの名無しさん mailto:sage [2006/11/21(火) 10:38:31 ]
- Microsoft Foundation Classライブラリ専用スレです。
前スレ ■MFC相談室 mfc16d.dll■ pc8.2ch.net/test/read.cgi/tech/1146117893/
- 89 名前:40 mailto:sage [2006/12/03(日) 16:05:47 ]
- >CViewのメニューなりからのイベントでCFormViewを開く時は、
の続きで、Viewの差し替えは、Viewクラスでのメニューイベントハンドラーで CWinApp* myapp=AfxGetApp(); CDocTemplate* mydoctemp=(CDocTemplate*)RUNTIME_CLASS(CDocTemplate); POSITION myps=myapp->GetFirstDocTemplatePosition(); mydoctemp=myapp->GetNextDocTemplate(myps);//テンプレートリストの1番目を選択するイテレータ mydoctemp=myapp->GetNextDocTemplate(myps);//テンプレートリストの2番目を選択するイテレータ mydoctemp->OpenDocumentFile(NULL); でドキュメントテンプレートに入れられた2番目のViewを新規子ウィンドウで表示できたよ
- 90 名前:デフォルトの名無しさん [2006/12/04(月) 13:59:24 ]
- ダイアログにタブコントロールを乗せ、複数のリストビューの表示をタブで切り替える
ソフトを書いていたんですが、タブに重ねたリストビューの列サイズを操作すると リストビューの表示が乱れる現象が出てしまいました。 www.uploda.org/uporg604606.zip.html サンプルプロジェクトです。VC2005で作りました。 www.uploda.org/uporg604603.gif 1つめのリスト。こういう感じで一番右の列境界をタブの外へ右にドラッグすると スクロールバーが現れます。通常の動作です。 www.uploda.org/uporg604604.gif 2つめのリスト。1つ目と同じく一番右の列境界を右へドラッグするとスクロールバー が現れるタイミングで表示が乱れます。 どうして2つ目のリストでのみ表示が乱れるのか悩んだ結果、ダイアログのリソース 定義ファイル中の、 > CONTROL "",IDC_LIST1,"SysListView32",LVS_REPORT | (以下略) > CONTROL "",IDC_TAB1,"SysTabControl32",0x0,7,7,173,186 > CONTROL "",IDC_LIST2,"SysListView32",LVS_REPORT | (以下略) を > CONTROL "",IDC_LIST1,"SysListView32",LVS_REPORT | (以下略) > CONTROL "",IDC_LIST2,"SysListView32",LVS_REPORT | (以下略) > CONTROL "",IDC_TAB1,"SysTabControl32",0x0,7,7,173,186 と順番を入れ替えると表示が乱れなくなりました。逆に、タブの行をリストの先頭 に持っていくと今度は両方のタブでリストの表示が乱れるようになります。 結果オーライといえばそれまでなんですが、どうしてこれで問題が解決するのか納得が いきません。リソース中の定義順が何に影響しているのでしょうか?
- 91 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 14:05:47 ]
- 普通はプロパティシート
- 92 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 14:46:26 ]
- >>90
Zオーダーの問題じゃね?
- 93 名前:デフォルトの名無しさん [2006/12/04(月) 16:30:03 ]
- Zオーダーの問題
- 94 名前:90 mailto:sage [2006/12/04(月) 22:53:30 ]
- 確かにZオーダの問題でした。どうもありがとうございます。
リソース定義の順番がZオーダになるというのが将来にわたって保障された 仕様なのかどうかが疑問なので、コントロールを重ねる場合のZオーダは きちんとSetWindowPosでコード中に書いておくことにします。
- 95 名前:デフォルトの名無しさん [2006/12/06(水) 06:13:15 ]
- VC6.0のMFCで作ったプログラムを実行したときにレジストリへ一切書き込まないようにしたいのですが
HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\MUICache に VS_VERSION_INFO の FileDescription の値が書き込まれてしまいます。 FileDescription を消しても実行ファイル名が変わりに書き込まれてしまいます。 どうしたら書き込まないように出来るでしょうか?
- 96 名前:デフォルトの名無しさん mailto:sage [2006/12/06(水) 10:01:56 ]
- そのキーを書込み禁止にすると(・∀・)イイヨ!!
- 97 名前:デフォルトの名無しさん mailto:sage [2006/12/06(水) 23:59:45 ]
- CFtpConnectionを使ってFTPクライアントを実験的に作ってみたのですが、
PASVモードを使ったときにどのポートが使われているかというのは どうやって取得すれば良いでしょうか?
- 98 名前:デフォルトの名無しさん [2006/12/12(火) 21:25:29 ]
- CListCtrl (以下、リスト)をレポート形式で使用しているのですが、
このリストの特定セルだけ背景色を変えるにはどうしたら良いですか? ステータス値に応じてセルの色が変わるような機能を実現したいのですが……
- 99 名前:デフォルトの名無しさん mailto:sage [2006/12/12(火) 21:26:36 ]
- ダイアログ上に複数のスタティックなコントロールを配置しています。
各コントロール毎に違う背景色を設定したいのですがどのようにすればよいのでしょうか? OnCtlColor()メソッド内でコントロールの判定ができればよいと思うのですが・・・。 どなたかご教授の程よろしくお願い致します。 OSはWinXP SP2、開発環境はVC++ 2005です。
- 100 名前:デフォルトの名無しさん mailto:sage [2006/12/12(火) 21:45:51 ]
- >>98
カスタムドローじゃねぇの? >>99 普通にウィンドウハンドル比べたらどうよ?
- 101 名前:98 [2006/12/12(火) 21:47:33 ]
- >>100
無知で申し訳ないのですが、カスタムドローとはどのようなものですか?
- 102 名前:デフォルトの名無しさん mailto:sage [2006/12/12(火) 21:55:03 ]
- >>101
www.google.co.jp/search?hl=ja&safe=off&c2coff=1&q=%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%83%89%E3%83%AD%E3%83%BC+CListCtrl&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja
- 103 名前:98 [2006/12/12(火) 21:57:44 ]
- >>102
すみません、自分で検索するべきでした どうもありがとうございました
- 104 名前:99 mailto:sage [2006/12/12(火) 22:00:20 ]
- >>100
レスありがとうございます。 if(GetDlgItem(IDC_STATIC_COLOR1) == pWnd){ AfxMessageBox(L"一番目のコントロール"); } //以降コントロールの数分else if 試しにこんなコードでやってみたのですが引っかかりませんでした。 比較処理が悪いのでしょうか?
- 105 名前:デフォルトの名無しさん mailto:sage [2006/12/12(火) 22:06:07 ]
- MFCってpWnd->m_hWnd == GetDlgItem(IDC_STATIC_COLOR1)->m_hWndってやらなくてもいいんだっけ?
まあ、駄目だったら、そもそもIDC_STATIC_COLOR1が本当にそいつの直下に配置してあるコントロールなのかどうなのか ってところがあやしいんじゃね?
- 106 名前:99 mailto:sage [2006/12/12(火) 22:22:41 ]
- >>105
OnInitDialog内で GetDlgItem(IDC_STATIC_COLOR1)->SetWindowText("あいう"); で文字は表示されたので問題はないと思うのですが・・・。 もう少し調べてみます。
- 107 名前:99 mailto:sage [2006/12/12(火) 22:31:54 ]
- >>105
すみません、教えていただいた pWnd->m_hWnd == GetDlgItem(IDC_STATIC_COLOR1)->m_hWnd でできていました。(メッセージボックスが表示されていなかったのでできていないと思っていました) どうもありがとうございます。
- 108 名前:デフォルトの名無しさん mailto:sage [2006/12/12(火) 22:38:02 ]
- それはえがった
- 109 名前:デフォルトの名無しさん [2006/12/13(水) 16:35:12 ]
- VC6を使って、MDIアプリにMDIタブを実装したい
まずは、CMainFrame に MDIタブ用の CDocBar を配置したいのだが、 どこをどうオーバーライドしたらいいんだ? CMainFrame::recalcLayout() あたり?
- 110 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 17:02:48 ]
- またお前か
- 111 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 19:25:44 ]
- その前にMDIの作り方は間違っていないのかね?
なんだかこの間からぶち当たった問題をことごとく質問してないか?
- 112 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 19:32:03 ]
- 相談室だから質問しています
- 113 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 19:34:02 ]
- >>112
相談しようぜ。 MDIの基本的な部分はOKなん?
- 114 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 19:52:36 ]
- ここは自分でできもしないことを相談する所か?
- 115 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 20:17:28 ]
- まあ、MFCスレってここしかないんだから、そう厳しいこといわんと。
MFCって結構むずいじゃん。 俺、ドキュメントビューアーキテクチャーとかいう仕組み覚えるのに何日も必要だったぞ。 まず、ドキュメントビューアーキテクチャーの構造なんて大して重要なもんだと思ってなかったし(SDIで組んでたのもあって)。 この状態でMDIプログラミング特攻すると、はっきりいってハマルじゃんw
- 116 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 20:57:27 ]
- プロパティシートについて質問があります。
ダイアログをいくつか作成(このときフォントをMSゴシックの12ptに変更)し、 各ダイアログ毎にクラスを作成(CPropertyPageクラスの派生クラス)して メインメニューに[プロパティ]項目を追加、そのイベント内で ・プロパティシートのインスタンス生成 ・プロパティページをプロパティページにAddPage ・DoModalで表示 しています。 このとき、表示された各ページのフォントサイズが標準のMS UI Gothicの9pt で表示されてしまっています。なのでCPropertySheetの派生クラスを作り、 OnInitDialog内でフォントサイズの変更を行ってみたのですが変化なしでした。 なぜこのような現象が起こるのでしょうか?
- 117 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 21:00:50 ]
- プロパティシート使ったことないけど
タブコントロールなら、全ページフォントを設定する必要があるな。 プロパティシートにもそんなのあんじゃね?(適当w)
- 118 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 21:10:57 ]
- OnInitDialog内でGetPage()->SetFont();は行っているのですが
それでも変わらないんですよ。各ページのコントロールのサイズも ちっちゃくなってますし。全ページのコントロールの位置、サイズ、フォントを 設定しないといけないんでしょうか。
- 119 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 21:42:18 ]
- CPropertySheet フォント で検索
- 120 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 21:44:25 ]
- MDIの基本的な部分はたぶんオケ
だからおいらの相談に答えてくれよー
- 121 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 21:46:33 ]
- >>119
あ、やっぱ、手動なんだw
- 122 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 21:48:25 ]
- >>120
ドキュメントビューアーキテクチャ(なげぇなw)の理解は大丈夫ということでOK?
- 123 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 21:57:52 ]
- >まずは、CMainFrame に MDIタブ用の CDocBar を配置したいのだが、
MFCにCDocBarなんてあったけ?
- 124 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 22:20:15 ]
- >>123
すまん CDockBar だった CDockBar はアンドキュメンテッドなクラスで、CControlBar を配置するための滑走路みたいなものだよ
- 125 名前:116 mailto:sage [2006/12/13(水) 22:43:28 ]
- >>119
SendMessageToDescendants()?でフォントは変更できましたが、 サイズとかの変更の仕方が分かりませんでした。
- 126 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 23:09:57 ]
- MFCを理解しようとしないで自分のやりたいことだけ質問する馬鹿ばっかりだな
- 127 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 23:33:37 ]
- MFCのすべてを理解してるなら、すべての質問・相談にちゃっちゃ答えて神になってくれ
- 128 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 23:47:28 ]
- 何のためにソースがついてるんだろ
- 129 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 23:49:05 ]
- 非効率だよね。
まず、全体っちゅーか概要ぐらいは理解しないと なにやるにも知ってる人間にお伺いを立てないと何もできなくなっちゃうぞ。
- 130 名前:デフォルトの名無しさん mailto:sage [2006/12/14(木) 01:57:25 ]
- なんかMFC使うほうがかえって面倒くさそうだ
- 131 名前:デフォルトの名無しさん mailto:sage [2006/12/14(木) 03:22:11 ]
- 馬鹿じゃねぇの
- 132 名前:デフォルトの名無しさん mailto:sage [2006/12/14(木) 07:02:17 ]
- >>130
そういうときもある。
- 133 名前:デフォルトの名無しさん mailto:sage [2006/12/14(木) 09:06:58 ]
- コントロールのサイズと位置はピクセル単位じゃなくてダイアログベース単位で、
ダイアログベース単位はフォントの幅が元になってる。 だからダイアログのフォントを変えると コントロールのサイズと位置もフォントに比例して変わる。 このフォントサイズはダイアログを作る時に指定した ダイアログボックステンプレートに定義されている。 ダイアログを作った後でフォントを変えても コントロールは既に作成されてしまっているから コントロールのサイズと位置は後で指定したフォントには影響されない。 以上ここまでMFCに限らずWin32でも同様 プロパティシートがリソースで定義されたダイアログのフォントを無視しているということは たぶんメモリ上に読み込んだダイアログボックステンプレートのフォントを書き換えてから その変更を加えたダイアログボックステンプレートでダイアログを作っているのではないか と推測されるけど、あとはCPropertyPageのソース等を読めばわかることだから省略
- 134 名前:デフォルトの名無しさん [2006/12/14(木) 10:51:38 ]
- ☆ チン
☆ チン 〃 ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ヽ ___\(\・∀・)< MDIタブ実装方法 まだー? \_/⊂ ⊂_)_ \_______ / ̄ ̄ ̄ ̄ ̄ ̄ ̄/| |  ̄  ̄ ̄ ̄ ̄ ̄ ̄:| :| | .|/
- 135 名前:デフォルトの名無しさん mailto:sage [2006/12/14(木) 11:22:30 ]
- ソースを読めばわかることだから省略
- 136 名前:デフォルトの名無しさん mailto:sage [2006/12/14(木) 11:43:33 ]
- MDIタブのこと書こうか迷ってたんだけど、AAみて踏ん切りがついたよ。
- 137 名前:デフォルトの名無しさん mailto:sage [2006/12/14(木) 13:05:50 ]
- MDIタブの何を書こうかと迷ってたんだ?
- 138 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 17:26:02 ]
- Button(OKやCancelや適用など)をDisableにしたいのですが、どの関数を使うのですか?
SetCheck()かと思ったのですが違うようでした。。
- 139 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 17:46:32 ]
- >>138
基本クラスのメンバEnableWindowで
- 140 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 18:12:46 ]
- なるほど…
やってみます。ありがとうございました。
- 141 名前:デフォルトの名無しさん [2006/12/17(日) 19:17:51 ]
- リストコントロール(CListCtrl)をリードオンリにするにはどうすれば良いですか?
- 142 名前:デフォルトの名無しさん [2006/12/17(日) 19:21:10 ]
- 2つ目の質問です
ツリーリストコントロールって標準で存在しませんか? 存在しない場合はどうすれば使えますか? MFCで作ったフリーソフトでツリーリストが使われていたので、 何らかの方法でできるのではないかと考えているのですが・・・ ちなみに、今の自分の技術力では自作は無理です
- 143 名前:デフォルトの名無しさん [2006/12/17(日) 19:25:35 ]
- 3つ目の質問です
MDI子ウィンドウのビュー(フォームビュー)でリストコントロール(CListCtrl)を使っているのですが、 他の子ウィンドウがリスト部分の前に重なった後、リスト部分をクリックしてリストがある子ウィンドウを アクティブにすると重なっていたリスト部分だけが再描画されません 原因はまったく不明です どのようにすれば子ウィンドウがアクティブになった時に正常に再描画されるようにできますか?
- 144 名前:デフォルトの名無しさん [2006/12/17(日) 19:29:21 ]
- 最後の質問です
MDI子ウィンドウのビューでリストコントロールを使っているのですが、 子ウィンドウのサイズ変更にあわせてリストのサイズを動的に変更するには どのようにすれば良いですか? VC#ではプロパティ画面で簡単に設定できたのですが、 VC++にはないのでとても困っています・・・ 以上4つ質問させて頂きました 何かご存知の方は、ご回答をよろしくお願いしますm(_ _)m
- 145 名前:デフォルトの名無しさん mailto:sage [2006/12/17(日) 19:37:53 ]
- 最後のやつの答えは
子ウィンドウのサイズ変更にあわせてリストのサイズを動的に変更する
- 146 名前:デフォルトの名無しさん mailto:sage [2006/12/17(日) 19:45:00 ]
- MDI野郎の質問は意味不明
- 147 名前:デフォルトの名無しさん mailto:sage [2006/12/17(日) 19:51:36 ]
- 具体的にはOnSizeとかOnSizingとかOnExitSizeMoveとか用途に合わせて使うと吉。
- 148 名前:デフォルトの名無しさん mailto:sage [2006/12/17(日) 19:53:22 ]
- >>141
普通リードオンリーでできんじゃねぇっけ? リソースファイルの方の設定に編集できるとかできないとかそういうプロパティあった希ガス。
- 149 名前:デフォルトの名無しさん mailto:sage [2006/12/17(日) 20:00:56 ]
- >>142
昔、俺がみたのは自力で描画してたのしかみたことないな。 今、どうなってるのかはよくわからん。
- 150 名前:デフォルトの名無しさん mailto:sage [2006/12/17(日) 21:27:01 ]
- >141-144
勉強してないの丸わかりなんだけど よくリストコントロール表示できたね どっかからソースぱくってきた?
- 151 名前:デフォルトの名無しさん mailto:sage [2006/12/17(日) 21:43:34 ]
- たしかにこうなんもかんもわからんようだとどうしようもないなw
- 152 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 01:37:33 ]
- いつも質問しっぱなしで消えて行く人と文体がそっくりだな
- 153 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 16:59:07 ]
- お願いします。MFCを使い大量の点を打って画像を描画するプログラムを作っています。
点の数は数千を越えていると思うのですが かなり処理に時間がかかります。 自分なりに色々調べたところ SetPixelは遅い ということがわかりました 同時に BitBlt とか 裏画面 などと 高速化に関するワードも出てきましたが 全く分かりませんでした この言葉で全て解決しようとするのが悪いのですが 初心者です。 しかし、時間が本当に無いので時間をかけて勉強して… ができません。 ちなみに 点は一色です。 SetPixelの遅さを解決する方法で まだ分かり易いだろう と思う方法を教えていただけませんか?
- 154 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 17:15:42 ]
- かなり遅いって具体的に何秒?たった数千なら一瞬のはずだけど...
- 155 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 17:27:01 ]
- えっ・・・ そうなんですか?
具体的にはループ回数が3万でそのうちの一部の点を 描画しているので、最大でも3万ですね 1万は越えているかも知れませんが… 時間は3分から5分程度でした。
- 156 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 17:31:20 ]
- うちのPCは最新鋭からは程遠いセレロンだけど10万個の点をSetPixelで
描いても0.1秒ぐらいだったよ。(裏画面とか未使用) 描画以外の部分に時間かかってるんじゃないかな。
- 157 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 17:35:59 ]
- 配列に直接描画すればいいんじゃない?
- 158 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 17:39:17 ]
- そうでしたか… スペック的には確実問題になるほどではありません。
ループ回数を増やすと比例関数的に時間も延びたので てっきりそこが問題だと思っていました。 そうなるとどこに時間がかかっているのか全く分かりませんね… ランダムウォークさせているのんですが そこか 1024*768もの配列を作って その中身全てを参照(検索)するという作業を 何度かしているのも原因かもしれませんね。 mallocなんかも全く使っていませんし… ループ回数をこれ以上にするとエラーになり途中で動作が止まってしまうのも 同じ原因から来ているのかも… しかし ここまでくるとここで相談させてもらう内容ではなくなってしまいますね。
- 159 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 17:42:35 ]
- 1024*768*30000=230億強
それは遅いだろ...
- 160 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 17:57:38 ]
- >BitBlt とか 裏画面 などと 高速化に関するワードも出てきましたが全く分かりませんでした
>初心者です >時間が本当に無いので時間をかけて勉強して… ができません。 結論: 無理
- 161 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 17:57:46 ]
- 最後に一回だけ描画すればいいのに
いちいちSetPixel使うからだよ。
- 162 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 18:01:51 ]
- えっと 最後に一回だけ描画してます。
まぁ特に考えてたわけではなく、むしろ本当は描画の 様子が分かるように1回1回点を打ちたかったのですが それができなくて 最後にだけ描画してます。 (点を打つ配列に目印をいれて最後にその部分だけ描画) 結論を言うと そのループ及び巨大な配列の中身を参照するのに 時間がかかってるというわけなんですね・・・ >>160 ってことでFAですかね。 検索の仕方や配列の使用法などを再考してみますね。 こんなくだ質に付き合ってくださってありがとうございました。
- 163 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 18:13:41 ]
- SetPixelをループに入れてる時点で一回だけじゃないじゃん。
- 164 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 18:17:04 ]
- GDIにじゃなくてメモリに対して書くようにすればいいんじゃないの?
- 165 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 18:20:29 ]
- たった一色ならcharで1024*768の配列をnewして
0か1を直接書き込めばいいじゃない。 その後BMPに変換すれば?
- 166 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 18:54:30 ]
- 正直MFCと全然関係ない
- 167 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 19:57:42 ]
- 1280*1024の画面全体の約130万ピクセルでも数秒だね
遅いというのは一瞬じゃないということ 自分で試さずに質問するのはやめてほしい。
- 168 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 00:26:28 ]
- >>162
そういう時は、SetPixelだけをコメントアウトしてみる。 そうすれば、それが犯人かどうか分かる。
- 169 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 00:53:12 ]
- 質問者じゃないけど試しにBitmapBits弄ってみたら
130万pixelなんて問題にならないぐらい強烈に早いね。 今後使う機会があるかは微妙だけど勉強になったよ。 >>170 スレ違い房乙
- 170 名前:153です mailto:sage [2006/12/19(火) 00:55:54 ]
- さらにレスしていただいたんですね。
>>163 確かにループには入ってますね でもループもしないで1回だけ なんて できるんですか >>164 そのような方法がある事は調べていたときにわかったんですが なかなか理解できなかったんですよね >>165 今は理解できないんで ちょっと考えて見ます^^; ありがとうございます。 >>166 ですね。 158で自分でも言ってますが。 すみませんでした。 >>167 そうなんですか。 >遅いというのは一瞬じゃない そうですね 自分で試さずに とは 何のことでしょう? 確かに SetPixelに時間がかかっていたかどうかは 自分で画面全体にSetPixelで塗りつぶしてみれば分かったんですね… そうだ と思い込んでしまったので思いつきませんでした ごめんなさい。
- 171 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 01:15:49 ]
- >>168さんもありがとうございます。
そんな方法もありますね 次回から参考にします! >>169 スレ汚しすみませんでした。
- 172 名前:デフォルトの名無しさん [2006/12/19(火) 02:51:30 ]
- >>171
つーか、普通にSetPixelとGetPixelが遅い。 GDI+を使っているならこれで速くなるっぽいことが書いてある。 junki.lix.jp/csgr/002ColorDataAccess1.htm
- 173 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 08:21:41 ]
- > 描画しているので、最大でも3万ですね
> 1万は越えているかも知れませんが… > > 時間は3分から5分程度でした。 描画しているのは最大でも3万で時間は3分から5分
- 174 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 14:48:18 ]
- とりあえず、ビットマップ作ってメモリDCで選択して
そこに描画してBitBltするという、昔ながらのやり方を 試すのが今後のためにいいと思うが。
- 175 名前:153 mailto:sage [2006/12/19(火) 14:54:29 ]
- >>172
VC++ のMFCです。 >>174 そうですよね。 いい機会ですし勉強して使えるようにしたいと思います。
- 176 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 16:20:57 ]
- ほとんどMFCと関係ない
- 177 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 23:24:44 ]
- では MDIタブの実装方法についてお話してください
よろしくおながいします
- 178 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 23:36:11 ]
- mfcにMDIタブなんてものは存在しない
- 179 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 23:58:47 ]
- イヤです
- 180 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 10:36:29 ]
- >>178
存在しないから作るんですよ
- 181 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 10:49:58 ]
- じゃあmfc関係無いのでは
- 182 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 11:18:15 ]
- >>141 LVN_ITEMCHANGING
>>142 LVITEM::iIndent' >>143 WS_CLIPSIBLINGS
- 183 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 12:37:11 ]
- MFCのMDIを拡張して作るんだから関係あるし、難易度が高い
MFCを使わず、まったくゼロから MDIタブを作るのならそれほど難しくはない と混じれ酢してみる
- 184 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 13:08:57 ]
- 決まった作り方が存在しないから好きなように勝手に作れ
- 185 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 13:18:05 ]
- 好きなように作りたいんだけど、作り方がわからないんだよぉ〜
- 186 名前:デフォルトの名無しさん mailto:sage [2006/12/21(木) 01:17:54 ]
- ダメです
- 187 名前:デフォルトの名無しさん mailto:sage [2006/12/21(木) 10:24:22 ]
- MDIタブを作るには、フレームウィンドウの上部(or左or右or下)にMDIタブのための領域を確保する必要がある
そのためには void CMainFrame::RecalcLayout(BOOL bNotify) をオーバライドすればいいぞ どうオーバライドするかは自分で調べろ
- 188 名前:デフォルトの名無しさん mailto:sage [2006/12/23(土) 01:28:04 ]
- イヤです
- 189 名前:デフォルトの名無しさん mailto:sage [2006/12/23(土) 14:47:20 ]
- VC++6.0 WinXPProで開発を行っております。
XPログオン時のユーザ名とパスワードが正しいかどうかを、開発したプログラム上で 確認したいと思っているのですが、どのようにすればよろしいでしょうか。
|

|