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


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

■MFC相談室 mfc20d.dll■



1 名前:デフォルトの名無しさん [2008/12/26(金) 00:43:36 ]
Microsoft Foundation Classライブラリ専用スレです。

前スレ
■MFC相談室 mfc19d.dll■
pc11.2ch.net/test/read.cgi/tech/1207301867/

281 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 21:00:50 ]
スタティックリンクしてんのか?
ダイナミックリンクに直せよ

282 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 21:19:17 ]
やだよばか

283 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 21:21:56 ]
別にサイズなんかどうだっていいような気がするけどね
でかいとなんかヤバイの?

284 名前:デフォルトの名無しさん [2009/02/01(日) 22:22:36 ]
>>283
デカくてなにかいいの?

285 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 22:27:35 ]
>>284
いや、勝手にでかくなるからさ

286 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 07:24:22 ]
>>272
ツリーの(略)とかはWPFではできるよ
ただ、C++/CLIじゃWPF使えないからC++のコードはバッサリ捨てなきゃならないけどね…

287 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 20:33:41 ]
はじめまして。
MFCのコレクションクラスにて質問があります。

MFCのコレクションクラスにCListとCByteArrayってのがあります。
これを使って、たとえば通信電文の様に可変長データをリストに置きたい場合

CList<CByteArray, &CByteArray>と書けば良いのでしょうか?
error C2955: 'CArray' : クラス テンプレート を使用するには テンプレート 引数リストが必要です
ってのが出て、どうしていいかわからないです。

有効な宣言の仕方があれば、教えていただきたいですが・・・・



288 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 21:12:11 ]
>>287
そもそも&の位置が前後逆だな。
直したところでCByteArrayはoperator=の実装が無いからやっぱり駄目だけど。
MFC的には、CList<CByteArray*>って感じにポインタで持つしかないと思う。
これ以上はSTLの出番か?全然詳しくないから答えられないけど。

289 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 22:56:09 ]
C++で扱いやすい新しいフレームワークを作って欲しいのが本音だな
.NETと住み分けて



290 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 23:11:43 ]
WTLはそれなりに使いやすいだろメッセージハンドラもIDE上で追加できるし。
EEでは古いATLになっちゃうのが難だけどMFCじゃ使えないし。
eGUI++は使ったことないから判らないがstd::stringてのが嫌だな。

291 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 08:17:48 ]
>>288
やっぱりSTLで組むしかないのですか・・・
がんばってみたいと思います。

ありがとうございます。

292 名前:デフォルトの名無しさん [2009/02/03(火) 10:26:48 ]
>>291
CByteArrayの派生クラスを定義して、そいつでoperator =を実装した上で、
CList<CMyByteArray, const &CMyByteArray>とすればいけると思う。


293 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 10:37:34 ]
つーか、STL のコンテナではなく
MFC のコレクションを使うメリットって何だろう。

294 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 16:56:07 ]
STLをリンクしなくて済む

295 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 17:52:53 ]
CObject からの派生していること


296 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 21:35:34 ]
MFCベースならMFCに統一したいっていうのはあるな

297 名前:デフォルトの名無しさん [2009/02/03(火) 23:03:50 ]
CListCtrlのアイコンモードで
ラベルを複数行表示させる方法教えてください

298 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 23:39:33 ]
エクスプローラと同じだろ

299 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 23:52:35 ]
>>298
ってことは2行までしか表示できないって事?
省略されずに複数行を表示はだめか・・・



300 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 03:09:18 ]
>>293
デバッグ実行時にアサート出してくれる、とかMFC例外クラスのスローとか
ただ統一しないとめっちゃ不便

301 名前:デフォルトの名無しさん [2009/02/04(水) 09:21:26 ]
>>297
ラベルってヘッダコントロールのテキストのこと?

302 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 09:26:35 ]
アイコンモードにヘッダコントロールはない!

303 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 13:27:48 ]
アイコンラベルのワードラップかな?

304 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 20:35:39 ]
今までEXEで作ってたのを、DLL化しようとしたけど
プロジェクト作り直すのに凄い苦労する。
なんかいい方法あるかね?

305 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 21:38:23 ]
aaa

306 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 22:24:36 ]
>>304
数個なら手で
たくさんあるならPowerShellスクリプトで設定を置換

307 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 23:26:08 ]
>>301
>>303
エクスプローラで言うとファイル名が表示されている部分です
そこに複数行の文字を表示したいと思っています
char sz[] = "AAAAAAAAAAA\nBBBBBBBBBBB\nCCCCCC\nDDDD\nEEEEE"
みたいな感じ、実際表示されるのは
AAAAAAAAAAA
BBBBBBBBBBBCCCCCC...
と表示されてしまっています
アイコンを選択するとちゃんと意図した改行位置で表示されるけど
選択していない状態でも全部ちゃんと表示したいです

