[表示 : 全て 最新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/

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ログオン時のユーザ名とパスワードが正しいかどうかを、開発したプログラム上で
確認したいと思っているのですが、どのようにすればよろしいでしょうか。

190 名前:デフォルトの名無しさん mailto:sage [2006/12/23(土) 14:51:25 ]
誤爆?
ここはライブラリの専用スレですよ

191 名前:デフォルトの名無しさん mailto:sage [2006/12/23(土) 14:55:43 ]
>>190
スイマセン、他スレで聞いてきます。

192 名前:デフォルトの名無しさん mailto:sage [2006/12/23(土) 15:26:31 ]
ウィンドウにスクロールバーがあるかどうかを調べたいのですが、
どうすれば取得できるでしょうか?

193 名前:デフォルトの名無しさん mailto:sage [2006/12/23(土) 15:35:00 ]
WS_HSCROLLやWS_VSCROLLスタイルが付いてるか調べればいいんじゃないかな

194 名前:デフォルトの名無しさん mailto:sage [2006/12/23(土) 15:42:35 ]
GetWindowLongで取得すればいいのでしょうか?
色々調べてみたのですが、GetWindowLongの使い方がいまいちよく分からないです。。
具体的にどう使えばいいか、ご教授願えますでしょうか(><



195 名前:デフォルトの名無しさん mailto:sage [2006/12/23(土) 15:49:27 ]
MSDN見ろよ

196 名前:デフォルトの名無しさん mailto:sage [2006/12/23(土) 15:56:33 ]
MSDN見てます。
LONG lStyle = ::GetWindowLong(m_hWnd, GWL_STYLE);
で取れると思うんですけど、そこからどうすればいいか分からないんです。
どこを見れば分かりますか?

197 名前:デフォルトの名無しさん mailto:sage [2006/12/23(土) 16:04:12 ]
ビット演算も知らんのか?

198 名前:デフォルトの名無しさん mailto:sage [2006/12/23(土) 16:07:05 ]
MFCの質問じゃない

199 名前:デフォルトの名無しさん mailto:sage [2006/12/23(土) 16:20:22 ]
ビットで入ってるんですね。
MFC以前の問題ですか・・・
もっとよく調べてきます。

200 名前:デフォルトの名無しさん mailto:sage [2006/12/23(土) 23:28:32 ]
MFCとは関係ないね>>199

201 名前:デフォルトの名無しさん [2006/12/24(日) 22:58:19 ]
質問があります。
現在、ダイアログAのボタンを押すと、ダイアログAを隠して
ダイアログBをモードレス表示し、
表示されたダイアログBのボタンを押すと、ダイアログBを隠して、
ダイアログAをモードレス表示するツールを作成しております。

そこで、ダイアログAのボタンを押すと、ダイアログAを隠して
ダイアログBをモードレスで表示することは出来たのですが
モードレスで開いたダイアログBのボタンを押すと、
ダイアログAをモードレスで開く方法がわかりません。
教えてください。
よろしくお願いします。

202 名前:デフォルトの名無しさん mailto:sage [2006/12/24(日) 23:20:22 ]
ダイアログAがやったのと同じ事をダイアログBでやればいいだけじゃん

203 名前:デフォルトの名無しさん mailto:sage [2006/12/25(月) 05:05:35 ]
>>202
エスパー値が低いのに初心者の質問に答えるな。話がややこしくなる。
要は循環参照になっちまってコンパイルできねぇんだろ?

つまり、
メインウィンドウ→ダイアログA→ダイアログB→ダイアログA→ダイアログB
って構造だとダイアログAとダイアログBが循環してしまって駄目なわけだ。
なので

メインウィンドウ→ダイアログA
          →ダイアログB

としてメインの方でダイアログAのボタンX、ダイアログBのボタンXの
内容を処理するようなもんを作る必要があるとそういうことだろ?
この処理をやるにはダイアログAとBのインスタンスはメインの方にもったほうがいい。
そんでメインの方で
1.ダイアログAがあったら消して、ダイアログBを出す処理
2.ダイアログBがあったら消して、ダイアログAを出す処理
を実装する。
んで、ダイアログAのボタンXでは1を発動させるような処理(親にSendMessageで独自のメッセージ飛ばすのがいいかな?)
んで、ダイアログBのボタンXでは2を発動させるような処理
を組めば完成とそういうことだ。多分w

204 名前:デフォルトの名無しさん mailto:sage [2006/12/25(月) 08:32:31 ]
Windowsの電卓の10進と16進の切り替えがそんな感じだな
あれは表に出ない親ウインドウがあってそこから2つのダイアログを切り替えてる
しまった、ここまで書いて全然MFCと関係ないのに気がついた



205 名前:デフォルトの名無しさん mailto:sage [2006/12/25(月) 14:39:50 ]
>203は別に独自のメッセージである必要もないね。
MFCなら仮想親ダイアログにメンバでABダイアログがぶら下がっているだろうから
ダイアログからは親のメンバを呼ぶだけでいい。

>>204
ほ〜らMFCらしくなったでしょw

206 名前:デフォルトの名無しさん mailto:sage [2006/12/25(月) 20:24:54 ]
なんですぐMFCと関係無い方向に行くんだ?


207 名前:デフォルトの名無しさん mailto:sage [2006/12/25(月) 20:25:25 ]
はっ
おまいらちゃんとMFCがわかっているのか?

208 名前:デフォルトの名無しさん mailto:sage [2006/12/25(月) 21:03:39 ]
>>206
行くっつぅか元々>192からしてMFCと・・・

209 名前:デフォルトの名無しさん mailto:sage [2006/12/25(月) 21:27:26 ]
APIでウィンドウも出せないくせにMFC使うな
と誰かが言ってた。

210 名前:デフォルトの名無しさん mailto:sage [2006/12/25(月) 21:50:49 ]
VS2005 MFCを使用しています。
プロパティシートでSendMessageToDescendants()を使用し、
各ページのフォントサイズを変更しているのですが
なぜかリストコントロール内のフォントサイズだけ変更されません。
(ヘッダーは変更されていました。)
SendMessageToDescendants()を使用せず、リストコントロール
のSetFont()を使用すれば変更できるのですが、リストコントロール
に合わせてすべてのページですべてのコントロールにSetFontをするのは
避けたいです。なにかいい方法はありませんでしょうか?

211 名前:デフォルトの名無しさん mailto:sage [2006/12/25(月) 22:06:20 ]
>>210
この前の質問どうなったっけ?

212 名前:デフォルトの名無しさん mailto:sage [2006/12/25(月) 22:23:31 ]
>>211
今までリストコントロールを利用していないシートの
コーディングを行っていたのでてっきりうまく変更されていた
ものとばかり思っていたのですが、リストにデータを挿入して
表示したところリスト内のサイズだけ小さかったので
再度質問させていただきました。


213 名前:デフォルトの名無しさん mailto:sage [2006/12/26(火) 01:30:22 ]
1. 専門用語を知らないMFC初心者が質問
2. 知ってる人が専門用語をあまり使わずに解説
3. 理解できない別の知ったか初心者が 「MFCと関係ない」
4. 質問者が3にむかついて失踪

最近この流れが多い。3の人は1年ぐらいROMって欲しい。

214 名前:デフォルトの名無しさん [2006/12/26(火) 08:50:07 ]
すいません教えてください。
C/C++を一通り勉強して、mfcでビュッフォンの針のシミュレーションプログラムを
作ろうと思ってるんですが、ダイアログベースで、ピクチャボックスに描画しようとして
も上手くいきません。CClient の矩形をCRectで取り
bottomとrightを数値で覚えさして、シミュレーション用の横棒を引くため
bottomを横棒の数で割り、movetoとlinetoでそれぞれの位置に線を引いたのですが
(用は、数値が1ならクライアント領域が二等分されるようになり
数値が2ならクライアント領域が三等分されるような形)
上手く等分されません。
なにか良い方法か、サンプルのあるページがあれば教えてください。



215 名前:デフォルトの名無しさん mailto:sage [2006/12/26(火) 08:57:16 ]
描画に使った数値が合ってるかどうかぐらい調べてから質問しろよ

216 名前:デフォルトの名無しさん mailto:sage [2006/12/26(火) 08:59:08 ]
シミュレーションの前に、簡単な線でも描けるようになってから質問しろよ。

217 名前:デフォルトの名無しさん mailto:sage [2006/12/26(火) 09:35:12 ]
日本語でかかず、プログラムを示せや

218 名前:デフォルトの名無しさん mailto:sage [2006/12/26(火) 09:58:29 ]
デバッグメッセージで、moveto、linetoに渡す数字表示させて並べてみな

219 名前:デフォルトの名無しさん [2006/12/26(火) 18:47:19 ]
VC6でMDIアプリを開発しています。
子フレームを最大化した状態でドキュメントを切り替えると、最大化されない子フレームウィンドウ枠が
一瞬描画されてしまいます。
これを防ぐにはどうしたらいいのでしょうか?

220 名前:デフォルトの名無しさん mailto:sage [2006/12/26(火) 19:35:30 ]
普通に作ればいい

221 名前:デフォルトの名無しさん mailto:sage [2006/12/26(火) 19:57:59 ]
普通に作ったら 子フレームウィンドウ枠が一瞬描画 されるんだけど
これは いったい誰がだしているの?

222 名前:デフォルトの名無しさん mailto:sage [2006/12/26(火) 21:20:18 ]
お前が作ったプログラム

223 名前:デフォルトの名無しさん [2006/12/27(水) 17:33:42 ]
CFormViewの中に設置したレポート型のリストビューで
アイテムを右クリックしたときにポップアップメニューを
表示させてそのアイテムにのみ処理をしたいのですが

どうすればいいのでしょうか

224 名前:デフォルトの名無しさん mailto:sage [2006/12/27(水) 18:50:12 ]
簡単にできそうな気がして何が問題かよくわからん
ここで質問しなきゃわからないような何か特殊な問題あったか?



225 名前:デフォルトの名無しさん mailto:sage [2006/12/27(水) 18:56:59 ]
OnRButtonDownの追加により
リストビューで右クリックのイベントをとるまでいけたんですが
メニューの表示や選ばれたアイテムの取得方法がわかりません
簡単なら教えてくださいお願いします

226 名前:225 mailto:sage [2006/12/27(水) 18:57:47 ]
今はOnContextMenuに変えています

227 名前:デフォルトの名無しさん mailto:sage [2006/12/27(水) 19:06:13 ]
特に難しい問題はないはずだから調べればわかると思う。

228 名前:デフォルトの名無しさん mailto:sage [2006/12/27(水) 19:20:28 ]
リストビューで項目の右クリックをとるのはNotify使うんじゃなかったかな
あまりにも懐かしすぎて、過去のソース見ないと思いだせんがNM_RCLICKとかあったと思う

229 名前:219 mailto:sage [2006/12/27(水) 19:21:19 ]
void CMDIFrameWnd::MDIActivate( CWnd* pWndActivate )
を使って、子フレームを切り替えているのだが、このメソッドをコールすると
一瞬現在アクティブなウィンドウに WM_MDIACTIVATE が送られ、
その前後に子フレームが再描画されるとこまでわかった

どうしたら子フレームの再描画をとめられるんだ?
誰か助けて。おねがい


230 名前:デフォルトの名無しさん [2006/12/27(水) 19:37:15 ]
調べろカス

231 名前:デフォルトの名無しさん mailto:sage [2006/12/27(水) 19:42:24 ]
普通のMDIでもそうなるならそういう仕様
普通のMDIではそうならないなら普通のMDIと同じにすればいい

232 名前:225 mailto:sage [2006/12/28(木) 10:44:01 ]
>>228
NM_RCLICKで右クリックのイベントは取れました
右クリックしたときのアイテムの取得はどうすればいいのでしょうか?

233 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 11:20:58 ]
>>232
ttp://msdn2.microsoft.com/en-us/library/ms670614.aspx

234 名前:225 mailto:sage [2006/12/28(木) 11:25:06 ]
返答ありがとうございます
調べてみたら
CListCtrl::GetFirstSelectedItemPosition
で取れるようです



235 名前:225 mailto:sage [2006/12/28(木) 12:24:51 ]
次は右クリックを押したときにメニューを表示させたいんですが
表示はできましたが最初のメニューだけすごく小さいのです
サブメニューは普通に表示されます以下ソースです

CMenu menu;
CPoint posMouse;

VERIFY(menu.LoadMenu(IDR_MENU1));
::GetCursorPos(&posMouse);
menu.TrackPopupMenu( TPM_LEFTALIGN | TPM_RIGHTBUTTON, posMouse.x, posMouse.y, this);

236 名前:225 mailto:sage [2006/12/28(木) 12:32:21 ]
自己解決しました
CMenu* pPopup = menu.GetSubMenu(0);
pPopup->TrackPopupMenu( TPM_LEFTALIGN | TPM_RIGHTBUTTON, posMouse.x, posMouse.y, this);

237 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 12:45:14 ]
ここはおまえの日記帳じゃねえ。
1週間くらい悩むような問題を質問しろよ。

