- 1 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 18:37:47 ]
- Microsoft Foundation Classライブラリ専用スレです。
前スレ ■MFC相談室 mfc18d.dll■ pc11.2ch.net/test/read.cgi/tech/1185917008/
- 449 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 22:44:16 ]
- LoadIcon非推奨ってことは16×16のビットマップで描画したほうがよかったりするんだろうか?
アイコン使うメリットってなんだろ?
- 450 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 14:45:03 ]
- メンバのCArrayを戻り値として返したいんですけど
CArray<〜*, 〜*>& GetData() { return( m_arrData ); } だと、コンパイル時にprivateにアクセスしています。みたいなメッセージが表示されます。 (他のクラスからアクセスしてる) どのように書くのが正しいのでしょうか…
- 451 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 14:49:35 ]
- 自己解決しました…
- 452 名前:443 [2008/10/03(金) 00:29:16 ]
- 返信が遅くなってすみません。
>446-449 ということは16x16と32x32のアイコンをそれぞれロードする必要があるということでしょうか? また、16,32,48ピクセルのアイコンをそれぞれ出力するにはどうすればいいんでしょうか?
- 453 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 07:56:31 ]
- 自分でLoadImage使うって書いてるじゃない
- 454 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 09:55:19 ]
- >m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
これと同じように、 m_hSmallIcon = (HICON)::LoadImage(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDR_MAINFRAME),IMAGE_ICON,16,16,LR_DEFAULTCOLOR); とかやればよし。
- 455 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 13:28:01 ]
- >>440
GetClassName API
- 456 名前:デフォルトの名無しさん [2008/10/05(日) 12:31:57 ]
- age
- 457 名前:443 mailto:sage [2008/10/05(日) 14:32:49 ]
- >453-454
無事アイコンの使い分けが出来るようになりました。 ありがとうございました!
- 458 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 21:06:35 ]
- iniファイルをexeのところに作ろうとしてますがうまくいきません。なぜ。。。
App::InitInstance() { WCHAR dir[MAX_PATH]; ::GetModuleFileName(NULL, dir, MAX_PATH); wchar_t* pdest = wcsrchr(dir, _T('\\')); pdest[1] = '\0'; ::SetCurrentDirectory((LPCTSTR )dir); wcscat_s(dir, _T("XXX.ini")); free((void*)m_pszProfileName); m_pszProfileName = _tcsdup(dir); }
- 459 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 21:30:40 ]
- 何がうまく行ってないか不明だし、
そこまでできてたらデバッガで調べるだろ
- 460 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 21:42:49 ]
- CWinApp::SetRegistryKeyを後で呼び出していたら笑う。
デバッガでステップ実行すれば、正しいパスが渡せているかどうかは一発だな。
- 461 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 21:43:13 ]
- ところで、これはMFCになんか関係あるのか?
- 462 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 21:49:12 ]
- m_pszProfileName m_pszProfileName がMFC
- 463 名前:デフォルトの名無しさん [2008/10/11(土) 21:59:13 ]
- CStringって普通のStringじゃだめなのか?
- 464 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 22:04:39 ]
- CStringを使うのが普通
- 465 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 22:04:55 ]
- デバッガ上では dir にexeまでのパスが入っておりxxx.iniもセットされてますが
実際、ファイルは出来上がっていない。しかし、GetProfileStringでデータは取れるという状態
- 466 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 22:31:21 ]
- レジストリ使ってるわけじゃなくて?
- 467 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 22:52:14 ]
- 簡単に変更でききるようにiniついたかったんですが
- 468 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 22:56:44 ]
- >>466
コードに書いてるのは、GetProfileStringなのか? ぐぐり直したほうがいんじゃねーのか?
- 469 名前:468 mailto:sage [2008/10/11(土) 22:57:47 ]
- >>466でなくて>>465の間違い。 すまねぇ。
- 470 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 23:31:17 ]
- Win32APIの同名APIを呼んでいる可能性があるかも。
WriteProfileStringなんか引数が全く同じだし。
- 471 名前:463 mailto:sage [2008/10/11(土) 23:34:38 ]
- >>464
ありがとう><;まだ、MFCはじめたばかりなので、習ってCString使っていこうと思います><; ただ単に慣習的なもののような気がしますが。
- 472 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 23:58:42 ]
- >470 愛してる
そのまま使うとレジストリ保存だった。 正しくはWritePrivateProfileString() で最後に保存先指定でいけた
- 473 名前:472 mailto:sage [2008/10/12(日) 00:36:16 ]
- >468 も愛してるよ〜
- 474 名前:デフォルトの名無しさん mailto:sage [2008/10/12(日) 02:17:50 ]
- >>472
愛は要らんから、CWinApp側のメソッドを使ってやろうぜ。 MFCだと、普通はCWinApp派生クラスがtheAppとしてグローバルで宣言されているはず。
- 475 名前:デフォルトの名無しさん mailto:sage [2008/10/12(日) 04:27:45 ]
- ダイアログの中のCStaticコントロール上のOnMouseMoveイベントを取得したいのだけど、どうすればいいのだろうか?
だれか教えてください。
- 476 名前:デフォルトの名無しさん mailto:sage [2008/10/12(日) 04:30:12 ]
- そのCStaticをクラス化して、その中で受け取るか
ダイアログ側のクラスで、CStaticのハンドルを指定してOnMouseMoveを受け取ればいい どっちが綺麗かと言われると、ときと場合によるけど、前者の方がいいかな
- 477 名前:デフォルトの名無しさん mailto:sage [2008/10/12(日) 05:43:56 ]
- たぶんコントロールがIDC_STATICのままなんだろ
- 478 名前:デフォルトの名無しさん mailto:sage [2008/10/12(日) 12:12:43 ]
- なるほどIDC_STATICじゃ出来ないな
固有の名前をつけないと
- 479 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 08:06:30 ]
- >ダイアログ側のクラスで、CStaticのハンドルを指定してOnMouseMoveを受け取ればいい
こちらの方法をもう少し詳しく教えてもらえないだろうか。 ON_WM_MOUSEMOVE() と void CFooDlg::OnMouseMove(UINT nFlags, CPoint point) のセットで間に合うモノなんだろうか? コントロールのIDはもちろんユニークなモノを付けている。
- 480 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 10:14:38 ]
- PreTranslateMessageかなぁ
- 481 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 11:24:09 ]
- 479です。
ごめんなさい。問題解決しました。 今までクリックを検出するためにnotifyをtrueにしていたため、OnMouseMoveでは コントロール領域のMouseMoveが取得できなかっただけでした。
- 482 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 20:11:56 ]
- ID_FILE_OPENなどが選択された際、
それがメニューからか、ツールバーからか、アクセラレータからか などをコマンドハンドラ内で調べられませんか? MFC内の隠し関数とかでも構わないのですけど。 コマンドハンドラまで来てしまったら絶対に区別できないですか?
- 483 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 21:09:11 ]
- 区別する必要があったら区別できるように作ればいい。
- 484 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 21:12:19 ]
- ID_FILE_OPEN_1とかID_FILE_OPEN_2とか作って、ラッパー経由とか?w
- 485 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 21:43:28 ]
- >>482
WM_COMMANDにそういうパラメータあったはずだから調べてみなさい。
- 486 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 21:01:29 ]
- >>483-485
CWnd::GetCurrentMessage()を使って WM_COMMANDの付加情報からコマンド発生元を取れました。 ありがとうございます。
- 487 名前:デフォルトの名無しさん mailto:sage [2008/10/17(金) 17:54:12 ]
- CListCtrlレポート形式で
たくさん表示させると重いです 何か回避方法はありますか?
- 488 名前:デフォルトの名無しさん mailto:sage [2008/10/17(金) 17:57:51 ]
- 仮想リストビューとか
- 489 名前:デフォルトの名無しさん mailto:sage [2008/10/17(金) 17:59:14 ]
- こういうやつね
仮想リストコントロール ttp://msdn.microsoft.com/ja-jp/library/ye4z8x58(VS.80).aspx
- 490 名前:デフォルトの名無しさん mailto:sage [2008/10/17(金) 18:34:18 ]
- >>488-489
ありがとうございます。 心持ち軽くなったような気がするけどやっぱり重いです これって LVS_OWNERDATA で作成して 描画する文字列の部分を自分で割り当てるってことでいいんですよね。 仮想リストビュー www.hokuriku.ne.jp/ymyamada/mfc/VirtualList.htm ここも参考にしました。 やりかたまちがえてるのかな^^;
- 491 名前:デフォルトの名無しさん mailto:sage [2008/10/17(金) 18:39:04 ]
- >>490
更新すべき場所だけ更新すればOK 普通のリストだと表示部分全てに更新がかかるから重いだけ。
- 492 名前:デフォルトの名無しさん mailto:sage [2008/10/17(金) 23:49:31 ]
- ダイアログAに
ラジオボタン1 ラジオボタン2 が設置されていて、この二つのラジオボタンがグループで、 2を押したら1のチェックが外れるとします(逆もあり)。 今、2を押して、1のチェックが外れました。 ダイアログAのWindowProcにはラジオボタン1のコントロールIDで何かしらのメッセージが 飛んでくるのでしょうか? ちなみに自分で試してみたところだとどうも飛んでこないようなのです。 ではラジオボタン1のチェックが外れた!というイベントをダイアログA上でキャッチすることはできないのでしょうか?
- 493 名前:デフォルトの名無しさん mailto:sage [2008/10/18(土) 10:21:36 ]
- (コントロール変数).GetCheck(); で調べればよろし。
チェックのON/OFFを手動にすれば、チェックをつけなおす前に以前の状態を調べればチェックが外れたかどうか調べれる。
- 494 名前:デフォルトの名無しさん mailto:sage [2008/10/18(土) 10:22:25 ]
- >>492
「ラジオボタン2が押された」→「ラジオボタン1のチェックが外れた」 でいいじゃん。
- 495 名前:デフォルトの名無しさん mailto:sage [2008/10/18(土) 11:24:17 ]
- メッセージは飛んでるよ
WindowProc使った方法は知らん
- 496 名前:デフォルトの名無しさん mailto:sage [2008/10/18(土) 13:10:47 ]
- >>493
>>494 説明が足りませんでしたが事情によりチェックが外れた瞬間のイベント駆動の処理が必要なんです まだチェックオンの瞬間は、オンクリックで拾うことはできますが、 ラジオボタンの場合、他のボタンを押したときに勝手に外れるので、オンクリックでは拾えず また、SetCheck関数などで変更されたときもオンクリックでは拾えませんし悩んでます。 クリックから、関数から、などの入力方法に関わらず、とにかく「チェックが切り替わったとき」の イベントが欲しいのです… 例えばエディットボックスなら内容を変更されたときのイベントを取れるとおもうんですが、 考えてるのは「今変わった!」というのがわかる、そんなイメージです… >>495 どういったメッセージか、もしわかればヒントだけでも教えてください>< できるだけ自分で調べるつもりですので
- 497 名前:デフォルトの名無しさん mailto:sage [2008/10/18(土) 13:16:17 ]
- オンクリック→正確にはBN_CLICKEDです
- 498 名前:デフォルトの名無しさん mailto:sage [2008/10/18(土) 17:36:14 ]
- >>496
ttp://msdn.microsoft.com/en-us/library/cc678956.aspx
- 499 名前:デフォルトの名無しさん mailto:sage [2008/10/18(土) 18:11:09 ]
- >>496
>ラジオボタンの場合、他のボタンを押したときに勝手に外れるので ラジオボタンのプロパティでそういう風に設定しているからだろ。 リソースでラジオボタンをダブルクリックしたときに作られる関数で、 SetCheckする前にチェックの状態が変わったかどうか自分で調べれば解決。
- 500 名前:デフォルトの名無しさん mailto:sage [2008/10/18(土) 20:45:55 ]
- >>494と似た考え方だが
とりあえずそのグループのラジオボタンのイベントを一箇所で捕まえて 今回選択されたラジオボタンと前回で選択されたラジオボタンが異なっていたら、 「前回選択されたラジオボタンのチェックが外れた」 と考えればいいと思う。 なんとなく>>496はWindowProcとか言ってるからMFCじゃない気もするが、 MFCならON_COMMAND_RANGE使って10行も必要ないから とりあえずダメ元で試してみたら?
- 501 名前:名無し募集中。。。 mailto:sage [2008/10/18(土) 23:14:23 ]
- 話それるけどON_COMMAND_RANGEで扱うために
リソースIDを連続させるためにresource.hを編集しちゃう俺はヘタレですか?
- 502 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 03:21:49 ]
- いいんじゃない?
ID指定するとき、=つけて数値指定できるけど、面倒だもんね。
- 503 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 22:43:58 ]
- ON_COMMAND_EXを使えば、IDを引数にとるハンドラを作れるから、
リソースIDが飛び飛びでも一つのハンドラにまとめられるけど、 こっちはあまり使われないのかな。
- 504 名前:デフォルトの名無しさん mailto:sage [2008/10/21(火) 11:17:02 ]
- MFCを使う標準DLLを作成すると
CWinAppを派生したアプリケーションクラスが用意されますが、 これはDLL内の単独のスレッドというわけではないのでしょうか? OnIdle()をオーバーライドしてもコールされないのですが。
- 505 名前:デフォルトの名無しさん mailto:sage [2008/10/21(火) 18:20:07 ]
- んー、そのままだと自分のメッセージループは使わないからな。
- 506 名前:デフォルトの名無しさん [2008/10/21(火) 19:20:58 ]
- すみません。他で聞いても返事が無いのでここできかせてください。
VC6で本の通りにブラウザとかつくりました。VC6の生成するブラウザだから いまどきのWebページは開けないだろうと思っていたんですが、普通にうまくひらけました。Flushとかもです。 これは、VC6とはいえ、ブラウザエンジン?はいまどきのPCの最新のを(要するにIE7のを) 作成してくれるのでしょうか? よろしく教えてください。
- 507 名前:506 mailto:sage [2008/10/21(火) 19:34:59 ]
- 元のスレを今見たら、今日の夕方に返答がきてました。
解決したので、>>506はスルーしてください。
- 508 名前:デフォルトの名無しさん mailto:sage [2008/10/23(木) 02:18:54 ]
- SDIでグラフ描画するソフトを作ろうとしてるんですが
ViewのOnDrawで縦軸横軸を引いて その上にグラフを描画する方法がわかりません。 どなたか、わかる人教えてください。
- 509 名前:デフォルトの名無しさん mailto:sage [2008/10/23(木) 06:44:33 ]
- どこまでわかっててどこからわからないの?
- 510 名前:デフォルトの名無しさん [2008/10/23(木) 15:16:36 ]
- VC6で、_MBCSを使い、日本語と英語のプログラムを作っています。
一つのEXEで問題なく、 日本語Win上では、日本語のダイアログ、 英語Win上では、追加した英語のダイアログが表示されたのですが、 現在選択しているリソースが日本語か英語か知りたいのですが、 プログラム実行時、 英語日本語のリソース切り替え選択はどの値を見て読み替えてるのでしょうか? GetSystemDefaultLangID() 辺りは、コントロールパネルによって変化しているのは確認したのですが、 リソース読み替えとは関係ない様でした。 GetACP() , GetVersionEx()でも取得はできませんでした。 ご存知の方、ヒントだけでも御教授下さい。 よろしくお願いします。
- 511 名前:デフォルトの名無しさん mailto:sage [2008/10/23(木) 15:32:35 ]
- GetSystemDefaultUILanguageとかGetUserDefaultUILanguageあたりかね?
でも自分でFindResourceExする必要はある気がする。
- 512 名前:デフォルトの名無しさん mailto:sage [2008/10/23(木) 15:44:51 ]
- って動的に切り替えるのが目的じゃないのか
- 513 名前:デフォルトの名無しさん mailto:sage [2008/10/23(木) 16:21:45 ]
- ありがとうございます。
GetSystemDefaultUILanguage も調べていたのですが、これはVC7以降のAPIの様です。 多分ですが、 GetSystemDefaultLangIDと同様、コントロールパネルのロケールIDを返すのではないかと思います。 コントロールパネルからロケールIDは変更できるのですが、 実行時に使用されるリソースは変化ありませんでした。 現在の状態が知りたいだけですので、動的に読み替える必要は今のところありません。 どうしても・・・となれば、リソースに番号振って、プログラム中から判定するという方法もあるのですが、 Kernel32あたりで、どう判断しているのかが知れればと思った次第です。
- 514 名前:デフォルトの名無しさん mailto:sage [2008/10/23(木) 16:26:19 ]
- winnls.h インクルードして使えないか?
- 515 名前:デフォルトの名無しさん mailto:sage [2008/10/23(木) 16:29:43 ]
- そもそもAPIなのにVC7以降、とか関係ないでしょ。
インポートライブラリにもヘッダーにもないのなら作ればいいし。
- 516 名前:513 mailto:sage [2008/10/23(木) 18:13:02 ]
- >>515
karnel32.libに無いので、呼べないのかと思ってました。 karnel32.dll をLoadLibraryして呼び出すことができました。 結果、 ・日本語Win GetSystemDefaultUILanguage() = 1041 GetUserDefaultUILanguage() = 1041 ・英語Win (XP-Pro SPなし) GetSystemDefaultUILanguage() = 2011628553 GetUserDefaultUILanguage() = 1033 と、 コントロールパネルに影響されないGetSystemDefaultLangID()と同じ値が取得できました。 ただ、リソース読み替えに使われているのかは不明なのと、 英語Winで、GetSystemDefaultUILanguageが不思議な値を返してくるのですが、 とりあえずは目的を果たせそうです。 助かりました。ありがとうございました。
- 517 名前:デフォルトの名無しさん mailto:sage [2008/10/23(木) 18:18:39 ]
- その不思議な値、16進で0x77E70409だね。
下16ビット、0x0409は10進で1033だから上と下で別々に意味もってるのかも。
- 518 名前:デフォルトの名無しさん mailto:sage [2008/10/23(木) 19:16:01 ]
- GDI系のAPIの基本の話か?w
- 519 名前:513 mailto:sage [2008/10/23(木) 19:27:20 ]
- >>517
LANGIDFROMLCIDマクロを使ったところ、下位だけ抜けました。 言われるとおりのHEXで見るべきでした。 WINNT.H には、上位16bitは、Reserved、SortIDとコメントがありましたから、 Reservedは不明ですが、何か意味はありそうですね。
- 520 名前:デフォルトの名無しさん mailto:sage [2008/10/24(金) 00:46:43 ]
-
CMyDialog mydlg; if ( dlg.doModal() ){
- 521 名前:名無し募集中。。。 mailto:sage [2008/10/24(金) 13:39:41 ]
- DoModal()じゃねぇのか?
返り値はIDOKじゃないのか? そもそもmydlgじゃないdlgって何者?
- 522 名前:デフォルトの名無しさん mailto:sage [2008/10/28(火) 16:49:40 ]
- CheckBoxの表示手法について教えて下さい。
通常はプロパティのCaptionで設定されている文字を表示させておいて 途中で文字の代わりにアイコンを表示させたいと思ってます。 最初からCheckBoxにアイコンを表示させる事はできてるのですが、途中で テキストからアイコンへの変更ができません。 途中から変える事は無理なのでしょうか? HINSTANCE hInst = AfxGetInstanceHandle(); HICON h_Icon1 = (HICON)LoadImage(hInst,MAKEINTRESOURCE(IDI_ICON1),IMAGE_ICON,128,128,LR_DEFAULTCOLOR); m_Check1.SetButtonStyle(m_Check1.GetButtonStyle() | BS_ICON); m_Check1.SetIcon(h_Icon1);
- 523 名前:デフォルトの名無しさん mailto:sage [2008/10/28(火) 17:48:42 ]
- ボタンスタイルは | でつなげても意味ないぞ。
m_Check1.SetButtonStyle(BS_ICON); でもウィンドウサイズも変えないとアイコンの大きさにはならないかもな。
- 524 名前:デフォルトの名無しさん mailto:sage [2008/10/28(火) 17:53:27 ]
- つーか、チェックボックスでかつアイコンというのが無いのか
- 525 名前:デフォルトの名無しさん mailto:sage [2008/10/28(火) 19:36:32 ]
- ボタンみたいに動くものじゃないんだから
絵や文字と一体化してる必要ないし、 隣に自分で絵や文字書いても何の問題もない。
- 526 名前:デフォルトの名無しさん mailto:sage [2008/10/28(火) 19:42:59 ]
- そんなにチェックボックスにアイコン使いたいなら擬似的に実現したクラス作ればいいじゃん
- 527 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 18:07:01 ]
- 子ウィンドウとしてダイアログを利用しているのですが、
起動時、非表示にしたいのです。 CDialog dlg; dlg.Create( IDD , this ); dlg.ShowWindow( SW_HIDE ); とやっているのですが、 一瞬表示されるのです。 OnInitdialogで ShowWindow( SW_HIDE ); と記入しても。 回避できませんでした。 他に方法はありますか?
- 528 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 18:26:03 ]
- 子ウィンドウってメインじゃないってこと?
ダイアログエディタでVisibleの初期値をfalseにしてもだめかな?
- 529 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 18:35:43 ]
- >>528
いけました ありがとうございます><
- 530 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 19:08:11 ]
- MFC 9.0って、どこでダウンロードできますか?
- 531 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 19:48:43 ]
- できません。
standard以上を買ってください。
- 532 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 20:08:26 ]
- >>531
ありがとうございました。 しつこい質問で申し訳ないですが、今少し困っていることがあります。 当方 Visual C++ Express 2008 OS XP SP2 を使用していて、C++によってSQL Serverへの接続を試みています。 しかし、CDatabase db; のところで躓いてしまっています。 よく調べたところ、#include "afxdb.h" を使用する必要など があるようで、更に調べたところ、MFCが関係していると知りました。 そこで、このスレの本質に従う質問をしたいと思います。 MFC9.0が使用できないことは分かりました。 MFCのシリーズで無料で(違法ではなく、公式な方法で)使用が可能な 方法はありませんか? また、MFCがない場合 #include "afxdb.h" や CDatabase db; などは、自分で1から記述しなければならないのでしょうか? (初心者のため、バカなことかもしれませんが、ライブラリ にはないため、自分で定義しなくてはならないのでしょうか?) 長文の上、稚拙な文になってしまいましたが、躓いてしまっている ので、ご助力を加えて下されば幸いです。 よろしくお願いします。
- 533 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 20:25:42 ]
- CDatabaseを使用しないでDBにアクセスしなきゃなんないよ。
CDatabaseは C++ からODBCを介してSQL-Serverにアクセスするもので、 CDatabaseはMFCのクラスで、あなたは利用できないから、 ほかの手段を探すことになる。 ODBCの代わりにOLE-DBを使うこともできるし、 今からDBの勉強はじめるならこちらをお勧めする人が多いと思う。 "C++ OLE-DB SQL-SERVER アクセス"あたりのキーワードでぐぐればいいんじゃないかな。 というわけで、さようなら。
- 534 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 20:36:51 ]
- >>533
ご教授ありがとうございました。 貴重なお時間を割いていただき、申し訳ございませんでした。
- 535 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 02:30:04 ]
- 質問しつれいします。
vc 2005 MFCを使ってGETやPOSTでデータを送信するプログラムを作成しようと思います。 勉強になるサイトなどありませんか? 検索のヒントでもいいので宜しくお願いしまっす
- 536 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 05:29:15 ]
- つWinInet
- 537 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 18:18:14 ]
- >>535
WebProg板
- 538 名前:535 mailto:sage [2008/11/02(日) 18:19:43 ]
- >>536
ありがとうございます そのキーワードを頼りに自分なりに調べてやってみます >>537 すいません板違いでしたかー
- 539 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 18:22:36 ]
- 検索のヒントを提示しただけ。鼬害かどうかは白根。
- 540 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 19:04:18 ]
- MFCのクラスを使うんなら、使えそうなクラスぐらいすぐ見つかると思うが
MFCのクラスを使わずにやるんならスレ違い
- 541 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 19:16:10 ]
- >>540
いやぁMFCのクラスを使いたいのですが・・・ んー検討つかないんです 検索ワードだけでもヒントをぉぉぉぉぉ・・・orz
- 542 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 19:31:30 ]
- msdn.microsoft.com/ja-jp/library/173ckzza.aspx
MFC ライブラリ リファレンス インターネット クライアント アプリケーションの作成用の MFC クラス 更新 : 2007 年 11 月 MFC には、インターネット クライアント アプリケーションを作成するための以下のクラスとグローバル関数があります。
- 543 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 19:44:46 ]
- >>542
ありがとうございます!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 544 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 20:44:58 ]
- とりあえず、この辺一通り眺めといた方がいいかもね。
MFC > 階層図 msdn.microsoft.com/ja-jp/library/ws8s10w4.aspx
- 545 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 02:18:47 ]
- >>544
本当にありがとうございます・・・ 階層図・・・目から鱗です・・・
- 546 名前:デフォルトの名無しさん mailto:sage [2008/11/11(火) 10:30:14 ]
- xp sp2 VS2005
CString GetString(void) { CString strTemp; strTemp = "1234"; return strTemp; } void Main(void) { CString strHoge; CString strValue; strValue = GetString(); strHoge.Format("%08s", (LPCTSTR)strValue); strValue = GetString(); strHoge.Format("%s%08s", (LPCTSTR)strHoge, (LPCTSTR)strValue); // 以下略 } という感じの処理をするとFormatで落ちてしまうのですが、 何故なのでしょうか? あと CString でイメージ検索するとエr
- 547 名前:デフォルトの名無しさん mailto:sage [2008/11/11(火) 10:51:26 ]
- >>546
CStringT::Format -------- 文字列オブジェクト自体をパラメータとして Format に渡すと、呼び出しは失敗します。たとえば、次のコードの結果は保証されません。 CAtlString str = "Some Data"; str.Format("%s%d", str, 123); --------
- 548 名前:デフォルトの名無しさん mailto:sage [2008/11/11(火) 11:08:54 ]
- >>547
その下に ---------- オプションの引数として文字列を渡すときは、LPCTSTR に明示的にキャストしてください。 書式は、printf 関数の書式引数と同じ機能を持っています。(書式や引数の説明は、 『ランタイム ライブラリ リファレンス』の「printf」を参照してください)。 書き込まれる文字列の終わりには NULL 文字が追加されます。 ---------- とあったのですが、これはそもそも>>546の中でいう strValue のことであって、 自身を引数に指定するのはキャストしようが何しようがダメってことなんですよね?
- 549 名前:デフォルトの名無しさん mailto:sage [2008/11/11(火) 11:36:26 ]
- >>548
ttp://msdn.microsoft.com/ja-jp/library/18he3sk6(VS.80).aspx のほうには書いてないけど、 その説明は「キャストすれば自分自身を渡せるよ」ということでは無いと思う。 CStringTに書いてないということは昔はそういう制限でもあったのか、 それとも「CString::operator intなどを追加するかもしれないから、 LPCTSTRも明示的にキャストして渡しておけ」という意味じゃないだろうか。
|

|