308 名前:名無し募集中。。。 mailto:sage [2009/02/05(木) 00:15:42 ]
\nじゃなくて\015\012にして試してみて
と思ったけど、エクスプローラーでもファイル名が省略される場合があるから
自分で実装するしかないんじゃないかな

309 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 08:16:03 ]
>>307
アイコン間隔を変える事である程度は回避できるかもしれないが、複数行で
無制限に表示すると、左右両側のアイコンのラベルや、下側のアイコンに
テキストがかぶる。

しかも、自動改行せず、1行の文字数(ラベル領域の横幅)や行数(ラベル領域
の高さ)を無制限にすると、ラベル領域が重なるのは隣接するアイコンだけ
では済まなくなる。

表示上はそれでも済むけど、常にそういう状態で表示すると、任意のアイ
コンやラベルをマウスでクリックできなくなるから、非選択時は省略表示
するというユーザインターフェースになっているんだと思う。

CViewやCScrollViewなりから、仕様を満足する派生クラスを自分で作る
しかないね。



310 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 18:49:10 ]
2008のSP1入れてる人居たら教えてください。
SP1で初めてプログラム始めたのでSP1関係ないかもしれませんが、
テンプレートで作ったドッキングウィンドウの中にあるツールバーのボタンをコンボボックスに変えた後その中のエディット部分の文字列を
取り出すにはどうすればいいんでしょうか?

.h
CMFCToolBarComboBoxButton* m_ComboButton;

.cpp
// OnCreate
m_ComboButton = new CMFCToolBarComboBoxButton(ID_EDIT, GetCmdMgr()->GetCmdImage(ID_EDIT), CBS_DROPDOWN);
m_ToolBar.ReplaceButton(ID_BTN, *m_ComboButton);

// OnButtonClick
CString a;
a = m_ComboButton->GetText();

ヘルプにある手順と、サンプルも見て書きました。ボタンは置き換わるんですが、aが空なんです。GetEditからGetWindowなどもいろいろやりました
どうしても文字列を取得できません。お願いします!

311 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 19:10:33 ]
>>310
サンプルのだけど
CMFCToolBarComboBoxButton* pSrcCombo = NULL;
CObList listButtons;
if (CMFCToolBar::GetCommandButtons(ID_DUMMY_SELECT_ACTIVE_CONFIGURATION, listButtons) > 0)
{
for (POSITION posCombo = listButtons.GetHeadPosition(); pSrcCombo == NULL && posCombo != NULL;)
{
CMFCToolBarComboBoxButton* pCombo = DYNAMIC_DOWNCAST(CMFCToolBarComboBoxButton, listButtons.GetNext(posCombo));

if (pCombo != NULL && CMFCToolBar::IsLastCommandFromButton(pCombo))
{
pSrcCombo = pCombo;
}
}
}
if (pSrcCombo != NULL)
{
ASSERT_VALID(pSrcCombo);

LPCTSTR lpszSelItem = pSrcCombo->GetItem();
CString strSelItem = (lpszSelItem == NULL) ? _T("") : lpszSelItem;
AfxMessageBox(strSelItem);
}
else
{
AfxMessageBox(_T("Show \"Set Active Configuration\" dialog...."));
}
}

312 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 21:14:49 ]
調べてくれてありがとう。
一度LPCTSTRで取得してからCStringにしてみましたがだめでした。
コンボボックスのポインタのとり方もサンプルのように取得しましたが、だめでした。
CMFCToolBarComboBoxButtonのヘルプでGetTextは編集用のエディットのテキストを返すとあるのに
これで返ってこないのがつらいです。
MFCの常識から考えて何か根本的なところのアドバイスをお願いします!
他にツールバーに並んでるボタンはボタンのメンバで無効とかにできるので、ツールバー上のアイテムの取得は出来てると思うんです。


313 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 21:27:43 ]
>>312
アドバイスでいいのか。
ちゃんとドキュメントを読んで勉強しろ。
理解力があれば解決できるだろ。

314 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 22:01:29 ]
GetWindowTextを使えば?

315 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 22:16:45 ]
それもやったんですが、空でした。


316 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 22:20:12 ]
>>311のやり方でポインタを取得したら
GetEditCtrl()->GetWindowText
で取得できる。


317 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 22:31:50 ]
だめです。
pSrcCombo != NULL のelseの方に飛びます。
もうべた貼りしましたがだめでした。