238 名前:225 mailto:sage [2006/12/28(木) 15:30:47 ]
ニートじゃないのに1週間も悩んでられるかよ
文句しか言えない無知は黙ってろ

239 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 16:43:49 ]
配列で作ったマルチスレッドの破棄をメインスレッド側からするには
どうすればいいのでしょうか?調べたんですがflagを立てるやり方しか見つかりません

その方法ではユーザーインターフェーススレッドのような複雑な処理をしているときになると
通じないと思いますぜひ知恵をお貸しください

240 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 16:46:34 ]
MFCと関係ない

241 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 16:49:19 ]
MFCで開発してますがVC++のほうで聞いたほうがよかったですか?

242 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 16:54:48 ]
普通にMFCクラスから派生して作ったのでMFCだと思うんですが
なにがどう関係ないのかの説明をいただきたい

243 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 16:55:13 ]
UIスレッドはPostQuitでいいじゃん

244 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 17:00:28 ]
PostQuit?



245 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 17:06:24 ]
PostQuitとはトレードクラスのメンバ関数ですか?
そのようなものは無いと思うんですが

246 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 17:14:10 ]
PostQuitMessageだろう

247 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 17:15:53 ]
PostQuitMessageだとスレッドどころかアプリケーション終了しますよ

248 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 17:34:50 ]
UIスレッドなら

