■MFC相談室 mfc17d.dll■
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/11/21(火) 10:38:31前スレ
■MFC相談室 mfc16d.dll■
http://pc8.2ch.net/test/read.cgi/tech/1146117893/
0360デフォルトの名無しさん
2007/01/22(月) 19:00:580361デフォルトの名無しさん
2007/01/22(月) 20:54:50えー!!
そんな殺生なぁ
0363デフォルトの名無しさん
2007/01/23(火) 11:03:34AppクラスからDocumentクラスのポインタの取得方法を教えてください
よろしくお願いします。
0364デフォルトの名無しさん
2007/01/23(火) 11:12:520365デフォルトの名無しさん
2007/01/23(火) 11:13:20GetFirstDocTemplatePosition()、GetNextDocTemplate()、GetFirstDocPosition()、GetNextDoc()
あたりで。
0366363
2007/01/23(火) 11:19:24GetFirstDocPosition()、GetNextDoc()で取得できました。
ありがとうございます。
0367デフォルトの名無しさん
2007/01/25(木) 16:20:26slider.SetRange(0, 100, true);
slider.SetTicFreq(10);
slider.SetPos(0);
このようなスライダを作り、スライダで設定した値をEditBoxに表示しています。
このとき、スライダのつまみをドラッグした場合には正しい値が得られますが
クリックで設定しようとした場合が上手くいきません
例えば、70を設定しようと思って該当する目盛りのあたりをクリックすると、
70の位置には来ず、マウスボタンが押されるたびに60と80で切り替ってしまいます。
クリックでも値を設定できるようにするには、何か特殊な処理が必要なのでしょうか?
0368デフォルトの名無しさん
2007/01/25(木) 18:32:400+GetPageSize()で得られる位置に移動するのがスライダ
コントロールの仕様だと思うんですが。
仕様が気に入らないのであれば、自分で必要なイベントを拾ってSetPos()すれば良い。
0369デフォルトの名無しさん
2007/01/26(金) 01:06:48任意のテキストフィールドをフォーカスさせたい場合は
CEdit::SetFocus()を行うと実現できますが、
このとき、フォーカス対象のテキストフィールドに文字列が
入力されているとき、文字列全体を範囲選択した状態で
フォーカス移動させるにはどのような手法があるでしょうか?
イメージとしてはタブでフォーカス移動させたときのような感じです。
よろしくお願い致します。
0370369
2007/01/26(金) 01:14:49CEdit::SetFocus();
CEdit::SetSel(0,-1);
で実現できるようでした。
0371デフォルトの名無しさん
2007/01/27(土) 01:54:56英語化について教えてほしいです。
タイトルアイコンをクリックした時のシステムメニューや、
AfxMessageBoxを表示させたときのキャンセルの表示など
あらかじめ用意されている部分に日本語が表示されますが、
すべて、一切がっさいを英語にしたいと考えています。
どのような方法で英語かすることができるでしょうか?
0372デフォルトの名無しさん
2007/01/27(土) 02:56:08アプリケーションを実行するとき、デフォルトのコードページを英語に変更する。
でも、システムのバグをたたくこともあるからお勧めしない。
0373デフォルトの名無しさん
2007/01/27(土) 06:21:45OSの問題だろ
0374デフォルトの名無しさん
2007/01/27(土) 13:08:410375デフォルトの名無しさん
2007/01/27(土) 15:15:32日本語関連を全くインストールしていない、設定も悉く日本にしていない端末で、実行する。
0376デフォルトの名無しさん
2007/01/27(土) 15:21:43Visuall C++(VC6)に付属のMFCのバージョンはいくらになりますか?
0377デフォルトの名無しさん
2007/01/27(土) 15:31:000378デフォルトの名無しさん
2007/01/27(土) 17:48:04どこの知障だよ、書いたの。
0379デフォルトの名無しさん
2007/01/27(土) 18:41:44DelphiやJavaはライブラリらしい。しかも、C++はコンパイル時間が長いらしい。
0380372
2007/01/27(土) 19:01:12あと、afxMessageBoxにはユーザ拡張用の前呼び出し処理があるから、
それを横取りして自作のメッセージボックスを表示する。
とかかな。
0381デフォルトの名無しさん
2007/01/27(土) 19:01:26比べてどうなのかはわからんな。
ただ、「C++だから」ってより「色々インクルードするから」長いんだけど。
0382デフォルトの名無しさん
2007/01/27(土) 19:06:080383デフォルトの名無しさん
2007/01/27(土) 19:52:07ANSIの
unsigned char foo[64]
MFCではどの様に書いたらいいのでしょうか?
コンパイラはVC6です
0384デフォルトの名無しさん
2007/01/27(土) 20:20:340385デフォルトの名無しさん
2007/01/27(土) 20:47:58これはもちろんWikipediaに書いてはいけない。
Delphiの方にもしょうもない書き込みしてるが、
群を抜いているのなら特定のソフトウェアをあげつらう必要はなかろうに。
「中立的な観点」を欠いてしまっているのが分らないのかね。
0386デフォルトの名無しさん
2007/01/27(土) 23:24:57VC++ ネイティブのより多少計算とか遅いかもしれないけどさ、
開発が VB 並にめっちゃ楽だし、
文法は Java そっくりで習得も移行も容易だし、
全体的にスマートな印象を受けるじゃん
いい加減 VC++ 信仰は止めて欲しいんだよね
一々 Windows と UNIX(Linux) 版を作りたくねーんだよ
もうさ、時代は中間言語の時代だと思うね
頼むから、ネイティブ信仰は止めようぜ
な
0387デフォルトの名無しさん
2007/01/27(土) 23:34:26TPOで使い分けるでFAだろ。
まあその手の議論は実りがないから他でやったほうがいいな。
0388デフォルトの名無しさん
2007/01/28(日) 08:18:59なければSendMessage(WM_CLOSE);として終了するようにしているのですが
一瞬Windowが表示されてしまいます。。。
Windowを表示させずにそのまま終了する方法はないでしょうか?
0389デフォルトの名無しさん
2007/01/28(日) 08:37:300390デフォルトの名無しさん
2007/01/28(日) 10:07:30モーダルならEndDialog、モードレスならDestroyWindow。
0391デフォルトの名無しさん
2007/01/28(日) 11:06:290392デフォルトの名無しさん
2007/01/28(日) 12:29:47表示位置をそれぞれのプロパティから数値で詳細に設定できるのですが、VC6のMFCでは
そのようなプロパティに項目が見当たりません、VC6で皆さんは位置決めやサイズを
何処で設定されているのでしょうか?
0393デフォルトの名無しさん
2007/01/28(日) 13:03:170394デフォルトの名無しさん
2007/01/28(日) 13:16:13ありがとうございました!
0395デフォルトの名無しさん
2007/01/28(日) 16:34:24ウインドウサイズをマウスで自由に変更できるようにするには
どのような設定、または処理を作れば良いでしょうか?
SDI/MDIベースでないとできないですか?
0396デフォルトの名無しさん
2007/01/28(日) 16:48:030397デフォルトの名無しさん
2007/01/28(日) 17:04:26中のコントロールもそれにあわせて調整したければ、自分で書くしかない。
0398デフォルトの名無しさん
2007/01/28(日) 17:17:53お返事ありがとうございます。
サイズ可変のスタイルのつけ方は、具体的なコードイメージを教えていただけないでしょうか。
ダイアログ内部に設置したCEditのコントロールもあわせて変更するように実装します。
0399396
2007/01/28(日) 17:44:13>サイズ可変のスタイルのつけ方は、具体的なコードイメージを教えていただけないでしょうか。
MSDN嫁。リソースで定義したダイアログならリソースエディタのプロパティの該当項目をチェックするだけ。
>ダイアログ内部に設置したCEditのコントロールもあわせて変更するように実装します。
サイズ変更のメッセージハンドラを書く必要がある(勿論そこでCEditのサイズを調整する)ので、
初心者向けの解説サイトでも探して解説を読め。
0400デフォルトの名無しさん
2007/01/28(日) 18:57:22これからはMSDNみてから質問します。
CEditのほうもありがとうございました。
0401デフォルトの名無しさん
2007/01/28(日) 21:19:270402デフォルトの名無しさん
2007/01/28(日) 21:38:35VC6の場合画面の右下のステータスバーに座標とサイズが表示されてるから
それを見ながら、マウスかキーボードで配置する。
[↑↓←→]で位置の変更、[Shift]+[↑↓←→]でサイズ変更。
もしくはリソーススクリプトを直接編集する。
0403デフォルトの名無しさん
2007/01/29(月) 05:11:451.テキストエディタで.rcファイルを開く。
2.DIALOG内のCONTROL行をcsvファイルとして保存する。
3.以下省略。
0404デフォルトの名無しさん
2007/01/29(月) 05:36:570405デフォルトの名無しさん
2007/01/29(月) 06:20:100406デフォルトの名無しさん
2007/01/29(月) 15:36:03defineと日本語/英語の文字列が一気に書ける。同時に仕様書も作れて一挙両得。
defineの数値はドラッグすれば1づつ増やせるからバグもでない。
0407デフォルトの名無しさん
2007/01/30(火) 23:29:19通常 OnDestroy の中では親クラスの OnDestroy を呼んでいますが、
その親の OnDestroy の直前の部分でメモリ開放処理を行うのは良くないですか?
リストに登録されているアイテムを開放したいのですが・・・
0408デフォルトの名無しさん
2007/01/30(火) 23:50:16良くないと思う理由は?
リストってリストボックスやリストビューコントロールのこと?
0409デフォルトの名無しさん
2007/01/31(水) 00:00:58CListCtrl のことです
これに new で生成したオブジェクトを登録?しています
そのまま終了するとメモリリークが発生してしまうので、
ウィンドウが破棄される直前に開放しようと思いました
それで OnDestroy に追加することにしました
良くないと思った理由は、親クラスの OnDestroy を
呼んでいるところの下にデフォルトで「ここに追加」
的なコメントが入っているからです
0410デフォルトの名無しさん
2007/01/31(水) 00:10:13プログラムが生成→消滅→生成→消滅→・・・ってやってるか
生成→表示→非表示→表示→非表示→・・・消滅ってやってるかでタイミング違ってくるじゃん。
生成したインスタンスを消したいタイミングはいつよ?
最終的に(それがいつだかはアプリにもよるが)インスタンスを確実に消滅さしときゃ問題ねーんだしよ。
0411デフォルトの名無しさん
2007/01/31(水) 00:29:46終了時に一覧情報を保存して破棄することにしています
できるだけ綺麗な(オブジェクト指向的な)ソースコードを
書きたいので、親の OnDestroy の前が正解か後ろが正解か
が気になります
0412デフォルトの名無しさん
2007/01/31(水) 00:49:58WM_DESTROYを処理してる間は、子ウィンドウは存在している。
ttp://msdn2.microsoft.com/en-us/library/ms632620.aspx
リストビューアイテムに設定しているデータを削除するのは、LVN_DELETEITEM, LVN_DELETEALLITEMSでやるといい。
0413デフォルトの名無しさん
2007/01/31(水) 00:51:06ありがとうございます!
やってみます!
0414デフォルトの名無しさん
2007/01/31(水) 00:52:14だったらOnDestroyは関係ないんじゃない?
つか、親のOnDestroy後にCListCtrlにアクセスされたら(するのか?)死ぬじゃない。
親のデストラクタでdeleteしとけばいいんじゃね?やってみ、やってみ。やってみたら結果報告ヨロ
0415デフォルトの名無しさん
2007/01/31(水) 00:53:07個人的には、Documentで扱っているデータなら
CHogeDocument::OnCloseDocument() or OnSaveDocument()
ViewのみでやってるならCHogeView::PostNcDestroy()でやると思う。
CMainFrameにCListCtrlのデータ持たせるとViewからデータへの
アクセスが面倒じゃない?
0416デフォルトの名無しさん
2007/01/31(水) 01:08:09ありがとうございます!
いろいろと試してみます!
0417デフォルトの名無しさん
2007/01/31(水) 08:40:38closeしたらウインドウ関係ないから心配いらん
>綺麗な(オブジェクト指向的な)ソースコード
普通はデストラクタで解放
0418デフォルトの名無しさん
2007/02/01(木) 00:21:49クリック時とダブルクリック時とで処理を分けたいと思っています
しかし、ダブルクリック時には先に必ずクリックイベントが
発生してしまってうまくいきません
NM_DBLCLK の直前に NM_CLICK が発生するのを
防ぐことはできませんか?
0419デフォルトの名無しさん
2007/02/01(木) 00:53:14コントロールの身になって考えれば、ユーザーのクリックがシングルなのかダブルの1発目
なのかの判断はできない。
シングルクリック時の処理開始をしばらく待ってみる以外手はないと思う。
0420デフォルトの名無しさん
2007/02/01(木) 01:11:47レスありがとうございます
つまり、NM_DBLCLK 前には NM_CLICK が
絶対に発生してしまうということですね
何か良い手はないですかね・・・
0421デフォルトの名無しさん
2007/02/01(木) 01:20:02シングルの処理。来たらダブルの処理するだけ。
VBのサンプルではタイマー使ってるみたい。
http://support.microsoft.com/kb/109865/ja
0422デフォルトの名無しさん
2007/02/01(木) 09:45:30のショートカットだから、シングルクリックのあとにダブルクリックがきても
何も困らないんだけどな。
ダブルクリックを変なことに使おうとするからこうなる
0423デフォルトの名無しさん
2007/02/03(土) 19:33:32書籍の「標準講座MFC」って今でも役に立つでしょうか?
MFC6.0ってちょっと古いみたいですが、最新のバージョン(MFC8.0?)と
大きく違うところってあるのでしょうか
0424デフォルトの名無しさん
2007/02/03(土) 20:20:00でなければ止めとけ。
0425デフォルトの名無しさん
2007/02/03(土) 20:42:57新しいUI関連のクラスがいくつか無いだけで、基本はそんなに変わってないと思うけど。
0426デフォルトの名無しさん
2007/02/03(土) 21:18:50ソースは公開されてる
0427デフォルトの名無しさん
2007/02/03(土) 21:57:59ツールバーのボタンに文字列のみ表示したいのですが、
TBBUTTON::iBitmapにNULLを指定しただけでは
イメージ(アイコン?)のスペースの分のスペースが空き、
そこから先から文字列が描画されてしまいます。
どうすればいんでしょうか?
0428デフォルトの名無しさん
2007/02/03(土) 22:40:060429427
2007/02/03(土) 22:47:49なるほど!
CToolBar::SetSizes()の中にやり方が書いてありました。
助かったよ!ありがとう!
0430デフォルトの名無しさん
2007/02/04(日) 09:09:06どれを導入すればいいのだろう?
無料で配布されている Visual C++ 2005 Express は MFC は入ってないんですよね?
それとも、あと少し待って次のバージョンが出たときのほうがいいんでしょうかね。
0431デフォルトの名無しさん
2007/02/04(日) 09:26:03そりゃおめ、vista上で動くモン買えや。
いま、XPでなにやら揃えるのは無駄でしょ?
0432デフォルトの名無しさん
2007/02/04(日) 11:30:15「>>」を表示し、「>>」を押せば残りのメニューが表示されるようにしたいのですが、
そういったコントロールがあるのでしょうか?
どなたかヒントだけでもわかる方おられましたら教えてやって下さい。
0433デフォルトの名無しさん
2007/02/04(日) 11:39:000434デフォルトの名無しさん
2007/02/04(日) 12:05:060435432
2007/02/04(日) 12:31:54「>>」はChevronって言うんですか用語自体知りませんでした。
Chevronでぐぐればすぐにでてきました。
教えていただかなければ数日ははまるとこでした、
ありがとうございます。
0436デフォルトの名無しさん
2007/02/04(日) 14:14:260437デフォルトの名無しさん
2007/02/04(日) 22:58:24CFont オブジェクトを使い終わったら、最初にデバイス コンテキストからフォントを選択して、それから、CFont オブジェクトを削除します。
ってあるけどデストラクタで解放してくれないの?
解放しないままアプリ終了したらリソースリークするのかな?
0438デフォルトの名無しさん
2007/02/04(日) 23:01:29よばなきゃ問題ないのか???
よくわからん
0439デフォルトの名無しさん
2007/02/04(日) 23:06:49DCで直接使用しない場合は問題ないのか???
MSさんさっぱりわかりませんorz
0440デフォルトの名無しさん
2007/02/04(日) 23:19:290441デフォルトの名無しさん
2007/02/05(月) 00:11:26デバイスコンテキストに選択されたままだと解放されないと思った。
0442デフォルトの名無しさん
2007/02/05(月) 17:27:27http://www.microsoft.com/japan/msdn/columns/webteam/webteam02052001.aspx
ここを参考にしてタブではないブラウザを作成したのですがこの通りに記述しても
JAVAスクリプトで行っているブラウザのリサイズが正常に動きません。
テスト用に適当に選んだサイトですが
http://www3.ocn.ne.jp/~motiya/java/sample-4/window_choice1.htm
ここのsmall windowを押してもフレームのサイズが変更されません。
RecalcLayout等してもダメでした。メインフレームが正しくリサイズされる
方法をどなかた教えて頂けないでしょうか。
環境
VC6.0 WindowsXp SP2
0443デフォルトの名無しさん
2007/02/05(月) 20:47:25|えおか| | |
| | |
| | |
5| | |
| | |
| リッチエディット | |
| | |
| | |
10| | |
| | |
| | |
| | |
| | |
15|--------------------------|↓|
スクロールバー
こんな感じの画面を作ることになったのですが
右のスクロールバーと左の行数のコントロール?(何でもいい)で
同期をとりたいのですがどのようにしたらよいのでしょうか?
なにかヒントでもありましたらご教授をお願いいたします。
環境:VC++2005 MFC
0444デフォルトの名無しさん
2007/02/06(火) 01:38:15エディットボックスに入力したパスを CFileDialog で開く、という処理を作ってまして、
入力したパスの存在チェックを CFileFind で行っています。
ですが、C:\ や、\\hoge\ 等、ドライブのルートを指定した場合に存在を検出できず、
前回開いたフォルダがFileDialog で開かれてしまい、困っています。
どなたか良い方法をご存知でしたら、ご教授ください。
よろしくお願い致します。
0445デフォルトの名無しさん
2007/02/06(火) 02:55:00"\\"はReplaceで別の記号に置き換えるとかして、
その後で"\"が1個だけならルート
0446デフォルトの名無しさん
2007/02/06(火) 04:19:44なんか意味あんじゃね?
0447デフォルトの名無しさん
2007/02/06(火) 06:07:070448デフォルトの名無しさん
2007/02/06(火) 06:14:370449デフォルトの名無しさん
2007/02/06(火) 06:39:44ルートディレクトリが検出されないのは、内部で呼び出しているAPI側(FindFirstFile)の仕様。
CFileFindの仕様としては書かれてないかも。
FindFirstFileの説明にはルートディレクトリの属性を取得するにはGetFileAttributesを使えと書いてある。
0450デフォルトの名無しさん
2007/02/06(火) 06:42:230451デフォルトの名無しさん
2007/02/08(木) 17:40:42”ツールボックスからメニューをペタペタ”をすればいいらしい
しかし、MFCを使わなければならないことが判明
win32アプリにツールボックスからメニューをペタペタはできない
Wwindowsフォームで作るとできる
しかしForm.h、Form.resxとか変なファイルが中身見ると分けわかんなくなってるしWinmainがないぞ
C++とMFCは別物なのか!!
2005express
0452デフォルトの名無しさん
2007/02/08(木) 18:10:06それは.NET frameworkじゃね
0453デフォルトの名無しさん
2007/02/08(木) 18:12:300454デフォルトの名無しさん
2007/02/12(月) 00:31:01予定では後一週間あるので連休明けはブラックボックステストと
ロゴの作成にかかりたいのですが、VC6 MFCのリソースエディータって
しょぼいですね(^^;フリーでお勧めのリソース編集ソフト知ってたら
教えてくださいオナガイシマス
0455デフォルトの名無しさん
2007/02/12(月) 03:21:06ロゴの作成にリソースエディタってお前馬鹿じゃないのか?
0456デフォルトの名無しさん
2007/02/12(月) 08:22:500458デフォルトの名無しさん
2007/02/12(月) 10:22:31進行が進まないうちに早めに治療を受けたほうがいいよ
0459デフォルトの名無しさん
2007/02/12(月) 11:40:34教えるも何も、「画像を作る」って聞いたら藻前様は何を使うと仰るのですか?
#ふつー、画像編集ソフトを使うと思うのだが。
■ このスレッドは過去ログ倉庫に格納されています