キーでボックスに入力したあとそれを更新してメンバ変数に入れなくてはいけないんでしょうか?
GetText()の戻値がプロテクト変数を返すだけになっていたのですが、どこで入るのかがたどれません


318 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 22:43:20 ]
CMFCToolBar::IsLastCommandFromButton(pCombo)
を抜いたらいけるだろ?

319 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 22:47:01 ]
みんなSP1も結構すらすら分かってるんだな
俺は来月から久々にMFCの仕事やりそうだから、VC6レベルでさえかなり不安だ



320 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 23:17:42 ]
だめでした。
ID_DUMMY_SELECT_ACTIVE_CONFIGURATION
をID_EDITにすると
TRUEには飛びますが、
lpszSelItemが無効なポインタになります。

置き換えたボタンのポインタを取得するだけならGetButton(index)を使って
CMFCToolBarComboboxButton* m_box = (CMFCToolBarComboboxButton*)m_toolbar.GetButton(index);
CString str = m_box.GetItem();
これはどこが問題あるんでしょうか?

あと頻繁に出るんですが、ブレークポイントで、現在の設定ではヒットしません。このドキュメントのシンボルが読み込まれていません。
と出て、右クリで場所の許可で対応してるんですが、これなんですか?関係ありますか?

321 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 23:24:30 ]
もしかしてリリースビルドじゃないのか?それだとデバッグの変数モニタは出鱈目になるぞ

322 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 23:29:37 ]
リリースじゃないです。ncb消しとかクリーンも頻繁にやってるんですが、
なんどもここ挫折して後回しにして2か月ぐらいチャレンジしてるんですが、今だにTextが取得できません
取得できると教えてもらえただけでもありがとうです。なにか設定か、全然違うところが原因な気がしてきました。

323 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 23:30:19 ]
ちょっと説明が悪かったかもしれないけど、
>>311はドロップダウンリストの場合に、リストを変更した時に取得する方法。

任意のタイミングで取得する場合は、
任意なので「CMFCToolBar::IsLastCommandFromButton(pCombo)」は要らない。
よって、TRUEに飛んだら
pSrcCombo->GetEditCtrl()->GetWindowText
で取得する。


324 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 23:41:33 ]
>>308
>>309
ありがとう
時間的に厳しそうなのであきらめます
無制限に全部教示でなくても指定した行数だけは表示してくれるようになってると良かったなぁ
改行位置が結構重要なので省略された行は改行が無視されるのが痛いかった

325 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 23:49:59 ]
>>323
おーできました!ありがとうございました。感動しました。
調べてもらってすいませんでした。じっくり解析します
ありがとうございました!!!


326 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 20:12:38 ]
同僚に「CMutex, CEvent, CSemaphoreは欠陥がある」と主張してる人がいるんですが、本当でしょうか?
ググっても見付かったのは↓くらいで、裏付けに乏しいように思えるのですが。
ttp://www.flounder.com/avoid_mfc_syncrhonization.htm

327 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 22:50:36 ]
>>326
確かにそのページの主張には同意しかねるね。
CMutexについてはタイムアウトを特別視する用途以外(所有権が取得できたかどうかだけを知りたい場合)なら問題なさそうだし。
CSingleLockの再帰呼び出しはそもそも想定外の使い方だと思う。
CreateMutexの記述には待機関数を同じスレッドで繰り返し呼び出してもいいけど、
待機条件を満たす毎にReleaseMutexを呼べと書いてある。


328 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 23:00:10 ]
再帰でデッドロックするのは当たり前だろうと

329 名前:326 mailto:sage [2009/02/07(土) 23:58:47 ]
>327-328
ありがとうございます。
やはり欠陥と言うほどではないようですね。



330 名前:デフォルトの名無しさん [2009/02/08(日) 10:00:58 ]
MDIでファイルを起動時に読み込むとき、pDocTemplate->OpenDocumentFileみたいな
ことをしますが、initInstance意外の場所でするときにpDocTemplate->OpenDocumentFile
を使うとき、newとかあたりをどうやってコーディングすればいいか分からないのですが
教えてください。


331 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 10:58:25 ]
素直に CxxxApp::OpenDocumentFile() を使え

332 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 16:14:22 ]
DrawTextで文字の背景を塗りつぶすのってどうやるんですか?
DT_NOCLIPだけで出来てるところもあるのでDT_NOCLIPを付けたんですが白で塗りつぶされてしまいます。
色を指定しなくてもいいんですが、文字ボックスが出来ないようにしたいんです

333 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 16:30:44 ]
CDC::SetBkMode() で OPAQUE 指定かな?
色はCDC::SetTextColor()
文字ボックスってなんだっけ。