スレッド側に、メッセージ受けると終了するような仕組みを作る。
メインスレッドからスレッドにPostMessage or PostThreadMessage。
必要に応じて、メインスレッドはスレッドが終了するまで待機。

249 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 17:37:02 ]
なるほど
ありがとうございますやってみます

250 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 22:05:29 ]
VC6 で組んだプロジェクトが VC7 でコンパイル出来なくて困ってます。
ユーザー定義メッセージのとこなんですが。

メッセージマップで
ON_MESSAGE(WM_USER_ENDTHREAD, OnUserEndthread)
ヘッダで
afx_msg void OnUserEndthread(UINT wParam, LONG lParam);
実体部で
void CPg1::OnUserEndthread(UINT wParam, LONG lParam)
{
;
}

としているのですが、コンパイル時に
pg1.cpp(130): error C2440: 'static_cast' : 'void (__thiscall CPg1::* )(UINT,LONG)' から 'LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)' に変換できません。
とでます。

VC6 では問題ないのですが・・・。 ご教授下されば有難く思います。

251 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 22:17:09 ]
エラーメッセージそのまんまじゃん

252 名前:250 mailto:sage [2006/12/28(木) 22:30:23 ]
>251

void を LRESULT にしろってことですかね?
ユーザ定義メッセージハンドラの仕様が変わったというだけのことですか。