334 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 16:31:16 ]
// CDC::DrawText
// このメンバ関数は、テキストを描画するために、デバイス コンテキストに現在選択されているフォント、テキストの色、背景色を使います。

ちゃんとマニュアル読めよ。

CDC::SetBkColor
CDC::SetBkMode

335 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 16:32:33 ]
ああ、背景の色だったな、すまん

336 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 16:50:07 ]
そうだったBKだった思い出した
Brushだと思い込んでた
thx


337 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 18:13:27 ]
ウィンドウの関係がわかりません。
CStaticのなかにCStaticを作った時
中のCStaticにクリックメッセージを送るには,Zオーダーをどうしようが外から中にメッセージを素通りさせるコードを書かない限り
届かないんでしょうか?
塗りつぶしの順序とか考えてたらわけわからなくなって来たんですが、
どうすれば整理できて自由に子、孫などにメッセージが届くようになりますか?

338 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 18:32:58 ]
SS_NOTIFY

339 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 18:37:01 ]
スタティックは特別だったんですね。なんで他のと出来たりできなかったりとわけわかんなかったんです
ありがとうございました



340 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 19:03:40 ]
特別というか「スタティック」なんだから、本来はそういう動的な目的では使わない。
スタティック=静的。


341 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 19:08:47 ]
CWndだとパラメータとかが複雑じゃないですか
だからなんか作る時はCStaticを基本にしてるんですが、もっといいのあるんですか?

342 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 21:10:47 ]
状況がよくわからない。
パラメータが複雑で嫌気がさすほど、メインウィンドウにいくつものウィンドウがあるのか?

343 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 21:14:09 ]
スタティックコントロールもウインドウには変わりないだろ
いらないメッセージが発生しないようにデフォルトで殺してるだけで、
デフォルト以外がアブノーマルな使い方とは思わないな

344 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 21:15:02 ]
カスタムコントロールとかは?

345 名前:名無し募集中。。。 mailto:sage [2009/02/08(日) 22:40:54 ]
スタティックコントロールにIDを振れば良いじゃない

346 名前:デフォルトの名無しさん [2009/02/08(日) 22:52:27 ]
MFCってなんで、.NETみたいにポトペタ環境にしないの?
コントロールも.NETの1/10位しかないし・・・

347 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 23:17:34 ]
>コントロールも.NETの1/10位しかないし・・・

kwsk

348 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 00:35:50 ]
>>346
.netってツリーのドラッグアンドドロップとか
リストコントロールのウィンドウ枠の固定機能とかって楽にできるようになってる?
結構、客から要望くる機能で毎回作らないといけないんだけど・・・

349 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 00:52:03 ]
ウィンドウ枠の固定ってなんだ?
コンテナに貼り付けてDock指定するやつのことかな?



350 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 01:03:02 ]
>>349
エクセルを開くんだ

351 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 05:58:17 ]
SS_NOTIFYでCStaticの子どもにメッセージが届くようになりましたが
今度は子がある部分をクリックしたとき親のクリックが実行されなくなりました。
クリックした場所にある特定の全ウィンドウにクリックを送るにはどうすればいいんでしょうか

352 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 07:24:24 ]
MFCはAPIをラップしたようなコントロールしかないんだよな

353 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 10:00:45 ]
まぁそこから派生クラス作るわけだね 自作コントロール作るにはもってこいだ


354 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 10:17:48 ]
>子がある部分をクリックしたとき親のクリックが実行されなくなりました
親は「クリックされていない」からな。

クリックされた座標を含むウィンドウを列挙して、それらのウィンドウすべてにメッセージを送る関数を
自前で作るしかあるまい。

355 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 14:24:33 ]
CMFCMenuBar を使うと、例えば ファイル(F) とかの F の下にラインが引かれないんだけど、
これはどうすれば直る? 

TBSTYLE_NOPREFIX はつけていないんだけど・・・。

356 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 16:01:07 ]
>>355
当然、文字列は「ファイル(&F) 」ってやってるんだよな?

ところで、プルダウンメニューはCMenuだと思うけど、CMenuBarを使ってる
ということは、ツールバーのボタンのキャプションでアンダーバーが表示
されないってこと?

そもそもツールバーやダイアログバーに、そんな機能あったっけ?


357 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 17:38:09 ]
>>355
MFC内部で&を消して描画してるから無理。
&&Fとか&&&Fって書けば表示はされるけどAlt+Fに反応しなくなるからやはり無理。
フューチャーパックは問題だらけだから諦めろ。

358 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 17:40:08 ]
>当然、文字列は「ファイル(&F) 」ってやってるんだよな?
もちろん。