253 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 22:44:34 ]
相当古いよそれ

254 名前:デフォルトの名無しさん mailto:sage [2006/12/29(金) 02:14:54 ]
俺はGetWindowLongでとった値をどうキャストかけても警告だったかエラーだったか消えなくて悩んだ覚えがあるな。
結局、どうしたっけな・・・。



255 名前:239 mailto:sage [2006/12/29(金) 12:15:18 ]
PostThreadMessageでメイン側からWM_QUITメッセージを飛ばし終了させようとしたのですが
Instanceでの処理は止まらないので終了することができません

WM_QUITの代わりのメッセージを作ったとしても終了処理をどうすればいいのでしょうか
Instance→Run→ExitInstanceの流れを通らないとスレッドの破棄は難しいのでしょうか?

>>248さんの終了処理するような処理をどうすれば実装できるか困っています


256 名前:デフォルトの名無しさん mailto:sage [2006/12/29(金) 12:36:41 ]
>>255
文字通り、サブスレッド側でメッセージを受け取れば宜しい。
逆に言えば、サブスレッド側をそのように作らないといけない。
詳細は、サブスレッドの作りが判らないしスレ違いになるので割愛。

257 名前:デフォルトの名無しさん mailto:sage [2006/12/30(土) 01:57:47 ]
質問です。
タブ上にリストコントロールを表示する為、メンバ変数作って
OnInitDialog関数内でリストをCreateしています。
(タブはリソースエディタで貼り付けています)
表示はできたんですけどなぜかリスト内の項目が選択できません。
なんででしょう?とりあえずこんな感じで作ってます。