たとえば IE7 のメニューバー。あれもツールバーじゃん。そこにはアンダーバーがついてる。
他のアプリケーションでも同じ。
だけどCMFCMenuBar を使うと付かない。
Visual C++ 2008 Feature Pack のサンプル見ても付いてないんで仕様なのかなという気もするんだが、
何か見落としているよーな気もしてしっくりこないんだわ・・・。

359 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 17:41:58 ]
おっと、書いているうちに書き込みが。

>>357
やっぱ仕様ということね。ふむ。



360 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 17:45:34 ]
Feature Packなんてあるの初めて知ったわ まだベータ版なのか
でもおれのVSは2005(´・ω・`)

361 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 17:47:25 ]
と思ったら今はリリースverなのね、スマソ

362 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 17:48:00 ]
いやもうSP1に組み込まれてる。

363 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 20:19:08 ]
C++0x よりも 2008 SP1 のバグフィックスに力を入れて欲しいよな
バグがあるうちは業務で使えない

364 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 18:54:11 ]
Feature PackでCDialogBarって表示される?

俺だけなんかな?

365 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 19:04:27 ]
CPaneDialogを使えば CMFCxxxBar と連携できるのでは?

366 名前:364 mailto:sage [2009/02/10(火) 19:31:47 ]
>>365
CPaneDialogのCreateメンバで、IDを指定するのね。


おぉぉーできたwww

サンクスコ

367 名前:デフォルトの名無しさん [2009/02/11(水) 20:44:07 ]
MDIでexeのアイコンにドラッグ&ドロップをするとファイルが開けるようにしたいのですが、
CString drag_file(m_lpCmdLine);
if (drag_file != _T("")) {
pDocTemplate->OpenDocumentFile(drag_file);
}
ではファイルが見つからないというメッセージボックスが出てうまくいきません。
MessageBox(drag_file);として見ても、ちゃんとドラッグしたファイルパスが拾えてるのですが・・・
どうすればイイですか?


368 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 20:47:54 ]
ちゃんと引数飛んできてるか?

369 名前:デフォルトの名無しさん [2009/02/11(水) 21:03:37 ]
MessageBox(drag_file);で見えるのできてるハズですが・・・。



370 名前:デフォルトの名無しさん [2009/02/11(水) 21:21:37 ]
デバッグのパラメータにパスを入れたら起動してますます理解に苦しんでいるのですが、
Unicodeで開発しているのですが、文字コードのせいとかありますか?

371 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 21:46:47 ]
MessageBoxじゃなくてデバッガでデバッグしろ

372 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 21:49:21 ]
>>367
CString drag_file;
drag_file.Format( _T("\"%s\""), m_lpCmdLine);
// To Do...


373 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 21:37:19 ]
すんません質問です。
VC2005で、CRichEditCtrlをもったダイアログベースのアプリを作っております。
CRichEditCtrlにShift_JISにないような文字(「もげる」を変換したらでる漢字とか)を
入れて、GetWindowTextWでその文字をCStringに取り込むと、その文字が?になって
しまいます。これを回避する方法はありませんでしょうか?

374 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 22:20:44 ]
CStringが実はCStringAでした、ってオチは嫌だなあ。
昔と違って、今は簡単にMBCS/Unicode変換しちゃうからなあ。

375 名前:373 mailto:sage [2009/02/16(月) 22:47:35 ]
soudan1.biglobe.ne.jp/qa4140782.html
↑で解決しました。お騒がせして申し訳ありません。

376 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 00:33:49 ]
リソーススクリプト上だと、常に"RichEdit20A"で固定なのが大元の原因か。
なるほどなあ。

377 名前:デフォルトの名無しさん [2009/02/17(火) 21:49:00 ]
う〜ん、serialize中にファイルが壊れている事に気づき、
子ウィンドウを開くのをやめたい場合ってどうしてます?

378 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 23:26:50 ]
気づいたのなら開かなきゃ良い。
子ウィンドウとは何物?

379 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 07:47:41 ]
MDIのことか?



380 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 00:55:42 ]
メインウィンドウから起動するダイアログにラジオボタンを設置しました。
起動時に選択されているラジオボタンを(動的に)変更したいのですが、やり方がわかりません。

ダイアログのコンストラクタ中でSetCheckをしても、
コンパイルは通るのですが、デバック中に「Debug Assertion Failed!」
と落ちます。(まだ実体ができてない?)


381 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 01:37:19 ]
つ oninitdialog()

最近MFCやってないからあやふやだ・・・
来週からまた使うことになりそうだからリハビリせねば






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

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

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