m_Tab.GetClientRect(&rcRect);
ClientToScreen(&rcRect);
rcRect.left -= 21;
rcRect.right -= 5;
rcRect.top += 44;
rcRect.bottom += 52;
m_ListCtrl.Create(LVS_SINGLESEL|WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_NOCOLUMNHEADER|LVS_REPORT|LVS_SHOWSELALWAYS,
rcRect, GetParent(), IDC_JOURNALSHOWSET_LIST_KP);


258 名前:デフォルトの名無しさん mailto:sage [2006/12/30(土) 02:20:50 ]
>表示はできたんですけど

本当に?
GetParent()はダイアログの親ウィンドウを返してると思うんだけど。

259 名前:デフォルトの名無しさん mailto:sage [2006/12/30(土) 09:25:15 ]
こいつ思い出した
結果オーライ

> 90 名前:デフォルトの名無しさん[] 投稿日:2006/12/04(月) 13:59:24
> ダイアログにタブコントロールを乗せ、複数のリストビューの表示をタブで切り替える
> ソフトを書いていたんですが、タブに重ねたリストビューの列サイズを操作すると
> リストビューの表示が乱れる現象が出てしまいました。
>
> (中略)
>
> 結果オーライといえばそれまでなんですが、どうしてこれで問題が解決するのか納得が
> いきません。リソース中の定義順が何に影響しているのでしょうか?

260 名前:デフォルトの名無しさん [2006/12/30(土) 15:35:51 ]
MDIタブ age

261 名前:デフォルトの名無しさん [2006/12/30(土) 15:57:27 ]
メニュー項目を選択すると CSliderCtrl を WS_POPUP で作って表示させる処理を
ダイアログに追加していたんですが、ダイアログを終了する時にビープが一発鳴る
ようになってしまいました。

どこで鳴ってるのかデバッガで追ってみたところ、InitInstance の最終行、return FALSE;
で出て行ったあとのようです。この先も追いたいんですが、F11ではこれ以上追えません
でした。どういう風にデバッグすればいいでしょうか?

262 名前:デフォルトの名無しさん mailto:sage [2006/12/30(土) 16:50:16 ]
ダイアログを終了する時にInitInstanceなのか?

263 名前:デフォルトの名無しさん mailto:sage [2006/12/30(土) 17:21:32 ]
ダイアログベースのMFCアプリケーションなので、ダイアログの終了=アプリ
の終了という構図です。Wizardが作ったコードそのままですけど、下記のような
雰囲気です。
BOOL MyDialogApp::InitInstance()
{
  いろいろ初期化

  CMyDialogDlg dlg;
  m_pMainWnd = &dlg;
  INT_PTR nResponse = dlg.DoModal();
  if (nResponse == IDOK)
    ;

  else if (nResponse == IDCANCEL)
    ;

  return FALSE;
}

264 名前:デフォルトの名無しさん mailto:sage [2007/01/01(月) 19:01:01 ]
>>260
ヒント:
void CMainFrame::RecalcLayout(BOOL bNotify)
CWnd::RepositionBars()



265 名前:デフォルトの名無しさん mailto:sage [2007/01/03(水) 11:56:09 ]
先月からMFCを勉強し始めた者です。
以下のようにCFileDialogを使用して、ファイルの読み込み処理をつくりました。
これを、ビューの領域に表示するにはどうすればいいのでしょうか?
「void CFOpenView::OnDraw(CDC* pDC)」に処理を書けばいいと思うのですが、全然わかりません。
どなたか、教えてください。

void CFOpenDoc::OnFileRead()
{
CFileDialog CFDlg(TRUE, _T("txt"), NULL, OFN_HIDEREADONLY, _T("TEXTファイル(*.txt)|*.txt|すべてのファイル(*.*)|*.*||"));
CString String, FilePath;
CStdioFile StdFile;

if( CFDlg.DoModal() == IDOK){
FilePath = CFDlg.GetPathName();
if(StdFile.Open(FilePath,CFile::modeRead)){
StdFile.ReadString(String);
StdFile.Close();
} else {
AfxMessageBox(_T("ファイルが開けない"));
}
}
}

266 名前:デフォルトの名無しさん mailto:sage [2007/01/03(水) 12:09:43 ]
Hello, Worldと同じ
文字列を表示するだけ






[ 続きを読む ] / [ 携帯版 ]

前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