MFC相談室 mfc22d.dll
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2011/09/15(木) 18:52:27.68■MFC相談室 mfc21d.dll■
http://hibari.2ch.net/test/read.cgi/tech/1250919279/l50
■MFC リファレンス■
http://msdn.microsoft.com/ja-jp/library/d06h2x6e(v=VS.100).aspx
0002デフォルトの名無しさん
2011/09/15(木) 19:41:23.34http://goo.gl/PQkAC
0003デフォルトの名無しさん
2011/09/15(木) 19:46:09.28まぁこれでもいけるんですけどね
そろそろしつこいから消えますねノシ
0004デフォルトの名無しさん
2011/09/18(日) 00:38:47.20DLL 側でグローバル変数をこのように定義しています
__declspec(dllexport) extern CString hoge[4];
EXE 側でその変数をこのように定義しています
__declspec(dllimport) CString hoge[4];
ビルドすると下記の警告が出てしまいます、そして実行すると、
「xxx.exe の 0x00fa807b でハンドルされていない例外が発生しました: 0xC0000005: 場所 0xfffffff4 を読み込み中にアクセス違反が発生しました。」
経験的に、このエラーの場合アクセスバイオレーションの可能性が高いと思うのですが
グローバル変数のインポート、エクスポートの仕方は間違っていないでしょうか?
警告の内容:
warning C4273: 'hoge' : dll リンクが一貫していません。
'hoge' の前の定義を確認してください
0005デフォルトの名無しさん
2011/09/18(日) 02:02:09.56日本語を勉強して理解できるようになったら、該当するエラーコードをドキュメントで調べる。
それができたら、該当エラーを修正する。
馬鹿は氏ね。
0006デフォルトの名無しさん
2011/09/18(日) 14:17:26.200007デフォルトの名無しさん
2011/09/18(日) 14:30:02.010008デフォルトの名無しさん
2011/09/18(日) 21:00:35.58使える。
VisualStudio2010持ってないなら評価版落として試してみるといいよ。
0009名無し募集中。。。
2011/09/18(日) 21:48:03.420010デフォルトの名無しさん
2011/09/18(日) 21:55:11.75使えないのはEEだろ、馬鹿が
0011名無し募集中。。。
2011/09/18(日) 22:35:13.950012デフォルトの名無しさん
2011/09/19(月) 00:15:03.37MFCが使えないののはEEのほうじゃないのか
0013デフォルトの名無しさん
2011/09/19(月) 00:45:09.34直前のレスすら読まない、おまえが一番使えない
0014デフォルトの名無しさん
2011/09/19(月) 23:14:37.520015デフォルトの名無しさん
2011/09/21(水) 19:55:08.93バカは黙れ
0016デフォルトの名無しさん
2011/10/14(金) 12:31:49.04ツリービューの方は表示できたのですが、リストビューが上手く表示できません。
Insertcolumnにてカラムを追加して、戻り値は正常なのですが、
追加後にgetcolumnすると戻り値がfalseになっている状態です。
解決方法んを教えていただけないでしょうか?
0017デフォルトの名無しさん
2011/10/14(金) 14:24:24.830018デフォルトの名無しさん
2011/10/14(金) 18:59:00.790019デフォルトの名無しさん
2011/10/14(金) 19:57:48.56ソースがなくて申し訳ないです。
下記のページ丸写しと考えて下さい。
http://www.g-ishihara.com/mfc_sd_03.htm
現状として、新しくプロジェクトを作成したときは上手くできたのですが、
分割ウインドウにしたらできませんでした。
0020デフォルトの名無しさん
2011/10/14(金) 20:15:36.37ちまちまエラーの確認する位ならさっさと例外投げろや糞が、とか思ってしまった。
というか、GetColumnの呼び出しがそのページのどこにも無い件について。
0021デフォルトの名無しさん
2011/10/14(金) 20:32:17.56ソースの変更はそこのみです。
0022デフォルトの名無しさん
2011/10/14(金) 20:38:48.49フラグもそのままに呼び出した、と。
0023デフォルトの名無しさん
2011/10/14(金) 22:18:32.03でも文字列を設定すれば必要ないのではないのですか?
0024デフォルトの名無しさん
2011/10/15(土) 07:49:33.26デバッグ環境だと0xCCで埋められているだろうから、
-858993460文字にでもなってるんじゃねw
0025デフォルトの名無しさん
2011/10/15(土) 13:46:25.74じゃあ新しくプロジェクトを作成して出来たのは
たまたまだったと言うことですね。
0026デフォルトの名無しさん
2011/11/22(火) 07:49:51.88VS2005で作ったダイアログベースのプログラムなんですが、
プログラム起動時に表示されるダイアログから新しい別の
ダイアログをDoModal()で表示させる際に、元のダイアログを
ShowWindow(SW_HIDE)で非表示にしています。
しかしこのプログラムをWindows7上で実行した場合、たとえ
ShowWindow(SW_HIDE)でいったんは非表示にできたとしても、
タスクバー上のプログラム名をクリックしたりした場合などに、
非表示にしたはずのダイアログが表示されてしまいます。
これを防いで非表示のままにする方法について、、あるいは、
システムがこのようにダイアログを勝手に表示させようとする
時にプログラム側で呼び出されているハンドらか何かについて、
お教えいただけないでしょうか。
0027デフォルトの名無しさん
2011/11/22(火) 09:28:42.547での動作は知らないけれど、
親を隠した状態で子をモーダルで出したいということであれば、
自分はよくSetWindowRgn()を使ってる。
SetWindowRgn(CreateRectRgn(0, 0, 0, 0), TRUE);
別のダイアログ.DoModal();
SetWindowRgn(NULL, TRUE);
0028デフォルトの名無しさん
2011/11/22(火) 20:29:25.73その方法でできました。Windows7でも問題なく非表示を維持
できるようです。ありがとうございました。
関連して新しい質問なのですが、現在のダイアログから別の
ダイアログをDoModal()で表示したとき、その拡張スタイルに
WS_EX_APPWINDOWが指定されていれば、タスクバー上に
新しいダイアログのボタンが表示されるので、それを押して
最小化することができますが、しかし同時にタスクバー上の
ボタンが元ダイアログと新ダイアログとで別々に2つ表示されて
しまいます。
逆に、新ダイアログについてWS_EX_APPWINDOWの指定が
外れていれば、タスクバー上のボタンは元ダイアログのもの
1つだけしか表示されませんが、そのボタンを押しても最小化
することができなくなります。
タスクバー上のボタンを1つだけ表示させて、かつそのボタンを
押すことで新しいダイアログを最小化できる方法は無いでしょうか?
ModifyStyleExで元のダイアログのほうからWS_EX_APPWINDOWを
取り除くことも試してみましたが、うまく機能しませんでした。
0029デフォルトの名無しさん
2011/11/23(水) 16:09:42.12サイズを固定にすることってできますか?
CFrameWndExに固定サイズのダイアログバーが付けれれば他の
方法でも良いのですが。
0030デフォルトの名無しさん
2011/11/29(火) 22:05:50.67最小化したときにタスクバーをクリックしても
元のサイズに戻らなくなってしまう不具合が出てしまって
現在対処中です
元のサイズに戻すイベントがどれかわからずまったく修正のしようがない状態です
0031デフォルトの名無しさん
2011/11/29(火) 22:09:57.46// 元のサイズに戻す
AfxGetMainWnd()->PostMessage(WM_SYSCOMMAND, SC_RESTORE);
こんなコードがヒットしたので「RESTORE」でプロジェクトを検索したところ何もヒットしませんでした。
0032デフォルトの名無しさん
2011/11/30(水) 10:14:45.400033デフォルトの名無しさん
2011/11/30(水) 19:07:21.63WM_SIZEのwParam見れ
0034デフォルトの名無しさん
2011/12/01(木) 07:55:06.52その書式指定の部分だけを抽出した部分文字列を得る良い方法ってありますか?
自分でも、'%'が出てこないかFindして出てきた位置の次に最初に'd'や's'が出てくる位置を
それぞれ見つけてきて、その位置の間の長さが最も短くなる部分文字列を取ればいい、
というアルゴリズムは思いつきますが、書式指定子('d'や's')をきちんと網羅できてないと
バグの原因になるのではないかと思い、もしかすると同じコードを今後も流用する可能性が
あることを考えると、より安全確実に実施できる方法が関数として既に用意されているなら
それを利用したいと考えています。
何か良い方法があればご教授ください。
0035デフォルトの名無しさん
2011/12/01(木) 08:18:17.34何が問題なのか意味不明
0036デフォルトの名無しさん
2011/12/01(木) 08:37:22.030037デフォルトの名無しさん
2011/12/01(木) 09:44:49.41なんでそこだけを抽出したいの?
全ての書式指定子を網羅的に扱いたいならprintf()(の下請け)がやっている筈の構文解析をやるしかなくなるけど。
例えば、"%2$*1$lld"みたいなものも扱うのかって問題もあるし。
0038デフォルトの名無しさん
2011/12/02(金) 07:54:32.78書式指定を含む文字列に引数を代入する場合、単に代入するだけじゃなくて
変換もかかるので、その引数が代入された後にどういう部分文字列になる
のかを見たい、というのが目的で、具体的には、書式指定を含む任意の
文字列とそこに代入されるべき可変個数引数が与えられた時に各引数の
代入された後の姿(部分文字列)をCStringArrayに格納したい、というのが
直接的にやりたいことです。そのために元の文字列の書式四手が現れる
位置(とその個数)を予め知っておきたい、ということです。
0039デフォルトの名無しさん
2011/12/02(金) 10:23:41.35解析すればよろし
0040デフォルトの名無しさん
2011/12/02(金) 10:29:15.05なんだかよく判らんが、変換前と変換後を比較すればいいんじゃないのか?
0041デフォルトの名無しさん
2011/12/02(金) 12:49:55.30変換前と変換後が一緒だったら検出出来ないし
"%s"が"%s"に置き換わったら無理
0042デフォルトの名無しさん
2011/12/02(金) 20:32:49.53見てみたところ crt/src/output.c と crt/src/input.c に記述されている
_output と _input という関数が、それぞれprintf系とscanf系の実体の
ようで、いずれも愚直に1文字ずつポインタをずらし値をチェックしていき
書式指定を抽出しようとする泥臭い処理になってました。
ここのチェックの処理が関数として独立してくれていればそれを利用して
コードを書くこともできるんですが、現時点では残念ながらこれらの処理を
まるまるコピペして使うしかなさそうです。
0043デフォルトの名無しさん
2011/12/06(火) 13:35:24.63MFCアプリでOnPaintで描画をしている以下の2つのケースで
ケースAの方だけ描画がされなくなります。
処理はちゃんと走っているのに
最初はちゃんとひょうじされているのに
回数を重ねるとまったく表示されなくなります。
いったいなぜなんでしょうか?同じプログラムに見えるのに。。。
ケースA
for(i = 0;i < 30;i++)
{
pFont = (CFont *)dc.SelectObject(&font);
dc.DrawText(...略);
dc.SelectObject(pFont);
}
ケースB
pFont = (CFont *)dc.SelectObject(&font);
for(i = 0;i < 30;i++)
{
dc.DrawText(...略);
}
dc.SelectObject(pFont);
0044デフォルトの名無しさん
2011/12/06(火) 14:30:52.310046デフォルトの名無しさん
2011/12/06(火) 15:20:57.90フォントオブジェクトの寿命。
0047デフォルトの名無しさん
2011/12/06(火) 15:41:56.43>回数を重ねるとまったく表示されなくなります。
GDIオブジェクトのリークが怪しい
0048デフォルトの名無しさん
2011/12/06(火) 22:01:26.55なんか、そこだけじゃなくて、その外側に問題がありそうな希ガス。
0049デフォルトの名無しさん
2011/12/08(木) 13:53:05.97再現させるプロジェクトの作成は簡単。
1.MFCアプリをダイアログベースで新規作成。
2.ダイアログにButton1を載せる。
3.そのButton1を右クリックで、「イベントハンドラの追加」→BN_SETFOCUSを選んで、「追加して編集」。
4.OnBnSetfocusButton1()ができるので、そこにMessageBoxでも書いておく。
これで実行するとダイアログ上には、OK、キャンセル、Button1の3つのボタンがあり、
タブキーでフォーカスを移動していってButton1がフォーカスされても、OnBnSetfocusButton1()の中の処理が実行されない。
これは明らかなバグだよね?
このバグはCButtonだけで、CEditの場合はうまくいくんだ。
0051デフォルトの名無しさん
2011/12/08(木) 14:07:58.82おお!
感謝します!
0053デフォルトの名無しさん
2011/12/08(木) 14:15:17.590054デフォルトの名無しさん
2011/12/19(月) 11:26:22.88ロケールを動的に変更する方法ってありますか?
例えばAfxMessageBox("・・・", MB_YESNO)を実行した際のダイアログ上の
ボタン表示を「Yes/No」だったり「はい/いいえ」だったりと変更したいのですが。
0055デフォルトの名無しさん
2011/12/19(月) 13:48:02.54Createでも指定させるなら、このコンストラクタは無意味ですよね?
0056デフォルトの名無しさん
2011/12/19(月) 19:08:09.09下記のコードを記述し、WindowsXP及びWindows7で同様のファイルを指定したところ
XPでは正常に動作しますが、7ではファイルを開くことができません。
どなたか原因が分かる方いらっしゃいましたらご教授お願いします。
If(!file.open(fn, CFile::modeRead|CFile::typeBinary)) return FALSE
0057デフォルトの名無しさん
2011/12/19(月) 19:36:20.030058デフォルトの名無しさん
2011/12/19(月) 19:40:10.03モードレスダイアログの場合は、
引数無しのコンストラクタを使う決まりになっている。
0059デフォルトの名無しさん
2011/12/19(月) 19:54:52.76ご返信ありがとうございます。
CFileExceptionの値は2になっており、どうやらファイルが存在しないというエラーのようです。
具体的には、フォルダダイアログからファイルを選択しているにも関わらず、m_strFileNameのフォルダ名部分が書き変わらないようなのです。
当該現象はXPでは発生しておりません。
なぜWindows7でのみ発生するのでしょうか。
使用環境は両OS共にVisual Studio2008です。
何か心当たりがある方、宜しくお願いします。
0060デフォルトの名無しさん
2011/12/19(月) 20:40:25.63m_strFileNameって何?
ファイル名はCFileDialog::GetPathName()で取得したの?
0061デフォルトの名無しさん
2011/12/20(火) 09:13:40.83ということは、ダイアログクラスを新規に作った際に勝手に用意される
「CWnd* pParent = NULL」のコンストラクタは、
モードレスダイアログとして使うクラスのときには、
消してしまって構わないということですよね。
0062デフォルトの名無しさん
2012/01/05(木) 05:47:42.07これは、リソースのID(IDD_HOGE)が指定されています。
ダイアログリソースの中には、IDOK IDCANCEL IDC_HOGELIST(List Control) の3つがあります
変数の追加にて、IDC_HOGELISTに関しては m_listCtrl を指定しました。
CHogeDialog dialog(this);
// この辺りに、 dialog.m_listCtrl.InsertItem のようなことをしたいのですが、
// これだと Debug Assertion Failed! と言われてしまいます。
dialog.DoModal();
ダイアログを表示する前にIDC_HOGELISTにアクセスしたり内容を追加するにはどうすればいいでしょうか?
よろしくお願いします。
0063デフォルトの名無しさん
2012/01/05(木) 06:20:14.11モーダルダイアログとして使う以上、コントロールが作られるのはDoModalのタイミング。
アクセサ経由等でメンバ変数に予め内容を入れておいて、
WM_INITDIALOGのタイミングで生成されたコントロールにセットするのが一般的かと。
006462
2012/01/06(金) 01:36:10.66動かない理由、納得しました。
クラスに独自の変数を持たせて、
クラスの内部からWM_INITDIALOG時にそのデータを反映させることで対応しようと思います。
適切な助言、どうもありがとうございました。
0065デフォルトの名無しさん
2012/01/09(月) 16:36:04.05他はいじらずにCMainFrameにて、OnCreateの末端辺りにDragAcceptFiles();を追加して、
デバッグ時にファイルをアプリケーションにドラッグ&ドロップした時に
Debug Assertion Failed!と表示されて落ちてしまいます。
その時には、下のような記述があります。
File: f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\appui.cpp Line:88
ドラッグドロップに対応したいのに、エラーで落ちてしまっています。
このエラーの対処法ご存じでしたら教えてください。
0066デフォルトの名無しさん
2012/01/09(月) 17:45:26.51Document-Viewを使わないで生成するとそうなるみたいだな。
既定の流れだとDocument-Viewありきな作りみたいだから、
自前のWM_DROPFILESハンドラを書くのが一番手っ取り早い。
今回は偶々直ぐ判ったけど、VSのバージョンやウィザードでの設定で
生成されるコードが大分変わるから、次からは質問時に一緒に書いておいた方が良いよ。
0067デフォルトの名無しさん
2012/01/09(月) 17:54:50.47現状での不具合のようなものなのですね。
OnDropFiles(HDROP hDropInfo)にて、
CFrameWndEx::OnDropFiles(hDropInfo); を呼ぶ代わりに
DragFinish(hDropInfo); を呼ぶことで対処したいと思います。
それと、次回から環境を書くようにします。
どうもありがとうございました。
0068デフォルトの名無しさん
2012/01/10(火) 09:07:42.76落ちているのではなく、アサートに引っかかっているのだから、
画面に書かれているように「再試行」を押せば一発で原因がわかるよ。
0069デフォルトの名無しさん
2012/01/13(金) 08:22:36.58研究室で使うように作ったのですが他に足した方が良い所とかありますか?
あと、年間を通して1つのCVCデータで管理したいのですが、どうやったらいいですか?
VC2005でXPを使用しています。
"shine90271.zip [施錠中] よろしく"って書いてあるのです。
DLKey:0309
URL:http://up.shinetworks.net/cgi-bin/snup/upload.html
個人情報とか大学名とかはスルーして貰えると嬉しいです。
0070デフォルトの名無しさん
2012/01/13(金) 08:33:19.280071デフォルトの名無しさん
2012/01/13(金) 23:52:29.00一画面に色々機能を詰め込みすぎだ。入退出と管理の画面を分けよう。
名簿リストとか入退室記録は、起動・終了時に決まったファイルに読み書きすれば十分じゃないか?
本当の所はコードを一から書き直したい、というか.NETに移植してしまいたい位だけどw
0072デフォルトの名無しさん
2012/01/16(月) 14:44:28.17Excelファイルとかどうやったら読めますか?
シートの中のデータ読みたいんですがむりですか?
MFCは2008を使ってます
0073デフォルトの名無しさん
2012/01/16(月) 14:52:45.200074デフォルトの名無しさん
2012/01/16(月) 16:46:31.18MFCでできますか?
0075デフォルトの名無しさん
2012/01/16(月) 16:52:34.69MFCのボタンにBitmapを貼り付けるにはどうすれば
いいのでしょうか?Iconはうまく行ったのですがBitmapだとうまく行きませんでした。
したいこと。リソースからBitmapをボタンの中央に張りつける。
できなかったコード:
[ヘッダ]
public:
HBITMAP m_hBmp;
[cpp]
m_hBmp = (HBITMAP)::LoadBitmap( AfxGetApp()->m_hInstance,
MAKEINTRESOURCE(IDB_BITMAP1) );
cBtnRec.SetBitmap(m_hBmp);
0076デフォルトの名無しさん
2012/01/16(月) 17:18:47.23それ使うかソース見ればいい
0077デフォルトの名無しさん
2012/01/16(月) 19:30:54.43http://msdn.microsoft.com/ja-jp/library/fe06teee(v=VS.90).aspx
ここら辺を参考にすれば良いよ。
「Excel MFC」で検索した方が手っ取り早いとは思うけど。
0078デフォルトの名無しさん
2012/01/19(木) 11:49:11.63ModifyStyle(WS_CAPTION,0);を呼んでタイトルバーを削除してるんですが。
この状態でウィンドウを最大化すると、
全画面表示のような状態になってしまいます
(タスクバーの領域までウィンドウが拡大される)。
通常の最大化状態にするポイントなどご存知でしたら教えてください。
よろしくお願いします。
0079デフォルトの名無しさん
2012/01/19(木) 12:37:44.41OnGetMinMaxInfo()で出来ないかな?
0080デフォルトの名無しさん
2012/01/19(木) 13:39:53.76早速の返信ありがとうございます。
WM_GETMINMAXINFOというメッセージがあったんですね。
Mから始まるメッセージで探してたので盲点でした。
ちょっと試行錯誤してみます。
0081デフォルトの名無しさん
2012/01/19(木) 16:41:21.31void CMainFrame::OnGetMinMaxInfo(MINMAXINFO* lpMMI)
{
CRect workArea;
::SystemParametersInfo( SPI_GETWORKAREA, 0, &workArea, 0 );
const int BORDER_WIDTH = 3;//境界線の幅
lpMMI->ptMaxSize.x = workArea.Width() + BORDER_WIDTH*2;
lpMMI->ptMaxSize.y = workArea.Height() + BORDER_WIDTH*2;
CFrameWnd::OnGetMinMaxInfo(lpMMI);
}
でもセカンダリモニタだとうまくいかないんですよね。
そもそもセカンダリモニタだとlpMMI->ptMaxSizeの設定が効いてこないんですよね。。。
lpMMI->ptMaxSize.x = 100;とか直接値を指定すると効くみたいなんですけど。
0082デフォルトの名無しさん
2012/01/19(木) 16:44:04.31void CMainFrame::OnGetMinMaxInfo(MINMAXINFO* lpMMI)
{
CRect windowRect;
GetWindowRect( windowRect );
HMONITOR h = ::MonitorFromPoint( windowRect.TopLeft(), MONITOR_DEFAULTTONEAREST );
MONITORINFO info;
info.cbSize = sizeof( MONITORINFO );
::GetMonitorInfo( h, &info );
CRect workArea = info.rcWork;
const int BORDER_WIDTH = 3;//境界線の幅
lpMMI->ptMaxSize.x = workArea.Width() + BORDER_WIDTH*2;
lpMMI->ptMaxSize.y = workArea.Height() + BORDER_WIDTH*2;
CFrameWnd::OnGetMinMaxInfo(lpMMI);
}
セカンダリモニタのワークエリアを取得して設定もしてみたんですけど、
lpMMI->ptMaxSizeの設定がそもそも効いてこないんですよね。
何か気づいた点がありましたらご指摘いただきたいと思います。
0083デフォルトの名無しさん
2012/01/19(木) 23:11:07.58lpMMI->ptMaxTrackSize.x = workArea.Width() + BORDER_WIDTH*2;
lpMMI->ptMaxTrackSize.y = workArea.Height() + BORDER_WIDTH*2;
気持ち的には、ptMaxSizeの方に設定して動いてほしいんですけど、
とりあえずゴリゴリ書いてけば動きそうです。
やりたいことに対して処理が若干複雑な気もしますが、こんなもんですかね〜w
0084デフォルトの名無しさん
2012/01/26(木) 21:13:32.62CRect::PtInRect()って右辺上と下辺上の点は内部とみなされないんですけど、どうしてこういう仕様なんですかね?
自分的には右辺上も下辺上も内部とみなしてくれた方が使い易いんですけど。
何か合理的な理由ってありそうですか?
0085デフォルトの名無しさん
2012/01/26(木) 23:49:43.56RECTは基本的に右端と下端を含まない範囲を表しているから。
辺の差がそのまま幅や高さになるから、案外こっちの方が便利。
0086デフォルトの名無しさん
2012/01/27(金) 00:19:11.01CRect r( 0, 0, 100, 100 );だと実際は101ピクセルずつですけど
r.Size();するとサイズは100ずつですもんね。。。
配列のサイズと、有効インデックスと同じような考え方かなぁ?
でも、実際にFrameRect();とかすると右端と下端も描画されるしなぁ
(実はここが引っ掛かりポイントかな。実際に描画されてるのに内部と判定されない。)
やっぱり、それなりに理由は有りそうですけど、まだすっきり理解できてこないなぁ
0087デフォルトの名無しさん
2012/01/27(金) 01:08:25.33FrameRect();は右端と下端を描画していないようです
これで全部辻褄が合ってるのかなぁ?
もうちょっと自分で考えを整理してみます。
0088デフォルトの名無しさん
2012/01/27(金) 01:48:50.51一人で書き込んでばかりですみませんがw
問題点というか、混乱してた原因が、
CRect::PtInRect()ではなくてCRect::BottomRight()で
混乱してたことが分かりました。
RECTの仕様としては、右端・下端を含まないのが正しそうですね。
それで、
CRect::TopLeft()は、RECT内の有効な点として使えるのに、
CRect::BottomRight()は、RECT内に含まれない右下の点を返すので、
これを使ってちょっと色々やってたので混乱してしまったようです。
お騒がせしました。
でも、RECTの仕様もすっきり分かってきたので良かったです。
ありがとうございました。
0089デフォルトの名無しさん
2012/01/30(月) 19:48:17.360090デフォルトの名無しさん
2012/01/30(月) 20:50:18.20POINT二つ分とかにはできなくなるが、そもそもそれがおかしいわけで
0091デフォルトの名無しさん
2012/02/02(木) 00:38:27.77MSDNではIsDirectoryなどの属性を調べるメンバはすべて
FindNextFileを少なくとも1回は呼んでから使えと書いてあるんですが、
これって一番目のファイル(FindFirstFileで検索したファイル)は属性を調べられないってことでしょうか?
実際に試すとそんなことも無いような気がしておりまして、
とても気になっております。
0092デフォルトの名無しさん
2012/02/02(木) 08:00:00.06CFileFind.FindFileは、内部的には一番目のファイル情報を取得しているけど、
実は、次のCFileFind.FindNextFileを呼び出した時に、その情報が参照できるように細工してある。
詳しくはMFCのソースを見たほうが早いかと。
0093デフォルトの名無しさん
2012/02/02(木) 12:42:51.76ソース見てみました。難しくてなんとなく分かった程度ですが
なんでこんな仕様になってるんだろう?と思いましたが、
ひとつ解決してすっきりしました。ありがとうございました。
0094デフォルトの名無しさん
2012/03/18(日) 10:46:30.07MSDN 方法 : リソースを追加または削除する
http://msdn.microsoft.com/ja-jp/library/3bka19x4.aspx
参考にリソースのインポートを行うのですができません。
リソースビュー→Toolbar→右クリック→リソースの追加→インポート→予めエクスポートしておいたbmp ファイルを選択
Bitmap ファイルが表示されます。
その後、当該bmpファイルとIDを関連付けて、リソースビューのToolbarタブの配下に登録したいのですが、どうすればいいのでしょうか?
また、やり方が間違っているならば、正しいリソースのインポート方法を教えて下さい。
0095デフォルトの名無しさん
2012/03/18(日) 15:51:20.64MDI にダイアログをモードレスダイアログを追加しました
ドキュメントクラスのデータをダイアログで使いたいのですが、
CxxxDoc* pDoc = dynamic_cast<CxxxDoc*>(((CFrameWnd* )AfxGetMainWnd())->GetActiveDocument());
これだと、pDocがNULL で取得できません、どうしたらいいでしょうか。
0096デフォルトの名無しさん
2012/03/18(日) 15:52:11.11○MDI にモードレスダイアログを追加しました
0097営利利用に関するLR審議中@詳細は自治スレへ
2012/03/29(木) 14:47:04.16もう見ていないかもしれんが、呼ぶ場所による。
メインのフレームウィンドウが生成されていな時点で、AfxGetMainWnd()
を呼ぶとNULLが返されるし、SDIと違ってMDIの場合は何もドキュメントを
開いていなければやっぱりNULLが返される。
前者は、例えばモーダレスダイアログ(CMyDialog)のインスタンスが、アプリ
ケーションクラス(CMyApp)のメンバとして定義して、CMyDialogのコンスト
ラクタ内では、まだドキュメントは開かれていないので、ポインタは取得
できない。(NULLが返される)
あと、MDIだと、AfxGetMainWnd()のキャストは(CFrameWnd *)ではなく、
(CMDIFrameWnd *)でなければならない。
0098営利利用に関するLR審議中@詳細は自治スレへ
2012/04/01(日) 18:08:57.77教えてください。
------------------------------------
// エディットボックス構築
CWnd* pEdit = new CEdit();
pEdit->Create(ES_LEFT| WS_VISIBLE | WS_BORDER, rect, this, IDC_EDIT5);
// エディットボックス削除
delete pEdit;
------------------------------------
0099営利利用に関するLR審議中@詳細は自治スレへ
2012/04/01(日) 22:51:37.64勉強する価値はありますか?
0100営利利用に関するLR審議中@詳細は自治スレへ
2012/04/01(日) 23:42:16.84CWndが仮想デストラクタになっているから問題無い。
>>99
勉強しなくて良い。
0101営利利用に関するLR審議中@詳細は自治スレへ
2012/04/02(月) 07:00:07.96さすがにぜってー意味ねぇと思うわ
C#+.netやれ
0102営利利用に関するLR審議中@詳細は自治スレへ
2012/04/02(月) 19:37:51.08先輩まじですか。
マネージで安泰ということでよろしいか?
0103営利利用に関するLR審議中@詳細は自治スレへ
2012/04/02(月) 19:57:45.530104営利利用に関するLR審議中@詳細は自治スレへ
2012/04/02(月) 20:52:08.46津波のシミュレートってテレビでよくやってるじゃないですか。
あーいうのがやりたいんですよ。
ということは、C#でも十分可能ということなんですよね?
0105営利利用に関するLR審議中@詳細は自治スレへ
2012/04/03(火) 08:23:16.23まず物理に詳しくて、それをパソコンで計算する手法を知っていることかな
その辺の知識があれば関連書籍やサンプルプログラム見つかるだろうし
そこで使ってるプログラミング言語を選ぶのが楽
0106営利利用に関するLR審議中@詳細は自治スレへ
2012/04/05(木) 01:15:53.42組み込み系でもない限り使う機会って少ないんじゃないかな?
ちなみに私は組み込み系。有り難く使わせてもらってる。
津波のシミュレートとかだと、計算方法とかをしっかり知ることかな。
そしてその結果を出力していくだけだろうからMFCは関係ない。
何かUIを付けていくんだったら、MFC使うなりC#使うなり
そのとき考えればいい。
0107営利利用に関するLR審議中@詳細は自治スレへ
2012/04/05(木) 11:21:06.88それ、組み込み系って言うか、組み込みの支援ツールとかだろww
できの悪いシミュレータでも作っているんだろwww
0108営利利用に関するLR審議中@詳細は自治スレへ
2012/04/05(木) 18:44:01.031つのアプリケーションの中で複数のダイアログやウィンドウの間で遷移させたくて次のような実装を考えています。
BOOL CMyApp::InitInstanse(){
〜中略〜
int nUI = 0;
while(1){
switch(nUI){
case 0:
CMyDialog dlg;
dlg.DoModal();
nUI = dlg0.m_nNextUI;
break;
case 1:
CMyFrameWnd* pwnd = new CMyFrameWnd;
if( (pwnd->LoadFrame(〜) == FALSE) || (pwnd->AddDocTemplate == FALSE) ){
delete pwnd;
nUI = -1;
}
else{
pwnd->ShowWindow(SW_SHOW);
nUI = pwnd->m_nNextUI;
}
break;
default:
return FALSE;
break;
}
}
}
でもCWnd::ShowWindowはCDialog::DoModalのようにUIが閉じられるまで待ってくれないから
このようなコードでは正常に動作しないんですよね。本来はInitInstanseをreturn TRUEで出て
メッセージポンプ開始させるのが普通ですが、InitInstanseを出ずに使う方法は無いですか?
0109営利利用に関するLR審議中@詳細は自治スレへ
2012/04/05(木) 19:46:48.01やりたいことを具体的に書いた方がいいよ。でないと、
どうしてもInitInstance()から出たくないなら、中でメッセージポンプを実装すればいいとしか。
普通に状態フラグみたいなもので作業フェーズを管理すればいいだけだと思うんだけどね。
0110営利利用に関するLR審議中@詳細は自治スレへ
2012/04/05(木) 20:27:42.10あるダイアログ上である特定のUI操作をしたら、そのダイアログが消えて別の
ダイアログ/ウィンドウが新たに表示される、というような画面遷移がいくつか
必要なアプリケーションにおいて、アプリケーション上で生きているダイアログ
やウィンドウを常に1個だけにしたい(使わないダイアログやウィンドウを隠す
のではなく使い終わったものは順次デコンストラクトしてしまいたい)、というの
がやりたいことです。
0111営利利用に関するLR審議中@詳細は自治スレへ
2012/04/05(木) 20:31:34.33自分が困っているのは、>>108のようにInitiInstanseの中からウィンドウを呼ぶ実装だと、
モーダルダイアログと違って、ウィンドウが閉じられるまでプロセスをそこで待たせるのが
難しいので、もっと簡単に>>110を満たす実装ができないだろうか、というところです。
0112営利利用に関するLR審議中@詳細は自治スレへ
2012/04/05(木) 21:03:37.10case 1:のところでは見えないダイアログをDoModalで出しておいて、
そのダイアログから別スレッドを作ってCMyFrameWndを出して、
ダイアログがタイマーで定期的にスレッドの終了を見張って、
終了していたらダイアログ自身もEndDialog
というようなやりかたならやったことがある。
0113営利利用に関するLR審議中@詳細は自治スレへ
2012/04/05(木) 23:32:26.46その方法だと、タスクバー上に、ダイアログのぶんとウィンドウのぶん、
2つのタイトルボタンが現れてしまいませんか?
0114営利利用に関するLR審議中@詳細は自治スレへ
2012/04/06(金) 04:42:02.62横レスだけど、WinCEは企業じゃ現役だと思うよ
あと、POSとか、大き目の組込みじゃ普通にXPが載ってたりする
0115営利利用に関するLR審議中@詳細は自治スレへ
2012/04/06(金) 06:56:48.26Blenderでできるよ。動画もあったはず。
0116営利利用に関するLR審議中@詳細は自治スレへ
2012/04/06(金) 20:50:59.12そこはWS_EX_TOOLWINDOWを指定するなり、
ダイアログをサイズ0ではなく非表示にするなり、
自身のアプリの動きに合った方法を探ってもらうしか。
自分の場合は、ランチャのようなものがあって、
そこからダイアログやCMyFrameWndをモーダルで出す仕組みだったので、
LoadFrameに渡す親ウィンドウを前述の見えないダイアログにして、
タスクバーに新たに出てこないようにした。
この方法だとCMyFrameWnd自体のタスクバーへの最小化ができないけど、
モーダルダイアログと同じようになればよかったので、最小化は不可にした。
0117営利利用に関するLR審議中@詳細は自治スレへ
2012/04/10(火) 21:13:49.42BOOL CMyFrameWnd::OpenAndHide(CWnd* pwndParent, BOOL* pbIsDestroyed)
{
// LoadFrameの引数の親ウィンドウへのポインタにはpwndParentを渡さずNULLにしておく
if( (pwndParent == NULL) || (LoadFrame(〜) == FALSE) || AddDocTemplate(〜) == FALSE) ) return FALSE;
// pwndParentを消す
pwndParent->ShowWindow(SW_HIDE);
LONG lExStyleOfParent = m_lExStyleOfParent = ::GetWindowLong(pwndParent->m_hWnd, GWL_EXSTYLE);
lExStyleOfParent &= (~WS_EX_APPWINDOW);
lExStyleOfParent |= WS_EX_TOOLWINDOW;
::SetWindowLong(pwndParent->m_hWnd, GWL_EXSTYLE, lExStyleOfParent);
::SetWindowPos(pwndParent->m_hWnd, NULL, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED);
::SetWindowRgn(pwndParent->m_hWnd, CreateRectRgn(0, 0, 0, 0), TRUE);
// ポインタをメンバ変数に記録
m_pwndParent = pwndParent;
if(pbIsDestroyed != NULL){
m_pbIsDestroyed = pbIsDestroyed;
(*m_pbIsDestroyed) = FALSE;
}
ShowWindow(SW_SHOW);
return TRUE;
}
void CMyFrameWnd::OnDestroy()
{
if(m_pbIsDestroyed != NULL) (*m_pbIsDestroyed) = TRUE;
else{
::SetWindowLong(m_pwndParent->m_hWnd, GWL_EXSTYLE, m_lExStyleOfParent);
::SetWindowPos(m_pwndParent->m_hWnd, NULL, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED);
::SetWindowRgn(m_pwndParent->m_hWnd, NULL, TRUE);
}
CWnd::OnDestroy();
}
0118営利利用に関するLR審議中@詳細は自治スレへ
2012/04/10(火) 21:15:54.90BOOL CMyDialogForWindow::OnInitDialog()
{
if(CDialog::OnInitDialog() == FALSE) return FALSE;
CMyFrameWnd* pwnd = new CMyFrameWnd;
if(pwnd->OpenAndHide(this, m_bIsDestroyed) == FALSE){
delete pwnd;
OnCancel();
return FALSE;
}
pwnd->ShowWindow(SW_SHOW);
SetTimer(m_nTimerID, 500);
return TRUE;
}
void CMyDialogForWindow::OnTimer(UINT nIDEvent)
{
if(m_bIsDestroyed == TRUE){
KillTimer(m_nTimerID);
OnOK();
}
CDialog::OnTimer(nIDEvent);
}
これで、>>108のcase 1:の中で、CMyDialogForWindowのインスタンスを作ってDoModal()すれば
(CMyDialogForWindowが自動的に隠れ)CMyFrameWndだけを開いているような状態になるはずです。
>>116さんのようにランチャ的なダイアログから開きたい場合には、上のダイアログ側コードを削除して
void CMyDialogForWindow::OnButtonOpenWindow()
{
CMyFrameWnd* pwnd = new CMyFrameWnd;
if(pwnd->OpenAndHide(this, NULL) == FALSE) delete pwnd;
else pwnd->ShowWindow(SW_SHOW);
}
を加えれば、うまく動作するはずです。
0119営利利用に関するLR審議中@詳細は自治スレへ
2012/04/10(火) 21:28:20.95CMyFrameWnd::OpenAndHideおよびCMyFrameWnd::OnDestroyの中において、
CWinApp::m_pMainWndを移譲する処理を書いておく必要があります。
CMyFrameWnd::OpenAndHideでは
m_pwndOld = AfxGetApp()->m_pMainWnd;
AfxGetApp()->m_pMainWnd = this;
を
CMyFrameWnd::OnDestroyでは
AfxGetApp()->m_pMainWnd = m_pwndOld;
を
それぞれ適当な場所に書いてください。
いろいろとご助言ありがとうございました。
0120デフォルトの名無しさん
2012/04/11(水) 20:41:32.54CMyFrameWndを別スレッドにしなくても大丈夫だった?
昔>>112を作ったときは、
MFCのフレームウィンドウのコマンドUI処理やドッキング処理は
InitInstanceを抜けた後のアイドル時に行うような前提で、
ダイアログベースのアプリケーションのメインスレッドからだと
CMyFrameWndでそのあたりがうまく動かなかったので、
わざわざ別スレッドを経由するするようにしたんだけど。
0121デフォルトの名無しさん
2012/04/13(金) 16:44:19.01しかし、このクラスにはメモリリークのバグがあるみたいなので
別の方法(CDatabaseを使わない)でOracleにアクセスしたいのですが
そんな方法があるんでしょうか?教えてください。
0122デフォルトの名無しさん
2012/04/13(金) 17:12:53.36ADOかなー。
バージョンによってはoo4oのほうがいいかな
0123デフォルトの名無しさん
2012/04/16(月) 08:14:51.44ADOでやってみます
oo4oは64bitで使えないらしく残念です
0124デフォルトの名無しさん
2012/04/17(火) 00:54:50.49SQLを書いたファイルをsqlplusに食わせて、それをファイルにリダイレクトするバッチファイルを作る。
で、"cmd /c バッチファイル"をsystem関数で実行する。
というダサいプログラムを見たことがある。
0125デフォルトの名無しさん
2012/04/17(火) 13:19:50.060126デフォルトの名無しさん
2012/04/19(木) 00:50:24.86安貞しちゃっていいの?
しちゃうよ?
本当にいいの?
0127デフォルトの名無しさん
2012/04/24(火) 02:17:02.680128デフォルトの名無しさん
2012/05/01(火) 01:21:14.89質問があります
計測データをグラフ表示したい場合
どのような方法が考えられますか?
なんでもいいのでおしえてください
0129デフォルトの名無しさん
2012/05/01(火) 12:41:20.69買ったコントロールのヘルプを読めばいい
・自分で全部描く
ViewのOnDraw又はOnPaint
CDCクラス
CPenクラス
CBrushクラス
あたりを調べて勉強する
理解出来たらオーナー描画を勉強する
0130デフォルトの名無しさん
2012/05/01(火) 13:23:06.10市販のグラフコントロール買うのが一番良いよ。
ただ、それが10万とかすると「高いから自分でコード書け」とかいう馬鹿上司がいたりするんだよなぁ。
0131デフォルトの名無しさん
2012/05/01(火) 14:57:14.85一週間グラフを作るのに費やしたらそれだけで10万円だよな。
とは言え、我が社ではgnuplotでやっているが。
0132デフォルトの名無しさん
2012/05/01(火) 15:24:49.15それ、メンテナンス工数が入ってないよ。
0133デフォルトの名無しさん
2012/05/01(火) 23:45:28.860134デフォルトの名無しさん
2012/05/02(水) 07:53:50.61とは限らないのが難しい所だけどな。
MFC使い慣れてるオッサンに仕事を押し付けるのが手っ取り早い。
……MFC以外を検討するのが最善策な気もするけどw
0135デフォルトの名無しさん
2012/05/03(木) 00:07:29.16シェアウェアとして個人でwwwに公開する場合ならいろいろあるけど。
0136デフォルトの名無しさん
2012/05/04(金) 20:02:08.50いざ計算すると止まってしまい困っています
どうやらユーザ定義関数の階乗を計算する関数が
動作していないことが原因みたいです
C++の要領でメイン関数の上に置いたのはマズかった
のでしょうか?アドバイスおねがいします
0137デフォルトの名無しさん
2012/05/04(金) 22:02:41.130138デフォルトの名無しさん
2012/05/05(土) 04:02:33.96どのように直せばいいですか?
方法が分からず困っています
0139デフォルトの名無しさん
2012/05/05(土) 05:13:56.420140デフォルトの名無しさん
2012/05/05(土) 19:46:33.66宿題は自分でやれよ、馬鹿が
それとも、聞ける友達すらいないのか
0141デフォルトの名無しさん
2012/05/06(日) 01:05:34.85すみません
たしかに友達が少ないのは事実ですが
なんとかなりそうです
激励ありがとうございます!
0142デフォルトの名無しさん
2012/05/09(水) 18:32:22.87人月単価40万円なんてありえない
それって、個人の給料と勘違いしていない?
工数は8000〜10000円/1H位で見積もるよ
0143デフォルトの名無しさん
2012/05/09(水) 19:04:15.66ちなみに、独立系のソフトハウスで80-120万、大手SIerで120-200万円だ。
0144デフォルトの名無しさん
2012/06/09(土) 18:39:41.26MFCと.NETだと、どちらをマスターしたほうがいいですか?
0145デフォルトの名無しさん
2012/06/09(土) 21:00:41.38.netなんて適当な本読んで、2,3日もすれば完全にマスターできる。
必要になったときにやればいい。
0146デフォルトの名無しさん
2012/06/09(土) 22:38:58.81>>145 は空気を読んでいる
そして死神が漏れを呼んでいる
0147デフォルトの名無しさん
2012/06/10(日) 08:44:58.860148デフォルトの名無しさん
2012/06/10(日) 20:14:15.57追加したダイアログのメニューバーを無効(灰色表記)にするのはどうすればいいですか?
0149デフォルトの名無しさん
2012/06/11(月) 12:48:21.30http://support.microsoft.com/kb/242577/ja
0150デフォルトの名無しさん
2012/06/13(水) 22:47:19.74そこでまずttp://www.yoshibaworks.com/ayacy/inasoft/wpt/ulw.htmlを参考に
UpdateLayeredWindowを使って吹き出し型のウィンドウを作るところまでは出来ました。
しかしそれに対してエディットボックスを貼り付けてみたところ見事に表示されませんでした。
レイヤードウィンドウにコントロールを貼り付けることはできないのでしょうか
0151デフォルトの名無しさん
2012/06/13(水) 22:57:27.400152デフォルトの名無しさん
2012/06/13(水) 23:00:05.36おお、ホントですか。
何かサンプルになるようなものはありませんか
0153デフォルトの名無しさん
2012/06/13(水) 23:19:45.710154デフォルトの名無しさん
2012/06/13(水) 23:26:20.02CDialogを継承したものをUpdateLayeredWindowで消すってことでしょうか
今すでにその状態なんですけど
0155デフォルトの名無しさん
2012/06/14(木) 00:16:39.690156デフォルトの名無しさん
2012/06/15(金) 08:50:49.04ソース貼れ
0157デフォルトの名無しさん
2012/06/23(土) 16:15:42.110158デフォルトの名無しさん
2012/06/23(土) 16:35:33.830159デフォルトの名無しさん
2012/06/23(土) 16:55:29.93VC+++MFCは未だにポトペタできないのはなんで?
0160デフォルトの名無しさん
2012/06/23(土) 17:12:52.770161デフォルトの名無しさん
2012/06/23(土) 17:51:39.46それだと、ショボイコントロールしかポトペタできないじゃん
0162デフォルトの名無しさん
2012/06/23(土) 20:20:33.320163デフォルトの名無しさん
2012/06/23(土) 20:28:00.17Excelを使え。
0164デフォルトの名無しさん
2012/06/23(土) 23:00:03.40MFC、超進化してんじゃん
MFC新規作成から、完了ボタン一発ですげーGUIできた。
C#が生産性が高いなんて過去の話か???
0165デフォルトの名無しさん
2012/06/23(土) 23:02:51.16ExcelだとC+が使えないので…
0166デフォルトの名無しさん
2012/06/24(日) 00:47:25.78単に馬鹿な回答者がいればそれでいい。
0167デフォルトの名無しさん
2012/06/24(日) 04:33:37.16ではヒントだけでいいので
0168デフォルトの名無しさん
2012/06/24(日) 23:10:31.51CXxxxView ファイル名 XxxxView.h , XxxxView.cpp
を
CYyyyView ファイル名 YyyyView.h , YyyyView.cpp
としたいのです。
0169デフォルトの名無しさん
2012/06/24(日) 23:22:14.920170デフォルトの名無しさん
2012/06/24(日) 23:29:27.860171デフォルトの名無しさん
2012/06/24(日) 23:43:25.78「これ出来ないとお金払いませんよ、
あなたの生活がどうなろうと私には関係有りませんし。」
と言うとみんなちゃんと新しい技術をマスターしてくる。
努力しないってっことは努力する必要が無いからなんだと思う。
追い詰められていないんだろうね。
幸せなんじゃないか?
どうでもいいけど。
0173デフォルトの名無しさん
2012/06/25(月) 01:48:50.20若手や中堅がイノベーションを生み出す新しいアイデアを出す時
立ちはだかるのがジジイどもの支配する「会議」という壁だ
・ジジイどもに理解できる企画でなくてはならない
・ジジイどもの好みに合う企画でなければならない
・既に成功した事例がなくてはならない
・ジジイどもに気に入られている人物が提案者でなくてはならない
・ジジイどもに気に入れられていない人物が関わっていてはならない
・ジジイどもの支援が不要な企画でなくてはならない
・にもかかわらずジジイどもにも活躍の場を与えねばならない
・ジジイどもの気まぐれな口出しにいつでも応じなければならない
・失敗してもジジイどもが責任をとらなくてよい企画でなくてはならない
・成功したらジジイどもの業績になる企画でなくてはならない
若い頃は前世代のおかげで繁栄したくせに、自分らの時代には経済を衰退させ
そのツケを後世代に回す団塊ジジイ、バブルジジイどもが日本の病巣
0174デフォルトの名無しさん
2012/06/25(月) 07:13:17.150175デフォルトの名無しさん
2012/06/25(月) 14:12:20.490176デフォルトの名無しさん
2012/06/25(月) 14:49:34.120177デフォルトの名無しさん
2012/06/27(水) 00:53:22.04Windowsの仕組み、Win32API、C++の言語仕様を熟知していればMFCは3日で覚えられる。
0178デフォルトの名無しさん
2012/06/27(水) 09:56:55.46Windowsの仕組み、Win32API、C++の言語仕様を熟知するのにどれくらいかかりますか?
0179デフォルトの名無しさん
2012/06/27(水) 11:45:01.77基本的なOSの仕組み、Cの言語仕様を熟知していれば一週間くらい。
0180デフォルトの名無しさん
2012/06/27(水) 12:08:16.93ってどんだけ浅い理解だよ
0181デフォルトの名無しさん
2012/06/27(水) 18:39:59.86無理だな。
最低でも一ヶ月はかかる。
0182デフォルトの名無しさん
2012/06/27(水) 22:40:47.45APIについては最低でも、猫でもわかるくらいの知識が必要。
0183デフォルトの名無しさん
2012/06/27(水) 23:20:38.3015、16年程度Windowsでドライバやアプリケーションを書いてきたが
AdvancedWindows,やInside Windowsを読むのは相当キツイぞ
未だに全部頭に入ってるわけではない
0184デフォルトの名無しさん
2012/06/28(木) 09:02:21.53一週間とか一ヶ月とか言ってる奴はネタで言ってるか
単なる馬鹿のどっちか
0185デフォルトの名無しさん
2012/06/28(木) 23:56:54.15linuxなんかは、ソース読めば全体がくまなくわかるがな
0186デフォルトの名無しさん
2012/06/29(金) 10:00:04.34じゃあソースがあれば一週間で熟知出来るの?
お前天才だろ
0187デフォルトの名無しさん
2012/06/29(金) 18:51:54.55仕事に支障ないレベルまで習得できた状態までなら、一ヶ月でなんとか行くと思うよ。
(実例は俺)
ただし、その前にOSの仕組みやらC++やらは理解しておく必要があるが。
0188デフォルトの名無しさん
2012/06/29(金) 19:16:03.680189デフォルトの名無しさん
2012/06/29(金) 19:30:03.23ああ、違うよ。
悪かったな。
0190デフォルトの名無しさん
2012/06/29(金) 23:40:01.55まあ兎に角、取り敢えずは、一週間だな
それでで大体はワカルもんだ
0191デフォルトの名無しさん
2012/07/02(月) 23:55:53.29何故か値が消えて0になってしまいます
解決策をおしえてください
0192デフォルトの名無しさん
2012/07/03(火) 00:41:09.740193デフォルトの名無しさん
2012/07/03(火) 01:43:02.81さっそくみてみます!
0194デフォルトの名無しさん
2012/07/03(火) 19:14:29.85リストビュー内のリストコントロールで各行ごとに異なる背景色を与えるとき、
LVS_EX_CHECKBOXESで表示させたチェックボックスの背景はどうやれば
変更できますか?
0195デフォルトの名無しさん
2012/07/11(水) 20:53:15.43フォーム上にコンボボックス(IDC_COMBO1)を配置して、
コンボボックスのプロパティを次のように設定しました。
Data: アメリカ;ドイツ;日本;インド
Sort: False
Type: ドロップダウン リスト
これをビルド・実行して、[▼]ボタンを押すと(1)のようになり、(2)のようにずらーっと選択肢が出ません。
(2)のようにするには、どうすればいいでしょうか?
よろしくお願いします。
-----------
| |▼|
-----------
↓ 右の[▼]ボタンを押すと
(1)リストのうち、要素が1個でるだけで、右端のアップダウンボタン[〓]を押して1個ずつ切り換え
-----------
| |▼|
-----------
|アメリカ |〓|
-----------
(2)
-----------
| |▼|
-----------
|アメリカ |
|ドイツ |
|日本 |
|インド |
---------
0196デフォルトの名無しさん
2012/07/11(水) 21:15:48.35ドロップダウンする部分のサイズをリサイズする。
(2)XPのビジュアルスタイルを指定している場合は、
プロパティのNo Integral HeightをTrueにする。
0198デフォルトの名無しさん
2012/07/13(金) 23:55:35.80枠線が描かれますが、この枠線を 赤の太線にほしいとの客先要望
どのコントロールにフォーカスがあるかをわかりやすくするためだと・・・
できますか?
できませんとお答えしたら、「いやいや、できなってことはないでしょ?」
の一点張り・・・
なにか良いアイデアはありませんか>¥?
0199デフォルトの名無しさん
2012/07/14(土) 02:21:05.92フォーカス時にMoveTo,LineToで線引いてやるとか?
莫大なコード書いて実現しても
「やっぱりできるんじゃん!サボろうとして安易にできないとか言うなよ」
とか言われたりして
まあ入力欄だったら背景色を変えるとかで手打ちしてもらったほうが
0200デフォルトの名無しさん
2012/07/15(日) 17:25:55.110201デフォルトの名無しさん
2012/07/15(日) 17:31:18.72何万も出すかよ
0202デフォルトの名無しさん
2012/07/15(日) 17:38:53.40http://sourceforge.net/projects/owlnext/
0203デフォルトの名無しさん
2012/07/15(日) 17:42:38.33ライブラリは質より、どこが提供しているかが一番大事なんだぞ
MFCは糞だが、MSっての最強の強み
0204デフォルトの名無しさん
2012/07/15(日) 17:43:06.690205片山博文MZボット ◆0lBZNi.Q7evd
2012/07/15(日) 20:33:56.18最前面拡張スタイルの独立したポップアップウィンドウをSetWindowRgnでくりぬく。
フォーカスを監視してフォーカスのあるコントロールに位置とサイズを合わせる。
0206デフォルトの名無しさん
2012/07/17(火) 18:04:52.520207デフォルトの名無しさん
2012/07/21(土) 06:09:51.480208デフォルトの名無しさん
2012/07/22(日) 19:13:10.832つのOnTimer( CWnd1::OnTimer と CWnd2::OnTimer)から
同一の関数( func )を呼び出す制御をしていた場合、
関数( func )が2重に呼び出される事はあるのでしょうか?
※以下処理で g_ctr が 2になる可能性はありますでしょうか?
----------------------------------------------
CWnd1::OnTimer( UINT_PTR nIDEvent ) // 10ms間隔のタイマー
{
func();
}
CWnd2::OnTimer( UINT_PTR nIDEvent ) // 20ms間隔のタイマー
{
func();
}
int g_ctr = 0;
void func()
{
g_ctr ++;
// 色々な処理
g_ctr --;
}
----------------------------------------------
0209デフォルトの名無しさん
2012/07/22(日) 19:19:51.17是非とも、実際にやってみて結果を報告して欲しい。
通常は、「ある」ものとして設計するけどな。
0210デフォルトの名無しさん
2012/07/22(日) 20:32:43.47どうすればいいのかしらん?
0211デフォルトの名無しさん
2012/07/22(日) 21:00:48.42OnTimer(=WM_TIMER)はメッセージベースなので、
GetMessage/DispatchMessageとか内部で呼び出さなければOK。
逆にMessageBoxとか出すと、再入するのが確認できるよ。
これらはタイマが一つだろうと二つ以上だろうと当てはまる。
0212デフォルトの名無しさん
2012/07/22(日) 22:07:26.792つ(CWnd1 , CWnd2)は異なるウィンドウですが、同じメッセージループを回っているのでしょうか?
0213デフォルトの名無しさん
2012/07/22(日) 22:12:52.77しねよ
0214デフォルトの名無しさん
2012/07/22(日) 23:00:15.70だって >>211 がおかしな事言うから・・。
しねよ は>>211に言ってよ
0215デフォルトの名無しさん
2012/07/22(日) 23:50:15.850216デフォルトの名無しさん
2012/07/23(月) 01:12:58.66同じUIスレッドのウィンドウなら同じ。
AfxBeginThreadとかで作った、別のUIスレッドのウィンドウとかなら別だけど。
0217デフォルトの名無しさん
2012/07/23(月) 07:31:49.85マイクロソフトは何か対策を練ったりしてないの?
過去の遺産に先進機能を盛った所で相変わらず繁雑なままという印象なのだけれど
0218デフォルトの名無しさん
2012/07/23(月) 07:57:02.22MFCが使われなくても特に困らないんじゃないか?
他に生産性の高いライブラリがあるなら、どうぞそちらをお使いください、
ってスタンスかと。
0219デフォルトの名無しさん
2012/07/23(月) 08:37:47.73具体的にどのへんが先進機能?
0220デフォルトの名無しさん
2012/07/23(月) 18:08:39.83外部には無いでしょ?
0221デフォルトの名無しさん
2012/07/23(月) 18:53:04.01ウィザードに従っていけば、デフォルトですごいカッコいいGUIが出来あるがるぞ
まさかVC++6とかつかってないか?
2008以降はGUIだけならC#より生産性は高い
0222デフォルトの名無しさん
2012/07/23(月) 19:05:27.830223デフォルトの名無しさん
2012/07/23(月) 19:08:35.74ウィザードで大抵の機能が完結するならいいけど
機能を追加する場合にも実際には色々と手作業でしかも複数箇所に渡って変更部分を追記する以外ないわけで
間違いなく生産性の面で言えば現代のプログラミング技術から数歩遅れた所に居ると思う
0224デフォルトの名無しさん
2012/07/23(月) 19:25:25.710225デフォルトの名無しさん
2012/07/23(月) 19:34:31.05整備しなかったマイクロソフトの怠慢じゃないの
0226デフォルトの名無しさん
2012/07/23(月) 19:37:47.48本来ならここは改善されるべき所
0227デフォルトの名無しさん
2012/07/23(月) 20:03:36.09使い方も簡単
0228デフォルトの名無しさん
2012/07/23(月) 20:54:17.01組み合わせられれば最強だが
全体的に見るとあまりよろしくない
0229デフォルトの名無しさん
2012/07/23(月) 21:22:08.10Qt とか wxWidgets とかおすすめ
0230デフォルトの名無しさん
2012/07/26(木) 11:01:06.28ある時に自動で1つめのボタンを押す動作をプログラムで起こしたいのですが
CButtonのSetCheck(1)とするとボタンはへこむのですが
ボタンを押した時のハンドラは呼ばれません
これを呼ばれるようにするにはSetCheckじゃなく何を呼べばいいんでしょうか?
VC2003を使っています。OSはXP
0231デフォルトの名無しさん
2012/07/26(木) 11:42:28.74「ボタンを押した時のハンドラ」
0232デフォルトの名無しさん
2012/07/26(木) 11:48:31.40if(button1.GetCheck()==1)
button1のハンドラ();
if(button2.GetCheck()==1)
button2のハンドラ();
if(button3.GetCheck()==1)
button3のハンドラ();
button1.SetCheck(1)に対して自動でハンドラを呼ばせたいのですが無理ですか?
0233デフォルトの名無しさん
2012/07/26(木) 12:30:09.30なんで? >230にはGetCheck()の結果でハンドラを呼びたいなんて書いてなかったのに後出し?
つーか、動作のシミュレーションをしたいのならボタンの座標を使ってメッセージ送ればいいじゃん。
0234デフォルトの名無しさん
2012/07/26(木) 15:34:45.000235デフォルトの名無しさん
2012/07/26(木) 21:32:46.97左クリックでメニューだしてますが以下の構造でポップアップのMeasuredItem処理が分かりません
メニュートップ
−メニュー1(ポップアップ)
−サブメニュー(文字列)
−サブメニュー(文字列)
−メニュー2(ポップアップ)
−サブメニュー(文字列)
−サブメニュー(文字列)
−メニュー3(文字列)
ポップアップになってるとこはCMenuの派生クラスでMeasuredItemが呼ばれないので
親WindowでOnMeasuredItemを呼ばせてその中でMeasuredItemを読んでます
つづく
0236デフォルトの名無しさん
2012/07/26(木) 21:37:52.30−メニュー1(ポップアップ)
−メニュー2(ポップアップ)
このハンドルから親であるメニュートップのハンドルが欲しいのですが
取得する方法わかりますか?
CMenuには親メニューを取ってくるメンバ関数はなさそうです
なぜ取得したいかというと親が持ってるメニューの幅と高さ情報が知りたいからです
その情報を使ってMeasuredItemを処理したいのですが
OnMeasuredItemでは親ではなく子のハンドルが帰ってきて困ってます
0237デフォルトの名無しさん
2012/07/26(木) 23:06:57.75予めSetMenuItemInfoでdwItemDataに親ハンドルをセットしておくとか、
せこい方法しか思いつかないw
0238デフォルトの名無しさん
2012/07/28(土) 00:54:53.040239デフォルトの名無しさん
2012/07/28(土) 02:53:59.260240デフォルトの名無しさん
2012/07/28(土) 09:17:22.63釣りだろ。
0241デフォルトの名無しさん
2012/07/28(土) 09:52:29.420242デフォルトの名無しさん
2012/07/28(土) 13:08:52.960243デフォルトの名無しさん
2012/07/28(土) 22:22:49.680244デフォルトの名無しさん
2012/07/29(日) 09:36:41.17Professional入れてるけど普通に使えるし。
0245デフォルトの名無しさん
2012/07/30(月) 11:00:37.74InsertItemでタブを複数追加して実行中に
マウスでタブの順番をドラッグで入れ替えたりする機能は
標準でないんでしょうか?IEのタブ表示だと普通にできますけど
CTabCtrlでは無理なんでしょうか?方法があったら教えてください
VCは2005を使用しています
0246デフォルトの名無しさん
2012/07/30(月) 11:27:27.60コレを使えば実現できるのは知ってます。
問題はVS2005にてこれをやりたいと思っています。
未来Verの機能を使う方法があれば簡単なんでしょうけど
たぶん無理ですよね…
0247デフォルトの名無しさん
2012/07/30(月) 20:23:02.66画像素材作るのが面倒だけど、
CButtonあたりを継承して自分で組んでしまえば?
0248デフォルトの名無しさん
2012/07/31(火) 01:09:37.090249245
2012/07/31(火) 08:59:34.21CTabCtrlをオーナードローして作ることにしました
0250デフォルトの名無しさん
2012/07/31(火) 16:42:59.08AfxGetMainWnd()->SetMenu(NULL); でメニューを削除したあと
もう一度メニューを表示させることはできますか?
いっかいダイアログを閉じないとメニューをみれないので困っています
0251デフォルトの名無しさん
2012/08/01(水) 01:25:13.72オーナーがドローするんですか?
それとも
オーナーをドローするんですか?
いまいちわからない。
カスタムドローってのもあるし・・・
0252デフォルトの名無しさん
2012/08/01(水) 07:28:34.37オーナーがドローする。
カスタムドローはオーナードローの進化版。
ただ、MFCではDrawItemのオーバーライドやNM_CUSTOMDRAWの
メッセージリフレクションを利用して実装するので、
実際にはコントロールの派生クラス自身が描画するような感じになるけど。
0253デフォルトの名無しさん
2012/08/01(水) 14:04:58.1264bit版WindowsのIE上でも動くのはなぜでしょうか?
0254デフォルトの名無しさん
2012/08/01(水) 14:19:20.040255デフォルトの名無しさん
2012/08/01(水) 14:21:20.160256デフォルトの名無しさん
2012/08/01(水) 19:05:47.960257デフォルトの名無しさん
2012/08/01(水) 19:37:09.670258片山博文MZボット ◆0lBZNi.Q7evd
2012/08/04(土) 14:55:43.150259デフォルトの名無しさん
2012/08/08(水) 16:41:02.14これを別アプリで終了させたいんですけど可能ですか?
タスクマネージャでの終了みたいに強制終了じゃなくて
あたかも終了ボタンがおされEndDialog(IDOK)が呼ばれたかのように
安全に終了させたいと思っています
出来ればダイアログアプリに外部から終了させるための特別な処理は入れたくありません。
あくまで外部から正常終了させる物を作りたいのです
よろしくお願いします
0260デフォルトの名無しさん
2012/08/08(水) 17:23:38.89可能です
0261デフォルトの名無しさん
2012/08/08(水) 17:25:30.510262デフォルトの名無しさん
2012/08/08(水) 17:28:43.86教えてください
0263デフォルトの名無しさん
2012/08/08(水) 17:30:47.450264デフォルトの名無しさん
2012/08/08(水) 17:44:00.42小学生にもわかるレベルのことは即応えるけど
技術必要なものははぐらかすだけだから
つまり素人の暇つぶしスレ
0265デフォルトの名無しさん
2012/08/08(水) 17:49:06.43SendMessage
0266デフォルトの名無しさん
2012/08/08(水) 17:50:39.750267デフォルトの名無しさん
2012/08/08(水) 17:51:50.210268デフォルトの名無しさん
2012/08/08(水) 18:06:21.330269デフォルトの名無しさん
2012/08/08(水) 18:38:20.03o おまえには無理
0270デフォルトの名無しさん
2012/08/08(水) 18:39:46.430271デフォルトの名無しさん
2012/08/09(木) 19:08:40.27あほや!!
発作か〜!!
0272デフォルトの名無しさん
2012/08/09(木) 21:05:35.130273デフォルトの名無しさん
2012/08/12(日) 21:24:07.350274デフォルトの名無しさん
2012/08/12(日) 21:55:46.48レジストリを勝手に使ってやり取りしてたりするから
その分起動に時間は掛かるけど
.Net Frameworkを起動する程じゃない
それ以上の話はWindowsAPIと大して変わらない
0275デフォルトの名無しさん
2012/08/23(木) 11:13:26.69APIよりCPUに最適化された中間言語の方が高速になる
もうそうなってきてるよ
0276デフォルトの名無しさん
2012/08/23(木) 13:44:22.71そこは変わらないって
0277デフォルトの名無しさん
2012/08/23(木) 13:51:37.570278デフォルトの名無しさん
2012/08/24(金) 00:09:18.30最高速度が速いのと同じような感じじゃないかなあ。
下手な書き方すると、MFCの方が速度落ちそうだし。
0279デフォルトの名無しさん
2012/08/24(金) 08:30:12.890280デフォルトの名無しさん
2012/08/24(金) 11:19:38.430281デフォルトの名無しさん
2012/08/28(火) 10:58:59.48以前まではできていたのですが、先日急にデータが欠落するようになりました。
具体的には、22kBほどのwebページを取得するのに、
2kBくらいでぶつっと切れてしまっています。
CHttpFile::Readの戻り値(取得したデータ長)は切れた部分まで(2k程度)になっています。
QueryInfoStatusCodeでは200が返ってきていますが、
firefoxでアクセスしてパケットのやり取りを見てみると、
最初は302が返ってきて、2〜3度転送されているみたいでした。
SendRequestからReadまでの間にSleep(1000)を入れると取得できるデータ長が
10k以上に増えましたが、やはり途中で切れてしまいます。
Sleepの数値を2000にしたら、すべて受信できるようになりました。
GetQueryInfoで、HTTP_QUERY_CONTENT_LENGTHを取得しようとしたら、
ヘッダが存在しないとエラーが出ました。(errcode:12150 ERROR_HTTP_HEADER_NOT_FOUND)
以前はこんなことは起きなかったのですが、何故だかわかる方はいるでしょうか?
Sleepで改善したということは、SendRequestの後に完了待ちをする必要があるのでしょうか?
0282デフォルトの名無しさん
2012/08/28(火) 19:23:31.23その時点で受信できていた分だけを返してるような気がする。
確か0で戻ってきたら完了じゃなかったっけ?
0283デフォルトの名無しさん
2012/08/28(火) 19:45:51.152回目のReadでは確実に0が返ってくるようで、ダメでした。
googleなどで色々と調べてみたのですが、Readの戻り値としては
「指定したbyte数【以下の値が】返ってきたら完了」という記事が一般的なようで、
先ほどの試験結果とも一致するので、そもそも少ない値が返ってくる時点でNGだと認識しました。
それにしては、Sleepで全部読み込めるようになったり、不可思議な点が多いのですが…
0284デフォルトの名無しさん
2012/08/29(水) 00:00:53.950285デフォルトの名無しさん
2012/08/29(水) 11:46:34.07とか、Webサイト側でページを動的に生成に時間が掛かっていたり、ボット
対策でリファラーを見ていたりや、ブラウザの種類で何か細工しているん
でないの?
短く途切れる時の取得データと、「Webブラウザのリンク先を保存」などで
取得した正常データの先頭の中身は一致しているか確認した?
0286デフォルトの名無しさん
2012/08/31(金) 08:43:17.41この板のやさしさかな
0287デフォルトの名無しさん
2012/09/04(火) 16:19:04.15返事が遅くなってしまい、すいませんでした。
先頭というより、切れている部分までは完全に一致しています。
リファラーとUAは、ブラウザで見る場合と同じ値に設定しています。
Web側でページを動的に生成しているとは思います。(更新ごとに内容が変わるので)
ただ、「Webサイト側で生成するのに時間がかかる」としても、
CHttpFile::Readで読み出す場合は問題ないと思っていたのですが…
(ページ内容を全て取得してからロードする、という関数ですよね?)
もしそうでないならば、以下の関数の実装が必要な気がします。
・途中まで読み込んだ後、再度実行することで、残りを読み出せる必要がある。
(完了した場合は、戻り値、もしくは完了判別関数で、完了したかを判別する)
・Readする前に、「Webページ側の準備完了まで待つ」もしくは「完了を通知する」機能
色々と調べてみたのですが、どちらも見つからないのですよね…。
0288デフォルトの名無しさん
2012/09/04(火) 19:17:21.44APIのレベルで色々試せば何か見えてくるかもしれないし。
0289デフォルトの名無しさん
2012/09/04(火) 22:11:53.34CInternetSessionのOnStatusCallback()を実装して
もう少しstatusを細かくチェックしてみては。
ネットで検索してもほとんど出てこないけど
中身はWinInetのInternetSetStatusCallback()だから
そっちで検索するといいよ
0290デフォルトの名無しさん
2012/09/06(木) 10:29:04.71ありがとうございます。ちょっとそのあたりを確認して色々と試してみます!
0291片山博文MZボット ◆0lBZNi.Q7evd
2012/09/06(木) 15:02:34.000292デフォルトの名無しさん
2012/09/11(火) 01:44:59.84ぐぐっても出てこんわ。
0293デフォルトの名無しさん
2012/09/11(火) 05:01:33.080294デフォルトの名無しさん
2012/09/22(土) 18:30:35.99Visual C++ .NET 2003 に含まれるやつだな。
残念ながら、公式の再頒布パッケージは存在しないので、
ベクター辺りから拾ってくるしかない。
「VC++ .NET ランタイムインストーラー」に入っているのは確認した。
0295デフォルトの名無しさん
2012/10/17(水) 00:30:47.15MFCは重い古いとか言われますが、、、CLRとMFCを同類としてしまってもいいのかもわかりませんが、、、Visual Studioを利用している限り、
この2つが並ぶので…
0296デフォルトの名無しさん
2012/10/17(水) 00:41:07.53WTLで
0297デフォルトの名無しさん
2012/10/28(日) 15:53:28.54となるとstatic関数(スレッド本体)からは、そのクラスのstatic変数にしかアクセスできないから、そのクラスに定義されている変数を全てstaticに
変更したいのだが、一個ずつstaticを付けていくしかない?変数が大量なんどす、、、。
0298デフォルトの名無しさん
2012/10/28(日) 15:55:31.52そもそもMFCのスレッド本体が静的じゃないとあかん理由もよくわかってませんが…
長文すみません。。。
0299デフォルトの名無しさん
2012/10/28(日) 16:04:06.37pParamにインスタンスのポインタを渡して、
スレッド本体からそのインスタンスのメソッドを呼ぶ形にすれば良いんじゃないか?
0300デフォルトの名無しさん
2012/10/28(日) 16:20:24.69現状だと、メインダイアログへのハンドル(文字列表示のためにPostMessage()するため)がpParamに入ってるんです。
構造体かなんかにしてインスタンスのポインタも同時に渡せますかね。
0301デフォルトの名無しさん
2012/10/28(日) 16:48:15.93>static関数(スレッド本体)からは、そのクラスのstatic変数にしかアクセスできないから、
これ都市伝説だから。
0302デフォルトの名無しさん
2012/10/28(日) 18:48:07.740303デフォルトの名無しさん
2012/10/28(日) 21:48:35.73え?
0304デフォルトの名無しさん
2012/10/28(日) 22:42:36.88そもそも、そんな質問をしてるような奴にマルチスレッドは無理。
0305デフォルトの名無しさん
2012/11/09(金) 09:29:05.870306デフォルトの名無しさん
2012/11/18(日) 14:54:48.27OfficeやAdobe Readerの様に動かしたいです。
0307デフォルトの名無しさん
2012/11/18(日) 16:16:33.930308デフォルトの名無しさん
2013/03/04(月) 03:41:59.66フォルダのプロパティで出た数と、プログラムで読み出した数とで異なるフォルダがあります。
フォルダの階層もちゃんと再帰的に読み出しています。
試しに色々なファイルをフォルダに階層的に入れて数えましたが、
ファイル数303とかちゃんと合っているフォルダもあれば、
実際に確認したいファイル数10136 フォルダ数1654のフォルダでは、
合計11522と、少なく出ます。
FindNextFileのエラー情報も出しましたが、すべて18でした。
なにが原因なんでしょうか?
0309片山博文MZパンク ◆0lBZNi.Q7evd
2013/03/04(月) 05:48:08.610310デフォルトの名無しさん
2013/03/04(月) 11:21:18.510311308
2013/03/04(月) 20:29:04.81なにか既知の問題とかないかと思ったもので。
原因わかりました。
Cfilefindは問題ありませんでした。
ファイル名に、HTMLの半角文字「 」が使われていて、
ワイド文字からマルチバイト文字に変換するときに、nullに変換されていました。
すれよごしすまんです。
0312デフォルトの名無しさん
2013/03/05(火) 17:24:36.94例えばB5とA4の切り替えをVCプログラムでやりたいのです
やりたいのは用紙サイズ切り替えだけで印刷はしません
印刷はExcel等の印刷ボタンで行います
プリンタの印刷設定の用紙サイズの変更方法(使用するクラス?)など
又は例が載ってるサイトなどがありましたらお教え下さい
よろしくお願いします。
0313片山博文MZパンク ◆0lBZNi.Q7evd
2013/03/05(火) 19:48:51.030314デフォルトの名無しさん
2013/03/05(火) 22:49:10.16教えてもらったワードで検索してSDKサンプル見つけました
やりたいことができそうです
0315デフォルトの名無しさん
2013/03/05(火) 23:51:44.81基本的に片山は嘘をつくから相手にしないほうがいい
それに片山の相手をしていると他の回答者に無視されるよ
0316デフォルトの名無しさん
2013/03/05(火) 23:52:58.75またお前か
0317デフォルトの名無しさん
2013/03/06(水) 07:48:12.66今度から信じるよ?
0318デフォルトの名無しさん
2013/03/11(月) 17:38:32.830319デフォルトの名無しさん
2013/03/24(日) 00:36:21.77CTimeSpan::GetTotalSeconds()は閏秒を含んでいますか?
例えば
CTime BirthDay(nYear, nMonth, nDay, nHour, nMin, nSec);
CTime Today(__time64_t(NULL));
CTimeSpan Age = Today - BirthDay;
としたときに、Age.GetTotalSeconds()の戻り値は
2つのCTimeインスタンスの間の期間に挿入された
閏秒を加算した秒数になりますか?
0320デフォルトの名無しさん
2013/03/24(日) 11:12:08.12なるよ。
BirthDayもTodayも__time64_t型の時間を持ってるだけだし。
0321デフォルトの名無しさん
2013/03/24(日) 15:57:38.80うるう秒がいつ起こったかなんてライブラリは知らないだろうし、
OSもそもそもサポートしてないから知る手段ないのでは
http://support.microsoft.com/kb/2722715/ja
0322デフォルトの名無しさん
2013/03/24(日) 21:41:31.38確かにOSが知らないのであればMFCにも反映されて無さそうですね。
CTimeの派生クラスを作って、operation - や + の際に閏秒の判定と
加減をするよう定義することにします。
ありがとうございました。
0323デフォルトの名無しさん
2013/03/25(月) 00:36:19.76やってみようとおもったが手元にMFCの環境が無いわ、、、
0324デフォルトの名無しさん
2013/03/25(月) 07:07:49.620325デフォルトの名無しさん
2013/03/26(火) 23:20:58.520326デフォルトの名無しさん
2013/03/26(火) 23:58:29.64最大長+1=バッファ長という意味合いで使っているんじゃないか?
CString::GetBufferは指定文字数+NULL文字のバッファを返すし。
0327デフォルトの名無しさん
2013/03/28(木) 00:04:33.330328片山博文MZパンク ◆0lBZNi.Q7evd
2013/03/28(木) 00:39:45.35WM_LBUTTONDOWNが来たらPtInRectで四角の中か判定、SetCaptureしてフラグを立てる。
WM_MOUSEMOVEが来たらフラグを確認、移動後の位置を計算、再描画で四角を動かす。
WM_LBUTTONUPが来たらフラグを下ろしReleaseCaptureして移動後の位置を計算、再描画で四角を動かす。
0329デフォルトの名無しさん
2013/03/28(木) 02:05:06.91ただドラッグ前の図形が表示削除できていないや。楽に消すとコツあります?
0330片山博文MZパンク ◆0lBZNi.Q7evd
2013/03/28(木) 05:50:40.39InvalidateRect
WM_PAINT
WM_ERASEBKGND
ダブルバッファリング
0331デフォルトの名無しさん
2013/03/28(木) 09:48:06.91フラグを使うなら WM_CAPTURECHANGED も処理する必要がある
0332デフォルトの名無しさん
2013/03/28(木) 22:09:09.98図形の左下をクリックして動かすと左下を掴んだまま図形を動かすのは難しい?
四角図形の座標とマウス座標の相対座標も計算するのかな
0333デフォルトの名無しさん
2013/03/29(金) 05:49:47.990334片山博文MZパンク ◆0lBZNi.Q7evd
2013/03/29(金) 07:45:11.41GetCursorPos、ClientToScreen、ScreenToClientを使って座標系を統一して
ホットスポット(図形からマウスへの相対位置)を計算。
マウスの位置からホットスポットを引けば図形の新しい位置が求まる。
0335デフォルトの名無しさん
2013/03/29(金) 07:57:01.32ありがとう出来ました。
あとはドラッグ中に画面更新して画面がちらつくのが気になるだけですね。
グリッドを表示させてみたんですがボタンや線がチラチラしすぎ。
メモリーデバイスコンテキスト検討しようかな
0336デフォルトの名無しさん
2013/03/29(金) 08:48:40.520337デフォルトの名無しさん
2013/03/29(金) 08:57:56.13そういうのに特にwpfはめっちゃ向いてる
0338デフォルトの名無しさん
2013/03/29(金) 09:36:27.67そもそもそのツールを作る理由って何?
プログラムの勉強をしたいのかと思ってたけど、ツールが欲しいだけの
ような気がしてきた…
0339デフォルトの名無しさん
2013/03/29(金) 13:01:26.49かなり用途を限定したRPGツクールのプログラム版のようなものでしょうか
だから自作実装しておきたい。
0340片山博文MZパンク ◆0lBZNi.Q7evd
2013/03/29(金) 13:18:40.56ちらつきをなくすならWM_ERASEBKGNDとメモリDCですね。
0341デフォルトの名無しさん
2013/04/04(木) 08:35:29.83書き込み規制で遅くなったけど メモリーdcは少し面倒だったので、WM_ ERASEBKGND で対応しました。
当初の目標は達成できましたが、 フローチャートを描くツールとしては 図形クラス設計しておいて、 表示や当たり判 定、図形の中に文字を書くなどなどですね
0342デフォルトの名無しさん
2013/04/04(木) 08:40:42.100343デフォルトの名無しさん
2013/06/15(土) 01:17:00.33BOOL Cmessage_winDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// このダイアログのアイコンを設定します。アプリケーションのメイン ウィンドウがダイアログでない場合、
// Framework は、この設定を自動的に行います。
SetIcon(m_hIcon, TRUE); // 大きいアイコンの設定
SetIcon(m_hIcon, FALSE); // 小さいアイコンの設定
// TODO: 初期化をここに追加します。
SetWindowPos(&Cmessage_winDlg::wndTopMost, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE);
return TRUE; // フォーカスをコントロールに設定した場合を除き、TRUE を返します。
}
ダイアログウインドウを出すだけのプログラムですけど、
普通に起動すると常に最前面に出せるのに、
タスクマネージャーにより起動させると、常に最前面になりません。
なんで?
0344デフォルトの名無しさん
2013/06/15(土) 22:38:41.600345343
2013/06/19(水) 19:47:44.630346デフォルトの名無しさん
2013/06/29(土) 21:32:41.43SDIではCDocumentとCViewが使いまわされますが、あるドキュメントで作業した後に
別のドキュメントを開いた際、それまで使用していたCViewの後始末はどこで行えば
いいんでしょうか?
CView::OnInitialUpdateの冒頭で初期化に先立って行うのが普通なんでしょうか?
0347デフォルトの名無しさん
2013/06/30(日) 10:03:31.410348デフォルトの名無しさん
2013/06/30(日) 11:28:36.66そうすると、CView::OnInitialUpdateはCDocument::DeleteContentと違って
終了時に呼ばれないですから、同じ後始末処理をOnDestroyかどっかと
両方に書かなきゃならないんですかね。
0349デフォルトの名無しさん
2013/06/30(日) 12:59:08.90何なのかわからないけど、その後始末の必要な物をCDocument側に置けないの?
0350デフォルトの名無しさん
2013/06/30(日) 13:54:16.130351デフォルトの名無しさん
2013/06/30(日) 16:19:10.64具体的には、ドキュメントの内容に応じて動的に作成するコントロールなどです。
0352デフォルトの名無しさん
2013/07/18(木) NY:AN:NY.AN0353デフォルトの名無しさん
2013/07/23(火) NY:AN:NY.ANただ、そのままだと完全な全画面にはならずタブと枠が残ってしまいますが、完全な全画面に
するにはどうすればいいでしょうか?
ちなみにCFullScreenImpl::EnableTabsAreaで制御できるのかなと思いましたが、アクセスする
方法がわかりませんでした。
0354デフォルトの名無しさん
2013/07/28(日) NY:AN:NY.AN機能させるには、それぞれのDLLのエクスポート関数の先頭にマクロを書けば良いのですか?
0355デフォルトの名無しさん
2013/08/08(木) NY:AN:NY.AN0356デフォルトの名無しさん
2013/08/10(土) NY:AN:NY.AN0357デフォルトの名無しさん
2013/09/03(火) 22:50:16.50検索するとhttp://support.microsoft.com/kb/201553/jaのような方法は
見つかるのですが、どうもタブ形式では効かないようで。
0358デフォルトの名無しさん
2013/09/08(日) 20:53:43.35例えば#include "LeftView.h"ってソースにインクルードされてるのに、
いつのまにか自動的に#include ".\leftview.h"
とかってソースに追加でインクルードされるのを抑制することは出来ますか?
VS6とか、以前のバージョンではこんな余計な機能無かったのに。
うざくてしょうがない。
0359デフォルトの名無しさん
2013/09/09(月) 00:42:20.96VisualStudioスレへどうぞ。
0360デフォルトの名無しさん
2013/09/12(木) 19:20:25.96開発、動作とも32ビット環境で、Unicodeでコンパイルしています。
XPとWin7で作成される画像が違うのですが、仕様が変わったのでしょうか?
リストコントロールはFULLROWSELECTにされていて、XPでは存在する全ての列のイメージが作成されますが
Win7だと一番左のセル1個の画像だけ作られて、他の列は作られません。
全く同じバイナリを動作してXPと7で差があるのですが、それに関する文献はありませんか?
0361デフォルトの名無しさん
2013/10/02(水) 15:02:10.69どうにかReadOnlyにすることはできませんか?
DisableではなくReadOnlyにしたいです
0362デフォルトの名無しさん
2013/10/02(水) 17:09:04.63つーか、目的を書いた方が早いよ。
0363デフォルトの名無しさん
2013/10/04(金) 18:05:52.81と言うのをやりたいと考えています。
メニューバー部(最上位)に1件追加し、その下に項目を設けたかったのですが、最上位に追加した
項目をGetSubMenu()するとNULLが帰ってきて、当然その下に項目を設けることができません。
CxxDlg::OnInitDialog()
{
// <省略>
CMenu *mnu = this->GetMenu();
mnu->AppendMenu(MF_STRING , ID_MNU_0001, _T("test"));
}
CxxDlg::OnInitMenu()
{
CDialog::OnInitMenu(pMenu);
CMenu *mnu = this->GetMenu();
CMenu *mnuSub;
mnuSub = mnu->GetSubMenu(4); // (新規追加項目の位置)
ASSERT(mnuSub); // ここでエラー
}
最上位への追加まではできているのですが、追加した項目のCMenu*を得るにはどうすれば良いでしょうか?
0364デフォルトの名無しさん
2013/10/04(金) 20:51:42.84最上位に追加するメニュー項目の時点で間違い。
そこは、作ったポップアップメニューを追加するという形になる。
実装方法の詳細は以下のURLを参照。
http://msdn.microsoft.com/ja-jp/library/vstudio/ya33w9f2.aspx
0365デフォルトの名無しさん
2013/10/08(火) 21:04:30.33どうすれば良いか方法を教えて下さい。
よろしくお願いします。
[環境]
・Windows7 Professional 64bit/Microsoft Visual Stadio 2005
・MFCダイアログベース
[やりたいこと]
・ MFCリストボックスの文字列表示(インデント)を揃えたい
→こんな風に表示したいです(http://www.dotup.org/uploda/www.dotup.org4564440.jpg)
・ 1列に「Address Length Parameter Message」の表題をつけた後にそれぞれの情報を表示したい
・ Addressは8桁固定、Lenghtは4桁固定、parameterは2〜8桁可変、メッセージは可変長(最大32文字 2バイト文字あり)で表示したい
[試した事]
1. リストボックスの追加(AddString)をする際に全角スペースや\tを入れてみた
→結果はガタガタで全く揃わなかった
2. MultiColumnを有効にしてみた
→やりたい事と違っていた(リストが水平方向に表示された)
3. SetTabStopsを使ってみた
→下記リンク先の記事を参考にして実装してみたが何が変わったのか分らなかった。
→http://msdn.microsoft.com/ja-jp/library/vstudio/25d6hs9f.aspx
→http://mfc-ml.ldblog.jp/archives/305171.html
4. オーナードロウを使ってみる
→下記リンク先の記事を参考にして複数行のリストボックスは表示出来た。ベースを弄って見たが(Height→Widthに変えるとか)複数列は出来なかった
→http://www.alpha-net.ne.jp/users2/uk413/vc/VCT_LBowner.html
0366デフォルトの名無しさん
2013/10/09(水) 00:40:39.710367デフォルトの名無しさん
2013/10/09(水) 20:23:05.720368365
2013/10/09(水) 22:18:18.60返信ありがとうございます。
とりあえずこんな風にしてみました。
// ヘッダのクラス定義内に登録
// 等幅フォントを格納するメンバ変数を定義する
CFont m_inFixedPitchFont;
CListBox m_list;
// 等幅フォントを作成します。
LOGFONT sLogFont;
memset(&sLogFont, 0, sizeof(LOGFONT));
sLogFont.lfHeight = 12;
sLogFont.lfCharSet = SHIFTJIS_CHARSET;
sLogFont.lfPitchAndFamily = FIXED_PITCH;
m_inFixedPitchFont.CreateFontIndirect(&sLogFont);
m_list.SetFont(&m_inFixedPitchFont);
m_list.AddString("Address Value Name Message");
m_list.AddString("[0x00000] [0002] [Jpeg Stat] Jpegのステータス");
こうすればとりあえずインデントを揃える事は出来ました。
AddStringは\tとかのエスケープシーケンスを自動で判断する事が出来なさそうなので
その辺の処理を追加するか、完全手動に必要がありそうですが・・。
もしもっと他に方法がありましたら教えてください。
0369片山博文MZコスモ ◆T6xkBnTXz7B0
2013/10/09(水) 23:39:52.420370デフォルトの名無しさん
2013/10/09(水) 23:56:52.70リストボックスのスタイル指定忘れが原因で、
タブ処理が有効になっていない予感。
VS2012のダイアログエディタだと「Use TabsStops」をTrueにする。
API的にはLBS_USETABSTOPSだな。
0371デフォルトの名無しさん
2013/11/02(土) 18:48:46.47OnKeyDown() の中から親に SendMessage(WM_KEYDOWN,...) で委譲するしかないですかね?
それとも他にもっと適した方法がありますか?
また、SendMessageで委譲するとした場合、他に併せて送らなければならないメッセージとか
ありますか?たとえばWM_KEYUPとか。
0372デフォルトの名無しさん
2013/11/03(日) 05:12:50.930373デフォルトの名無しさん
2013/11/04(月) 07:58:02.05Windows 7 & VC++ 2010 で MFC をスタティックリンクで開発してきました。
今度、開発環境のOSだけ 8.1 にしようと思っております。
動作OSの下位互換は開発環境さえ変えなければ維持できるでしょうか?
(リンクするライブラリさえ変わらなければ問題無いと思うのですが)
それともそれを保証するなにかオプション設定は必要でしょうか?
ご教示お願いします。
0374デフォルトの名無しさん
2013/11/04(月) 08:48:33.450376デフォルトの名無しさん
2013/11/04(月) 11:33:17.770377デフォルトの名無しさん
2013/11/04(月) 11:41:19.700378デフォルトの名無しさん
2013/11/04(月) 11:56:45.00はい、肝に銘じて。
ありがとうございます。
0379デフォルトの名無しさん
2013/11/04(月) 12:07:22.56targetver.hでググッてみ
#define WINVER 0x0600
等の定義で、新OSでなければ動かないAPI等を弾ける
ただし100%信頼できるものではないので、テストは必須
0380デフォルトの名無しさん
2013/11/04(月) 12:14:56.540381デフォルトの名無しさん
2013/11/04(月) 12:38:08.38OS依存のバグがかなりあるよ。
0382デフォルトの名無しさん
2013/11/06(水) 20:36:39.310383デフォルトの名無しさん
2013/11/17(日) 17:35:08.43CxxxViewクラスのヘッダファイルに
CxxxDoc* GetDocument();と宣言されている
CxxxDoc.hもincludeされていないのになぜコンパイルできるですか?
0384デフォルトの名無しさん
2013/11/17(日) 21:56:18.630385デフォルトの名無しさん
2013/11/17(日) 22:25:06.540386デフォルトの名無しさん
2013/11/18(月) 12:00:55.75通常はxxxView.h自身がxxxDoc.hをインクルードするか、前方宣言するべき。
0387デフォルトの名無しさん
2013/11/18(月) 14:16:29.230388デフォルトの名無しさん
2013/11/18(月) 15:02:21.800389デフォルトの名無しさん
2013/11/19(火) 09:30:33.550390デフォルトの名無しさん
2013/11/20(水) 07:48:06.600391デフォルトの名無しさん
2013/11/20(水) 10:36:58.89C++ Builderだと、throw Exception("err");、を良く見るけど、
MFCプログラムだと、throw CException("err")、ってのは見たことないですね。
0392デフォルトの名無しさん
2013/11/20(水) 12:10:57.39AfxThrow〜〜〜Exception()ってのがいろいろある
0393デフォルトの名無しさん
2013/11/20(水) 12:35:12.18CExceptionはMFCの全ての例外クラスの"抽象"基本クラスだから、アプリのソースに直接使われることは無いよ。
派生クラスのCFileExceptionなんかが良く使われる。
0394デフォルトの名無しさん
2013/11/20(水) 17:55:35.24これってクラスのインスタンスを投げてるんじゃなくて
文字列を投げてるだけなんじゃないの?
0395デフォルトの名無しさん
2013/11/20(水) 18:30:58.02Exceptionクラスのインスタンスを値で投げてる。
ここら辺、MFCは歴史的経緯でポインタを投げるから、
CATCHマクロでハンドリング、もしくはcatchしたらDeleteメソッド呼んで
明示的に削除とか妙な話になってるんだよなあ。
0396デフォルトの名無しさん
2013/11/29(金) 21:24:48.64各種コントロールを拡張して一つのライブラリにまとめたいと思っているのですが、
詳しいやり方が分からず困っています
mfc active コントロール ウィザード ってのでいいんでしょうか?
普段複数列のコンボボックスとかなにかと標準のでは
かゆいところに手が届かないと思うんですが、
皆さんはどのようにされていますか?
0397デフォルトの名無しさん
2013/11/30(土) 01:54:22.82サブクラス化
0398デフォルトの名無しさん
2013/11/30(土) 02:25:33.79サブクラス化
の意味知ってる?
使いたかっただけだよねw
0399デフォルトの名無しさん
2013/11/30(土) 11:24:26.99サブクラス化で実装できる内容もあるだろうし。
ライブラリ化するなら、ソースレベルに留めておいた方が扱い易そう。
ActiveXコントロールは明らかにやり過ぎとしても、
MFCのDLLとかにしても依存関係とかで面倒な話になりそうだし。
0400デフォルトの名無しさん
2013/12/02(月) 20:48:21.51画面にラインやテキスト、動的に生成したコントロール等を配置する際に、
int width = マウス等で広げた画面の幅
DrawText(_T("aaa"), CRect(20, 50, 120 + width, 70)...
と、もろに数字を書いて場所を指定しているのですが、
印刷も実装しようとした際に解像度が違うので、数値を変えないといけなくなってしまいますが、
皆さんは描画の際にどのように位置等を指定していますか?
画面の何%のようにすれば解像度が変わっても問題ないのでしょうが、
細かい調整等ができないのと、描画する物が多くなればなるほど面倒になります
こういう場合どういう実装が一般出来なのでしょうか
皆さんの意見をお聞かせください。
0401デフォルトの名無しさん
2013/12/02(月) 21:13:02.670402デフォルトの名無しさん
2013/12/02(月) 21:35:28.65調べてみたのですが、こんなものがあったのですね
詳しい使い方がいまいち分からないのですが、
普通に描画して印刷の際に拡大縮小して表示するということでしょうか?
大量のリストを表示するような画面で、画面ではスクロールバーを生成して
画面に表示できる量だけを計算して表示しているようにしているのですが、印刷時は全部を印刷したいと思っています。
画面の描画も印刷も同じOnDrawでpDC->IsPrinting()で判断するようなので、
とりあえずOnDrawにすべて記述しているのですが、メタファイルの作成はあらかじめしておくのでしょうか?
0403デフォルトの名無しさん
2013/12/02(月) 21:58:55.97たぶん。
0404デフォルトの名無しさん
2013/12/02(月) 22:30:58.31印刷する場合はアスペクト比を取得し、描画関数を使って
メタファイルを作成し、用紙サイズに合わせてメタファイルを描画する。
0405デフォルトの名無しさん
2013/12/10(火) 20:03:54.43CStringが元凶だと分かるまでに1時間位かかった
0406デフォルトの名無しさん
2013/12/11(水) 06:18:45.090407デフォルトの名無しさん
2013/12/11(水) 10:22:33.81十年前、私のいる会社でそれをやった馬鹿は今では立派に部長兼任理事ですw
0408デフォルトの名無しさん
2013/12/11(水) 11:32:06.130409デフォルトの名無しさん
2013/12/11(水) 18:54:56.560410デフォルトの名無しさん
2013/12/11(水) 19:12:59.240411デフォルトの名無しさん
2013/12/11(水) 19:20:10.650412デフォルトの名無しさん
2013/12/11(水) 19:55:18.400413デフォルトの名無しさん
2013/12/11(水) 20:22:07.700414デフォルトの名無しさん
2014/02/07(金) 19:55:50.980415デフォルトの名無しさん
2014/02/08(土) 10:26:19.290416デフォルトの名無しさん
2014/02/08(土) 13:47:20.30ダイアログを表示した後は変更不可なんでしょうか?
OnTypeChange()で選択されたファイルタイプ毎に別の表示を行いたいと
思っているんですが。
0417デフォルトの名無しさん
2014/02/08(土) 14:01:26.88苦し紛れの裏技みたいなものじゃなかったかな
該当部分全体を1個の複合コントロールにまとめてしまって
コントロール内部の変化として吸収してしまう手はあるかもしれないw
0418デフォルトの名無しさん
2014/02/08(土) 14:55:45.700419416
2014/02/08(土) 19:07:30.66一旦表示したらAdd/Removeできないのは仕様。
かわりにSetControlStateで見えなくすることはできる、ということらしい。
0420デフォルトの名無しさん
2014/03/04(火) 23:52:51.41windows7+VC2005の環境で、ダイアログベースのMFCアプリを作成しています。
目的はブラウザ(IE)のリンクをドロップし、リンクパスの表示と、リンク先のファイル(主にzipかlzh)をダウンロードすることです。
現在、ドロップを受け取る方法が分からず困っています。
ググるとファイルドロップの方法ばかりでリンクをドロップするにはどうしたらよいのかがわからないです。
(ゆくゆくはブラウザで選択した文字列を取得するドロップにも対応したいです。)
たまにテキストのドロップを受け付けられるサンプルソースがあるのですが、
MFCを使用せずに作成されており、どうやってMFCアプリに組み込めばよいのか理解できていません。
(ttp://hp.vector.co.jp/authors/VA016117/oledragdrop5.htmlを参考にしたのですが、DropTargetクラスをMFCで作成したクラスにどう組み込めばよいのかわからなかったです)
windowプログラム初挑戦で分からないことだらけなのですが、リンクのドロップを受け付ける手順を教えていただけませんでしょうか。
よろしくお願いします。
0421デフォルトの名無しさん
2014/03/05(水) 00:25:03.370422デフォルトの名無しさん
2014/03/05(水) 10:46:52.920423420
2014/03/06(木) 01:25:01.97COleDropTargetをダイアログクラスの面罵にして、Initでレジスト関数にポインタを渡すと
ドロップに対応できるくさいことはどこかのHPで呼んだのですが、上手くいっていなんです...
とりあえずDrop関数でbreakできるようになれば後は頑張れると思うのですが...
今日は別の仕事が立て込んでて作業できなかったので、明日もう少し向き合ってみます。
(携帯がauで規制かかってるため、日中質問したりできないのが辛い...)
>422
.netなら簡単に実装できるのですか。
Windowプログラミングをあまり必要としない分野なもので、手持ちのツールがVC2005しかないので駄目そうです。
残念です。
0424デフォルトの名無しさん
2014/03/06(木) 07:22:51.09.netなら10行で実装できるぜ。
VisualStudioは無料だからいつでもダウンロードして使えるぜ。
サンプル
http://dobon.net/vb/dotnet/control/dropfromwebbrowser.html
0425デフォルトの名無しさん
2014/03/08(土) 09:48:30.95そのコードをReflectorで解析すれば出来るんじゃないのか
根性があるのならば
0426デフォルトの名無しさん
2014/03/08(土) 19:03:03.76かなり昔のことなのでだいぶ忘れてるけど
当時のソース見てみるとIDropTargetを継承したクラスを作って
仮想関数のDragEnter、DragLeave、DragOver、Dropをオーバーライドして
チマチマやってたみたい。ほとんどがwin95でも動くようにするためのコード
なのでwin95を捨てればほんの数行かも。
0427426
2014/03/08(土) 19:05:41.940428デフォルトの名無しさん
2014/03/12(水) 00:50:01.17ID:Ja3A3JiQあっさり捨てられた環境を勧めなくても
0429デフォルトの名無しさん
2014/03/16(日) 13:19:59.09ID:JfqgfTA8SDIで開発してて、ドキュメント1つに対してビューを2つ用意して、
一つは一つの商品の情報を表示して、もう一つは複数の商品の一覧を表示しています。
商品に対して表示する情報は同じなので、2つのビューで共通する処理が多数あるのですが、
(OnPaintの半分ほど、スクロール、マウス、キーボード等の処理はほぼ同じ)
この場合共通する処理だけ実装したビューを作成し、
それぞれが共通ビューを継承して違うところだけ実装した方がよいのでしょうか?
それとも後々処理が変わることを見越してこのまま同じ処理のビュー2つでいいのでしょうか?
むやみに継承しても他の人が触るときにどうなのか客観的にみて皆さんはどちらがいいと思いますか?
0430デフォルトの名無しさん
2014/03/16(日) 13:44:15.19ID:qeSKPaCpこれに一票。小さいプログラムなら単一Viewを状況に応じて使い分けるってのもアリかも。
>> 他の人が触るときにどうなのか
あなたと引き継ぐ人の腕前が分からないと判断しかねます。
0431デフォルトの名無しさん
2014/03/16(日) 21:15:21.38ID:JfqgfTA8ありがとうございます
システム関係の部署もなく現在は私一人で開発しているもので、
どうしても主観的になっているのではないかと思い客観的な意見が聞きたかったのでありがたいです!
できればもう一つアドバイスを頂きたいのですが、
現在exeをサーバーの共有フォルダに置いており、各クライアントからはショートカットで起動しているのですが、
このようなやり方はいかがなものなのでしょうか?
やはりなにか自動アップデート的な機能を付けた方がいいのでしょうか?
各システムの使用者はそれぞれ10名程度なので、更新するときはサーバーのだけ上書きすればいいので楽なのですが、
はたして正しいのかどうなのかひっかかってます…。
0432430
2014/03/16(日) 22:06:38.19ID:qeSKPaCpやるプログラムであれば、サーバー側にも1個別なPGがないと厳しいかも。
0433デフォルトの名無しさん
2014/03/20(木) 20:54:55.47ID:Em0TZNJT文面からエスパーすると、実行するのはクライアントのプロセス空間内みたいだし、実行ファイルが自分自身を書き換えたり共有フォルダ上の他のファイルを更新しないのであれば問題ないとは思う。
リスクとしては、更新時(バイナリ差し替え時)に誰も関連ファイルを参照しない、ということが保証できているかが気になる。
まあ、現状うまいこと運用出来ているみたいだから、そのままでもいいんでない?
ただ個人的にはそういう配布(?)方法は気持ち悪いからやりたくない。
0434デフォルトの名無しさん
2014/03/21(金) 07:50:08.86ID:ptiv3+4Jヘルプは無いのかな
0435デフォルトの名無しさん
2014/03/22(土) 22:24:24.27ID:7IgIWHBV0436デフォルトの名無しさん
2014/03/22(土) 22:29:33.95ID:EwCIeJkp0437デフォルトの名無しさん
2014/03/22(土) 22:33:41.89ID:7IgIWHBV読み間違えたか^^
0438デフォルトの名無しさん
2014/03/29(土) 09:52:32.60ID:WP7oRJZ80439デフォルトの名無しさん
2014/05/20(火) 15:49:35.48ID:egqFhnISダイアログ上に貼り付けたピクチャーコントロールに、リソースからビットマップを選択して表示、
と言うのをやっています。
これに追加して、ビットマップの内側にあるあらかじめ色bで塗りつぶされている領域を、
あとから指定する任意の色(c)で塗りつぶす、と言うのを行いたいと考えています。
CDC cDC;
CBitmap *pOldBitmap;
BITMAP bmp;
CPaintDC paintDC((CWnd *)&m_Static);
cDC.CreateCompatibleDC(&cpdc);
pOldBitmap = cDC.SelectObject(&m_Bitmap);
m_Bitmap.GetBitmap(&bmp);
paintDC.FillSolidRect(0, 0, bmp.bmWidth, bmp.bmHeight, color_back);
paintDC.TransparentBlt(0, 0, bmp.bmWidth, bmp.bmHeight,
&cDC, 0, 0, bmp.bmWidth, bmp.bmHeight, color_Transparent);
paintDC.FloodFill (15, 30, color_c); // <-ここで塗りつぶしを意図
cDC.SelectObject(pOldBitmap);
OnPaint()中でこんな感じにすれば出来るか、と考えていたのですが、うまくいきませんでした。
正しい(出来れば簡便な)手順はどのようになりますでしょうか?
0440デフォルトの名無しさん
2014/05/20(火) 17:03:36.36ID:mSiEAm6Z0441デフォルトの名無しさん
2014/05/20(火) 17:43:21.64ID:fbMM1sIr0442デフォルトの名無しさん
2014/05/20(火) 17:50:37.88ID:Dt1y8Hrx// 描画
m_Static.ReleaseDC(pDC);
じゃ駄目?
0443デフォルトの名無しさん
2014/05/20(火) 18:17:50.66ID:/jbaDLb2ピクチャーコントロールが持つ元のビットマップが再描画され、塗りつぶしは消えてしまうよ
0444デフォルトの名無しさん
2014/05/20(火) 19:42:37.71ID:fbMM1sIr0445デフォルトの名無しさん
2014/05/20(火) 22:33:38.27ID:3MxWeU1mCPaintDCは基本的に、WM_PAINTのハンドラOnPaintで引数にthisを渡して使う。
他のウィンドウに書きたい時は442の通り。ReleaseDCは不要だけど。
また、443の通りなので、オーナー描画にしてOnDrawItemで描画する方が良さげ。
あと、ピクチャコントロールはCS_PARENTDCなので、
実際にはダイアログ上に直接描画するのと同じことになる。
FloodFillがコントロール外に溢れだすかと。
0446439
2014/05/23(金) 21:19:46.12ID:bGbo8U4Dあれから、いろいろと自分なりに試行錯誤を続けていたのですが、
どうにもうまくいきませんでした……自分がアホなのが悪いのですが orz
(描画方面を触る機会が無かったので、セオリーが全然わからないのです)
他力本願で申し訳ないのですが、似たような事例で参考になるページ等、
ご存じでしたら誘導をお願いできませんでしょうか?
0447デフォルトの名無しさん
2014/05/25(日) 04:23:16.90ID:1TiKn05Y0448445
2014/05/25(日) 10:10:34.15ID:LQ1sHYmRあれだけグダグダ書いといてなんだけど。
今時こんな知識糞の役にも立たんよ。
0449デフォルトの名無しさん
2014/05/28(水) 10:47:36.15ID:GoJRs+ayリストボックスなどある簡単なGUI作った経験があるのですが、
それと同じのをC++で作りたいのです。
それで、MFCのダイアログベースのアプリを試してみたのですが、
C++初心者の私には、ちょっと難しすぎて困っています。
C++で簡単なGUI作る何か良い方法ありませんか?
0450デフォルトの名無しさん
2014/05/28(水) 12:43:57.89ID:2nt5gxIs目的によるんじゃね?
・.Netで楽したい
→C++/CLI
・MSに縋りつきたい
→VSで頑張ってMFC
・どうしてもC++は馴染めない
→WinAPI直呼び
・できれば他のOSでも使いたい
→QtをQtCreatorで
0451デフォルトの名無しさん
2014/05/28(水) 13:57:12.78ID:GoJRs+ayMFCを少し使ってみたのですが、例えばボタンを配置してダブルクリックすると
自動的にOnBnClickedButton1()関数が追加されますよね。
このあたりはC#と同じですが、でもその関数が不要になり削除してビルドすると
エラーしました。C#だと問題なくビルドできます。それでMFCは使いづらいなあと
いう印象を持ちました。
私としては、そんなに複雑なGUIを作る予定はないので、高機能なものよりも、
GUI作成時の操作性の良さを優先したいです。例えば上で指摘したような件は、
些細な事ですが私にとっては重要です。
WTLというのを試してみようかなと思っていますが、どうでしょうか?
>・.Netで楽したい
>→C++/CLI
C++/CLIは少しやってみましたが、複雑で断念しました。
>・MSに縋りつきたい
>→VSで頑張ってMFC
今ここで迷っています。
>・どうしてもC++は馴染めない
>→WinAPI直呼び
それは避けたい。
>・できれば他のOSでも使いたい
>→QtをQtCreatorで
これも試してみます。
0452デフォルトの名無しさん
2014/05/28(水) 14:07:41.68ID:D+f+jZyP0453デフォルトの名無しさん
2014/05/28(水) 18:03:43.00ID:6RxarYIUMFC は初心者向きで、いつまでたっても初心者を脱出できないカタワになること享けあい。
0454デフォルトの名無しさん
2014/05/28(水) 21:26:02.80ID:2bmOQwT60455デフォルトの名無しさん
2014/05/28(水) 21:56:51.16ID:vt8gBzLMWin32++がウィンドウのサンプル多いから改造しやすいがリソースファイル周りがちょっと面倒
0456デフォルトの名無しさん
2014/05/28(水) 23:19:13.72ID:tZBZVEkH大昔にC++Builder使ったことあるけどサクサク組めて簡単だった。
でもC++/CLIを複雑過ぎると言う方には、どうなんだろ。
C#やVBで、簡単なサンプルじゃなく、自分が欲しいアプリを出来るだけ妥協せずに
1本組んでみたらいかがでしょうか。その後でC++に手を出しても遅くないと思います。
今の段階ではマニュアルが読めないんじゃないかな?
0457デフォルトの名無しさん
2014/05/28(水) 23:26:41.66ID:8pIXW7APC++自体初めてなのにわざわざマイナーな環境で苦労することはない。
0458デフォルトの名無しさん
2014/05/29(木) 01:27:30.54ID:yMYw3hJp何使ったってうまく行かないよ、そういう人は。
0459デフォルトの名無しさん
2014/05/29(木) 02:18:03.33ID:PR7m/tdqより良い開発環境を求めて何が悪いと?
0460デフォルトの名無しさん
2014/05/29(木) 02:37:26.16ID:yMYw3hJp言語仕様は開発環境じゃ変わらないよ?
そんなこともわからない奴がより良い環境って。
0461449
2014/05/29(木) 05:33:31.36ID:82BFXyhlQtは試していませんが、調べた限りではちょっと大掛かりな感じなので
やめました。
ということでMFCを勉強することにしました。
C#の場合だと、プロパティ設定でフラットスタイルや、上下左右のアンカー
など簡単でしたがMFCでは難しそうですね。それとタブコントロールにタブページ
の追加方法が分らなくて困っています。ああ、難しい。
0462デフォルトの名無しさん
2014/05/29(木) 10:03:57.83ID:7BbAPvjCVC++に手を出すなら猫でも分かるプログラミングでも見て
API直叩きのプログラミングを経験した方が良いよ
MFCはそれを楽にするためのクラス群だし
難しいってのは基礎知識が無いってだけの話だからね
掛け算を知らないのに因数分解を学ぼうとするようなもの
そういった意味ではC#は完全に別物だよね
0463デフォルトの名無しさん
2014/05/29(木) 22:27:10.25ID:vpEOP7D2MFCはそれ自体で完結しているから、MFCとWin32という界面の違いというだけで
どっちから始めても大して変わらんだろ。
Win32の知識があればMFCの個々の設計がなぜそのようになっているか理解
しやすいだろうが、Win32の設計を1から理解しようとしたら歴史の知識が必要だw
0464デフォルトの名無しさん
2014/05/29(木) 23:40:45.66ID:82BFXyhlhttp://www.g-ishihara.com/mfc_cb_01.htm
メンバ変数追加ウィザードの画面で、コントロール変数のチェックボックスなどがインアクティブ
な状態になっていて選択できません。できるのはコントロール変数ではなく、普通のint型などのメンバ
変数の追加のみです。
どうすればコントロール変数を追加できるでしょうか?
VisualStudio2013のMFCプロジェクトです。
0465デフォルトの名無しさん
2014/05/30(金) 03:08:54.26ID:+JiPsEdlカテゴリの項目が「Value」になっていないか?
0466デフォルトの名無しさん
2014/05/30(金) 08:02:41.98ID:5UIEmL2bカテゴリの項目もインアクティブで変更できませんでした。
その後、プロジェクトを保存して再度開いたりしていたら、
自然に解決しました。原因はわかりません。
0467デフォルトの名無しさん
2014/06/03(火) 18:10:20.28ID:hUkg2c+YIEとかでそのまま使う方法ありますか?
やりたいことは、遠隔からIEにIP指定して画面を起動したいです
ttp://111.111.111.111:8080/index.htmlみたいな感じで
ダイアログ画面を起動したいです
ASP.netとかじゃないと無理ですかねえ
0468デフォルトの名無しさん
2014/06/03(火) 19:52:51.86ID:x+JfIFfHって話では無いよなあw
その説明だけだと、本当にやりたい事がわからないな。
0469デフォルトの名無しさん
2014/06/03(火) 20:02:12.83ID:ldg7iKBpGUI遠隔操作とかやったことある
0470片山博文MZ悪魔崇拝 ◆T6xkBnTXz7B0
2014/06/03(火) 20:14:14.90ID:t1Kppqzn素直に作りなおすといいよ。
0471デフォルトの名無しさん
2014/06/03(火) 20:36:11.35ID:ihOB1yvwびっくりだ
0472デフォルトの名無しさん
2014/06/04(水) 17:22:01.33ID:MuCyUmqy作りたいのですが、その場合、親のウインドウはダイアログウインドウになるのでしょうか?
それともダイアログウインドウ無しでPropertySheet自身が親ウインドウになれるのでしょうか?
一般的な方法を教えてください。
0473デフォルトの名無しさん
2014/06/04(水) 17:28:06.51ID:2ij5JthNUchan の出番だな
0474デフォルトの名無しさん
2014/06/04(水) 22:03:25.69ID:CdPl8bsr好きに作ればエエ
0475デフォルトの名無しさん
2014/06/04(水) 22:33:13.64ID:jM6qArUIゆい姉さん
0476464
2014/06/08(日) 12:51:14.20ID:psuIHcXy一時、治っていたのですが、また発症しました。
http://www.g-ishihara.com/mfc_cb_01.htm
を見ながら作っているのですが、
メンバ変数追加ウィザードの画面
http://www.g-ishihara.com/mfc_cb_01_05.png
で、コントロール変数のチェックボックスなどがインアクティブな状態になっていて選択できません。
つまり、3列あるこの画面で、中央と右側の列が全部インアクティブ状態で、左側の
アクセス(A)
変数の種類(V)
変数名(N)
の欄のみ入力可能です。中央列のコントロール変数チェックボックスが有効に出来ないのです。
どうすればコントロール変数を追加できるでしょうか?
VisualStudio2013のMFCプロジェクトです。
0477デフォルトの名無しさん
2014/06/08(日) 13:51:27.69ID:OVTpY++Gプルダウンのボタンを右クリックしてるとか?
0478デフォルトの名無しさん
2014/06/12(木) 09:18:24.66ID:GvZA3DBSちなみに自分は思います。
シンプルなことを複雑に書いてしまっているので、ちょっとした機能向上
のために自前で何かを追加すると、アクティブ化やDocking, Floating関連、
CFrame,CView,CDocument関連の一部で妙な不具合が出てきます。
0479デフォルトの名無しさん
2014/06/12(木) 09:26:17.26ID:GvZA3DBS表示する事が基本理念なのに、VC++6.0のMFCで用意されている関数は、
CFrame,CView,CDocumentを一括で作成する物だけで、既存の
CDocumentを新しいCViewにリンクするような関数は無いようです。
メッセージ・ルーティングも、実装が複雑なせいか、Doc&View
Architecute から離れて、単独の CView や CWnd などを持つと、
当たり前のことが当たり前に出来ないような事態になります。
0480デフォルトの名無しさん
2014/06/12(木) 09:43:07.98ID:XjWc7dDP0481デフォルトの名無しさん
2014/06/12(木) 09:52:17.91ID:iyKKJxWhMFCをそのまま使うだけじゃ出来ないことも多いけど
使い方を理解せずに「出来ない」って言ってるようにしか見えない
0482デフォルトの名無しさん
2014/06/12(木) 10:00:12.19ID:GvZA3DBSアプリに作成されたCViewの継承クラスに OnActivateView() の仮想関数を
追加。その中で:
MyDebugPrintf( "OnActivateView(), bActv = %d, pAct=%08X, pDeact=%08X, this=%08X\n",
bActivate, pActivateView, pDeactiveView, this );
と書く。この関数は、OutpurDebugString()にvspritnf()を使って、
書式付出力機能をつけた物。
デバッグを開始し、アプリのファイルメニューから新規作成を二度行い、
MDI Child Frame を二個作って、アクティブ化のテストを行う。
別アプリをアクティブ化して、このアプリのタイトルバーをクリックす
ると、pAct==pDeact==this で上記の仮想関数三回呼び出されてくる。
bActvは、1,0,1 の順。で、三回とも、同じ this の値は同じ。つまり、
pAct==pDeact==this は、計9回同じ値が表示され、bActvだけが1,0,1。
別アプリをアクティブ化して、このアプリの中のMDI子ウィンドウをクリック
した場合は、これが、4回となる。
0483デフォルトの名無しさん
2014/06/12(木) 10:11:18.90ID:GvZA3DBSなるほど。それはすみませんでした。
ちなみに、MSDN Library によれば:
pView = new CMyView;
pView->Create(NULL, NULL, AFX_WS_DEFAULT_VIEW,
rectDefault, this, AFX_IDW_PANE_FIRST + 1, NULL);
//pView->SetDlgCtrlID(AFX_IDW_PANE_FIRST); // ???
pView->ShowWindow(SW_SHOW);
AddView( pView );
SetActiveView(pViewAdd);
RecalcLayout();
とするとのことですが、CViewのCFrameWnd はどうなりますか?
自動作成ですか、自前で用意するのですか?
CViewを追加するだけでこのように大量のコードが必要なのですか?
0484デフォルトの名無しさん
2014/06/12(木) 10:24:14.20ID:GvZA3DBS誤:AddView( pView );
正:pDocument->AddView( pView );
ただ、CDocument::AddView(CView *pView) より、
virtual CFrameWnd *CDocTemplate::CreateNewFrame( CDocument* pDoc, CFrameWnd* pOther );
の方が「まだまし」な関数です。なぜなら、後者は、ちゃんとCFrame
を作成してくれるからです。
しかし、これが正しく動作するかは誰にも分かりませんが。
0485デフォルトの名無しさん
2014/06/12(木) 11:23:14.63ID:iyKKJxWhドキュメントテンプレートを理解しないと無理
それっぽいメンバ関数を呼べばいいってものじゃない
中途半端な知識を捨てて1から勉強したほうがいいよ
0486デフォルトの名無しさん
2014/06/12(木) 11:31:25.92ID:GvZA3DBSCViewは、どんなCFrameWndに入れても正しく動作するわけではないことは
実験的にはっきりしています。もちろん、一般のCWndに入れたらそれ以上
に駄目です。
MDIの場合、結露から言うと、CViewは、CMainFrm (<-- CMDIFrameWnd) に
入れるか MDI CLIENT WINDOW の子であるところの CMDIChildWnd に入れ
ないと正しく動作しません。
それ以外のCFrameWndに入れた場合、メッセージルーティングがおかし
くったり、アクティブ化が誤動作します。Docking<--->Floatingでは、
親であるところのCFrameWndの「すげ換え」が置きますが、CControlBar
にCViewを入れたりすると、Floating化後に「二重アクティブCView現象」
が発生し、CMainFrmのメニューが(開こうとすると点滅して)開けなく
なります。
0487デフォルトの名無しさん
2014/06/12(木) 11:45:23.41ID:GvZA3DBS釈迦に説法。
自分はIPA認定の天才プログラマを超えている。
その上でかなりMFCの経験をつみ、よく調べた上で書いている。
MFCはスパゲッティーで、ドキュメントに書かれている理念でさえ
満たせていない。ほぼデフォルトの状態でしか使えないと見た方がいい。
変えようとするとさまざまな不具合に遭遇し、MFCのソースを解析、
SPY++でメッセージの調査、テストアプリの製作が必要となり、
最終的にはMFCのソースを大量にコピーして修正する必要が有るか、
または、そうした方が楽。
0488デフォルトの名無しさん
2014/06/12(木) 11:57:26.63ID:ps0VIDNa0489デフォルトの名無しさん
2014/06/12(木) 12:00:14.51ID:iyKKJxWhもう何も言うことはありません
いや、天才プログラマを超えてるわけだから…
0490デフォルトの名無しさん
2014/06/12(木) 12:00:25.93ID:GvZA3DBS実際書いてるし、これからもっと書くつもり。
0491デフォルトの名無しさん
2014/06/12(木) 12:04:03.31ID:GvZA3DBS「使いこなせない」わけじゃない。普通のプログラマなら、デフォルト
状態に毛の生えた状態でしかしようとしない。
自分の場合は、機能拡張を試みるので、機能拡張が全く出来ないよう
ものが困るだけ。
0492デフォルトの名無しさん
2014/06/12(木) 12:10:17.33ID:GvZA3DBS誤:ちなみに、CDocument::AddView(CView *pView) が公開されていることで、
CViewは、どんなCFrameWndに入れても正しく動作するわけではないことは
正:ちなみに、CDocument::AddView(CView *pView) が公開されているので
勘違いしそうですが、CView を、どんなCFrameWndに入れても正しく
動作するわけではありません。それは、
0493デフォルトの名無しさん
2014/06/12(木) 12:14:12.78ID:GvZA3DBSその理解もホントは間違い。
なぜなら、オブジェクト指向の理念からすると、公開されている
関数は、どのような使い方をしても正しく動作しなければならない
から。
CView *pView を引数に持つ関数を公開するのなら、ありとあらゆる
方法で作成した CView でも絶対的に正常に動作しなければならない。
この理念の理解の仕方が、天才プログラマのオイラとMFCの設計者や
あなたとの違いだ。
0494デフォルトの名無しさん
2014/06/12(木) 12:24:41.32ID:GvZA3DBS次のようなことが守られて無ければならない。
・pView = new CView した pView でも良い。
・CDocTemplate などから間接的に作成したものでも良い。
・既にどこかで使われている既存の CView でも良い。
・CView は、Create() や CreateEx() などでウィンドウオブジェクト
を作成する前でも後でも良い。
・CView は、クラスの集合で公開されている方法を使ってそうなった
なら、他のどんな種類のウィンドウの子であっても良い。
もし、一般の CWnd の子に成り得てしまうのなら、その場合でも
正常に動作しなければならない。
・CView は、どんなスタイルや属性を持ってCreate()やCreateEx()
されていても良い。
これが、C++ の基本的な理念。これが一つでも守られていなければ
アウト。ただし、CView は、一般の CWnd ではなく、必ず CFrameWnd
に入れる、程度の制約は、ドキュメント化されているならセーフ。
0495デフォルトの名無しさん
2014/06/12(木) 13:47:21.08ID:foAgyfNc0496デフォルトの名無しさん
2014/06/12(木) 14:35:40.14ID:VbjypW4uMFCの考え方が素晴らしいから他の環境にもどんどん適用していこう、
なんて奴はどこにもいないから安心して良いよ。
あとは>>495の通り。MFC1.0はWin3.1より前じゃないかな。
0497デフォルトの名無しさん
2014/06/12(木) 15:05:09.91ID:gzq5J5qE0498デフォルトの名無しさん
2014/06/12(木) 15:16:34.79ID:CisCdg7yMFCは使わない方が良い
むしろ使うべきではない
天才ならもっと早く気付け
0499デフォルトの名無しさん
2014/06/12(木) 15:26:31.26ID:GvZA3DBS0500デフォルトの名無しさん
2014/06/12(木) 16:06:59.23ID:SK659vFtWin32API 最高
0501デフォルトの名無しさん
2014/06/12(木) 16:28:21.32ID:C+ZFNT6Q0502デフォルトの名無しさん
2014/06/12(木) 19:51:14.40ID:yC50SOGlWin32API 糞
0503デフォルトの名無しさん
2014/06/12(木) 21:33:14.80ID:yC50SOGlおまwww
0504デフォルトの名無しさん
2014/06/12(木) 23:05:59.49ID:kwwtPGediteratorにoperator*()があるからといって、end()に対して使ったらアホ。
0505デフォルトの名無しさん
2014/06/13(金) 11:27:32.37ID:V8AWh71lend() に対して使っても、不整合は起きませんよね。
そこでiterator 自体がエラー処理するか、一般保護例外などがおきて
停止しませんか。
もしそうだとすれば、最高の安全性が確保されているということです。
AddView() して何のエラーも出ず、内部データの整合性がめちゃくちゃ
になって、後々原因不明のエラーになるのとは大違いです。
0506デフォルトの名無しさん
2014/06/13(金) 11:55:52.36ID:xgzZYZB7天才プログラマなのに使い方が分からず悪戦苦闘…
MFCなんてソースが付いてるんだからちょっと見れば分かるだろ
適当にやって「うまく動かないのはMFCのせいだ!」って…
天才プログラマなんだから自力で解決しろや
それができないならさっさと諦めろ
0507デフォルトの名無しさん
2014/06/13(金) 14:17:17.16ID:ooUx6NQl0508デフォルトの名無しさん
2014/06/13(金) 14:56:01.24ID:zlKbN8L50509デフォルトの名無しさん
2014/06/13(金) 14:56:41.14ID:zlKbN8L50510デフォルトの名無しさん
2014/06/13(金) 15:51:29.59ID:0JUM4RsI↓ ↓
天災プログラマはMFCを使えない
0511デフォルトの名無しさん
2014/06/13(金) 16:36:21.63ID:ooUx6NQlいいよ
0512デフォルトの名無しさん
2014/06/13(金) 17:57:11.17ID:28pi4WtW0513デフォルトの名無しさん
2014/06/14(土) 19:11:48.30ID:/GIgISesある程度以上のプログラマなら分かるだろうが、MFCのソースを見ると、
非常に複雑なコーディングになっていて、はっきりいって、こんがらがっ
てる。
0514デフォルトの名無しさん
2014/06/14(土) 19:14:18.65ID:/GIgISes0515デフォルトの名無しさん
2014/06/14(土) 20:10:23.73ID:fnX3+qSkMZC3が始まる……
0516デフォルトの名無しさん
2014/06/15(日) 00:42:18.00ID:gWcHCSVq恥ずかしさで転げまわる羽目になるのだろうなw
0517デフォルトの名無しさん
2014/06/15(日) 07:29:11.43ID:CUPMZUG20518デフォルトの名無しさん
2014/06/15(日) 09:44:50.27ID:H0hqrU74数年後も馬鹿のままだからならないよ
0519デフォルトの名無しさん
2014/06/15(日) 10:25:15.21ID:CUPMZUG2いうことが如実に分かるスレですね。
0520デフォルトの名無しさん
2014/06/15(日) 11:00:43.99ID:H0hqrU74ですよね〜
MFCのソースはほめられたものじゃないけど、ある程度の経験をつめば
「非常に複雑でこんがらがる」ほどではないことが分かる
だからあの程度で「非常に複雑でこんがらがってしまう」天才プログラマは
本当に天才なのか?って思ってしまう
でも見極める側に力がないからしょうがないですよね
0521デフォルトの名無しさん
2014/06/15(日) 11:18:22.32ID:Yby/fsOmMFC なんて使い物にならないと
とっくに見切ってるはず
0522デフォルトの名無しさん
2014/06/15(日) 13:27:21.91ID:paCDnv+xそれも間違い。
MFCはスパゲッティーではあるが、Visual Studio と統合されている
ことで、メッセージ・ハンドラの追加作業が、手でコーディングする
より遥かに効率的に行える。その他、CString が使えたり、
メニューの有効/無効が、OnUpdate 系のハンドラで、CCmdUI を
使って楽に行えたり、自作ダイアログのデータをCStringやintに
最初から入れてくれたりと、とても便利で効率的なことも多い。
つまりWin32を直に使うよりは、遥かに生産性が高い。
しかし、MFCがスパゲッティーで有ることもまた事実。スパゲッティー
だが、IDEとの連携で効率は良い、という複雑な事情が有る。
0523デフォルトの名無しさん
2014/06/15(日) 13:32:09.43ID:paCDnv+xそれも違うな。
あのソースを「スパゲッティー」だと思わないのは、あなたも
あの程度のスパゲッティーなプログラムしか出来ないからだ。
もっと遥かに美しい設計をいつもしている人なら、あんなソース
は問題外に感じるはず。
0524デフォルトの名無しさん
2014/06/15(日) 13:57:18.48ID:H0hqrU74そんな話はしてない
スパゲッティーだろうがなんだろうが天才なら理解出来るでしょ
あの程度が理解出来ないなんて…
実際多いんだよね
プライドだけ高くて何も出来ない奴が…
実力が無いことがばれそうになると言い訳ばっかして逃げる
実力があるならごちゃごちゃ言ってないでさっさと解決すればいいのに、
あれが悪いだのこれが駄目だの…
0525デフォルトの名無しさん
2014/06/15(日) 14:03:48.04ID:VrQXXusG俺が本物のスパゲッティーをお見せしてあげましょう
0526デフォルトの名無しさん
2014/06/15(日) 14:14:02.72ID:paCDnv+x実際読んでみたの?
すくなくとも、オイラはスパゲッティーなコードを解読する能力が
高くはない。
ではそれでもなぜ、天才的なプログラミングが出来るのかというと、
スパゲッティーなコードを自分では絶対に書かないからだ。
一目瞭然で、サルでも分かるような単純なコードになっている。
それでも出来上がった作品は、天才的だといわれる。
0527デフォルトの名無しさん
2014/06/15(日) 14:20:57.70ID:Rg7+Zgkt0528デフォルトの名無しさん
2014/06/15(日) 14:25:59.59ID:paCDnv+x何を言ってるの? 「解決」とは何のこと?
スパゲッティーなコードをスパゲッティーだと断言することが、
目的であって、特に解決すべきことはない。
MS は、公式に「MFCのソースを直接変えるな」といっている。
あのレベルのスパゲッティーさを解決するには、
「リファクタリング」するのは最善の策。
それをMSは「禁止」している。
だから、直すためには禁止事項を破る必用が有る。
0529デフォルトの名無しさん
2014/06/15(日) 14:59:56.67ID:Yby/fsOm人間が書いたものじゃなくて
MSDN の翻訳サイトみたいに
機械生成で造らせたコードだからかも知れないぬ
0530デフォルトの名無しさん
2014/06/15(日) 15:01:57.17ID:paCDnv+xそんな可能性は低いと思うけど、ちなみに中身の汚さは外にも出てる。
だから拡張性が低く、ソースがないと利用するのが困難。
本当に美しい論理構造を持っていれば、ソースが無くともスラスラと
利用できるライブラリになる。
0531デフォルトの名無しさん
2014/06/15(日) 15:12:49.29ID:VrQXXusG0532デフォルトの名無しさん
2014/06/15(日) 15:22:14.63ID:H0hqrU74禁止事項?
http://msdn.microsoft.com/ja-jp/library/ms235264%28v=vs.100%29.aspx
MFC ソースを変更し、その MFC DLL を再度ビルドする場合は、変更後の
MFC DLL が Visual Studio にインクルードされている MFC DLL と競合
しないように名前を変更する必要があります。
MFC DLL のリビルドおよび名前の変更は、できる限り行わないでください。
詳細については、MFC のテクニカル ノート 33 を参照してください。
http://msdn.microsoft.com/ja-jp/library/hw85e4bb%28v=vs.100%29.aspx
したがって、MFC のソース コードを変更して MFC DLL のカスタム
バージョンを作成するときは、別の名前を使ってください。
"MFC" を含まない名前をお勧めします。
0533デフォルトの名無しさん
2014/06/15(日) 15:42:51.93ID:paCDnv+xよく思い出してみると、「MFCソースは直接、修正すべきではない」
だったような気がする。
そりゃそうかもしれないな。
0534デフォルトの名無しさん
2014/06/15(日) 16:02:33.95ID:paCDnv+x>実際多いんだよね
>プライドだけ高くて何も出来ない奴が…
>実力が無いことがばれそうになると言い訳ばっかして逃げる
>実力があるならごちゃごちゃ言ってないでさっさと解決すればいいのに、
>あれが悪いだのこれが駄目だの…
そういう人も多いかもしれないが、オイラはそれには当てはまらない。
作品や他人の評価を知れば、それは証明できる。
0535デフォルトの名無しさん
2014/06/21(土) 19:35:59.51ID:+tlHdBiN0536デフォルトの名無しさん
2014/06/21(土) 20:31:21.24ID:9Y4wI++n0537デフォルトの名無しさん
2014/06/21(土) 23:42:09.50ID:+tlHdBiN0538デフォルトの名無しさん
2014/06/23(月) 09:55:52.21ID:xVD6cdY20539デフォルトの名無しさん
2014/06/23(月) 10:46:22.84ID:Vv3nlqf+0540デフォルトの名無しさん
2014/06/23(月) 10:48:14.50ID:Vv3nlqf+0541デフォルトの名無しさん
2014/06/24(火) 02:16:01.71ID:4sDn2htrダイアログプログラムに移植しようとしたが、STLでビルドエラーだ、困った
もんだ。
setコンテナのinsert()メンバ関数とかでエラーになる。
Visual C++ 6.0の[プロジェクトの設定]ダイアログボックスの[C/C++]タブ
の[プロジェクト オプション(O)]に、/GX を追加しても、ビルドで警告表示
は解消しないし、エラーも出てしまう。
どうすれば良いものか。
もちろんヘッダーファイルはインクルードしているし、移植前のプログラム
は、普通にコンパイルが通ったものを使ってる。
Visual C++ 6.0での話しで、それは会社にしかないので、今はそのエラー
メッセージは確認できないが。
自分のVisual C++ .net 2003なら、何も問題なくビルドが普通に通ったが。
どうすれば、STLを普通にビルドを通せるようになるでしょうか。
または、それが無理なら、STLと同様の処理が可能なMFCのライブラリという
ものはないですか。
0542デフォルトの名無しさん
2014/06/24(火) 03:12:42.64ID:y3aUZP9Hそれなら
#pragma warning disable
0543デフォルトの名無しさん
2014/06/24(火) 06:51:46.67ID:G9G4AQQ3保守案件ならSTLを新規に使うことはないわけだし。
0544デフォルトの名無しさん
2014/06/24(火) 07:42:17.49ID:LohfYnwoVC6でSTLをまともに使おうとするのは一寸無謀すぎる。
0545デフォルトの名無しさん
2014/06/24(火) 09:13:55.66ID:sHZWMGRbサポートされていない「機能」でも、自分で解決するのが
プログラマ、だという主張がされているよね。
どんなにMFCがスパゲッティーでも、使いこなせなければプログラマの
能力が低いとされる。
であるならば、サポート切れした開発環境でも使いこなしてみせ
るのが優秀なプログラマだという事だよね。
なぜなら、ちゃんと設計できてないMFCでも、プログラマが苦労して
使うという意味では同じだもの。
0546デフォルトの名無しさん
2014/06/24(火) 09:16:30.66ID:oDNeDxJ60547デフォルトの名無しさん
2014/06/24(火) 09:58:31.06ID:sHZWMGRb悪い筆でもそれなりに上手く書けるが、良い筆で無いと到達できない
領域が有るのであろう。
0548デフォルトの名無しさん
2014/06/24(火) 10:30:56.85ID:AoaCOEtoどこにそんな話があったんだ?
自称天才プログラマが人の話を聞かずにギャーギャー騒ぐから
天才なら自分で何とかしろよって話になっただけでしょ。
0549名無しさん@0新周年
2014/06/24(火) 11:09:51.36ID:I/LXKLNz0550デフォルトの名無しさん
2014/06/24(火) 11:16:32.92ID:rOvxW0070551デフォルトの名無しさん
2014/06/24(火) 11:35:09.26ID:EGSIKm2X0552デフォルトの名無しさん
2014/06/24(火) 13:10:51.35ID:sHZWMGRb優秀そうな人の集まりであるかのような書き込みで満ち溢れている2ch
が、実際は凡夫の集まりで有ることに気づかなかったんだよ。
0553デフォルトの名無しさん
2014/06/24(火) 13:13:02.70ID:rOvxW007ギトギトしたアピールとの区别くらいつくやろ
0554デフォルトの名無しさん
2014/06/24(火) 13:29:38.06ID:sHZWMGRbことは本当に出来る人がほとんど。
「プライドが高い」のではなく本当に出来るから出来ると言っている。
そのつもりで2chを見ていれば、何でも答えられる人の集まりなのだと
勘違いしてしまうんだよ。
0555デフォルトの名無しさん
2014/06/24(火) 13:40:42.42ID:AoaCOEto「俺は天才だから、その指摘は俺には当てはまらない」
なんて言ってたら何も答えてくれなくなる
すぐ話をすり替えるし…
いい加減気付けよ
0556デフォルトの名無しさん
2014/06/24(火) 13:59:13.02ID:sHZWMGRbはっきり言わないと、世界中からアクセスされてくる2chでは
通用しないんだよ。
それに、天才の言うことを凡人が見ると、知的障害者のように
馬鹿げて見えることが有るようだし。
さらに、2chでは、どのように態度をとっても、「意味有る答えは
めったに返って来ない」ようだし。
0557デフォルトの名無しさん
2014/06/24(火) 14:01:28.16ID:sHZWMGRb>仮に何でも答えられる人が居たとしても、
MFCのソースのダメさが理解できない人たちにそれは出来ない。
0558デフォルトの名無しさん
2014/06/24(火) 14:21:31.33ID:oDNeDxJ60559デフォルトの名無しさん
2014/06/24(火) 14:24:39.26ID:oDNeDxJ60560デフォルトの名無しさん
2014/06/24(火) 14:25:33.90ID:oDNeDxJ60561デフォルトの名無しさん
2014/06/24(火) 15:05:47.32ID:AAHBTYvg0562デフォルトの名無しさん
2014/06/24(火) 17:05:49.94ID:AoaCOEtoMFCのソースが良いソースなんて誰も言ってない
最初はMFCの質問かと思っていたけど、要するに
「MFCは糞だよね、天才の自分でも理解できないんだから」って
意見に賛同して欲しかっただけでしょ
0563デフォルトの名無しさん
2014/06/24(火) 17:27:47.46ID:sHZWMGRb>>「MFCは糞だよね、天才の自分でも理解できないんだから」って
まあ、勝手に言ってなさいな。
0564デフォルトの名無しさん
2014/06/24(火) 19:38:35.52ID:rOvxW007笑え…ない
0565デフォルトの名無しさん
2014/06/24(火) 21:15:46.36ID:lP72EcqDVC++5のときにSTL系でコンパイルエラーがよく出てた気がする。
そのときはリリースビルドだとエラーがでなくなったことがある。
MFCにCMapってクラスがあるからsetの代わりになるんじゃないの?
もう全然覚えてないけど。
0566デフォルトの名無しさん
2014/06/25(水) 02:21:32.59ID:kNLYduItclコマンドでコンパイル・リンクして、コマンドプロンプト上で実行するプログラム
を作ることが多い。STLは不可欠だ。
そして、Visual C++ 6.0でWindowsプログラムを作成する方法を学習して、少し理解
できてきたところだ。
>>541のプログラムは、標準入出力(コマンドプロンプト)で実行するものを、GUI化
しようとした。
MFCベースのダイアログプログラムを最初にウィザードで作成して、リソースエディタ
を編集して、コマンドライン引数や標準入力から取得していたものは、エディットボックス
から取得するように変更して、コマンドボタンのメッセージハンドラの関数に、main()関数
から実行していたコードを移植して、標準出力していたものは、メッセージボックスで表示
するように変更するという方法で、GUI化を考えた。
STLは使ってるけれど、同じVisual C++ 6.0のclコマンドで、コマンドプロンプトで実行
するプログラムは、問題なく作成できたものだから、ダイアログプログラムにしたからと
いって、ビルドエラーになるとは考えていなかった。clコマンドでは、STLのコードで大量の
警告は出るが、/GX を指定すると出ない。だから、[プロジェクトの設定]ダイアログボックス
で、その設定はしたけれど、効果なしだったし、>>542で教えてくれた #pragma warning disable
も効果なしだった。
これはもう、MFCでのクラスで代替手段を使ったほうがいいかもしれんな。>>565がリリースビルド
と言ってるし、明日会社で、リリースビルドで試して、それでも解決しなければ、MFCに変更する。
MFCのクラス階層図を見ると、配列、リスト、マップというものがあるな。これからは、これらを
勉強したほうがいいな。CSetというクラスは存在してないので、>>565の言う通り、CMapで代用す
るしかないな。そして、CMultiMapも存在してないので、multimapを使ったコードの移植もどう
するか対策の検討が必要になりそうだな。
0567デフォルトの名無しさん
2014/06/25(水) 02:29:01.82ID:kNLYduIt"d" (D) でなくて、 "c"と"l" (CL) コマンド。
0568デフォルトの名無しさん
2014/06/25(水) 02:52:13.26ID:kNLYduIt会社のパソコンのC++コンパイラは、それしかなく、またフリーソフトのダウンロード
は禁止なので、Visual Studio Express等を入れるわけにもいかないので、仕方ないのです。
0569デフォルトの名無しさん
2014/06/25(水) 03:12:57.65ID:kNLYduItもあることだし、Visual C++ 6.0の学習本で効果的に学習するためと、会社のパソコン
で使うVisual C++ 6.0でのプログラム作成能力を身に付けるために、Visual C++ 6.0
の購入も検討したが、AmazonでEnterprise版の中古は68,000円Professional版は新品で98,000円、中古で4万円、Standard版
の中古で2万もするからな。
これだけのために、この高額な出費は厳しいな。
0570デフォルトの名無しさん
2014/06/25(水) 05:57:09.42ID:UIqp9yq90571デフォルトの名無しさん
2014/06/25(水) 07:47:30.11ID:ddPSuVSv意思疎通できてる。もし日本語が変に感じるなら、
天才の言語感覚と、凡人であるあなたの言語感覚とが違っているだけ。
0572デフォルトの名無しさん
2014/06/26(木) 00:23:56.26ID:EUltEyNe0573デフォルトの名無しさん
2014/06/26(木) 01:07:03.23ID:yx8r5ZXb過去製品のサポートだとかでも必要だし、新しい製品と言ってもベースは過去ソースだったり。
0574デフォルトの名無しさん
2014/06/27(金) 10:14:28.00ID:MD/Kgkpe0575デフォルトの名無しさん
2014/06/27(金) 22:15:14.18ID:+f+jTPw3最新のVSは過去のWindowsどんどん切り捨ててるし
0576デフォルトの名無しさん
2014/06/27(金) 23:05:23.42ID:tyj/D5gsえ???
0577デフォルトの名無しさん
2014/06/28(土) 06:00:04.81ID:WBXNiQjo0578デフォルトの名無しさん
2014/06/28(土) 12:37:49.66ID:57e/13Kx>最新のVSは過去のWindowsどんどん切り捨ててるし
具体的にお願いします:
0579デフォルトの名無しさん
2014/06/28(土) 13:01:24.20ID:pkB82Erlいちいち「もっと secure なの使え」って警告出るのはやめて
0580デフォルトの名無しさん
2014/06/29(日) 13:47:10.57ID:HJOUXsHi#define _CRT_SECURE_NO_DEPRECATE
0581デフォルトの名無しさん
2014/07/03(木) 23:29:52.68ID:2beLGnBnVS2008でWin9X系のバイナリは作れない。2010でWin2kのバイナリは作れない
>>576
お前はプロではないのか?
0582デフォルトの名無しさん
2014/07/04(金) 00:24:28.83ID:Qf+YHaeI0583デフォルトの名無しさん
2014/07/04(金) 20:37:20.76ID:4D1jvaxNだめなら派生させ、WM_DROPFILES/OnDropFiles()で何もせずリターン
0584デフォルトの名無しさん
2014/07/05(土) 10:07:33.38ID:4+ZYXVfC0585デフォルトの名無しさん
2014/07/25(金) 23:59:28.12ID:KWe1DoCqHMENUはどれを指定したらいいのでしょうか。
4つ試したのですが、うまく動作しませんでした。
void CMainFrame::OnTestSettext(){
CMenu* main_menu = AfxGetMainWnd()->GetMenu();
CMenu* this_menu = this->GetMenu();
CMenu* menu_menu = this->m_wndMenuBar.GetMenu();
CMenu* tool_menu = this->m_wndToolBar.GetMenu();
::ModifyMenu(tool_menu->m_hMenu,ID_TEST_HELLOWORLD,
MF_BYCOMMAND|MFT_STRING,ID_TEST_HELLOWORLD
,L"こんにちは世界");
}
0586デフォルトの名無しさん
2014/07/26(土) 02:10:56.54ID:pKa/BFWUメニューバーのように元ネタとしてしか使っていない場合、
メニュー自体を変更しても画面には反映されないような気が。
MFCの流儀に従って、UPDATE_COMMAND_UIメッセージのタイミングで
CCmdUI::SetTextで変更するのがお勧めだな。
0587585
2014/07/26(土) 05:33:55.28ID:ozo5SIolおお、ありがとうございました。
WTLでは似たようなやり方でなんとか動いていたのですが、
CCmdUI::SetTextですか。
無事、動きました。
0588デフォルトの名無しさん
2014/08/09(土) 13:55:36.09ID:H0g9sw/6CMyxxxDlgクラスが生成されると思うのですが
これってなんでデストラクタが生成されてないんですか?
MFCのCDialog派生クラスではデストラクタ禁止とか?
0589デフォルトの名無しさん
2014/08/09(土) 16:53:38.54ID:Tp6ekRy+Spin はリソースのプロパティで止められるのに Comboはできません。メンバ関数も無いようです。
よろしくお願いします。
0590デフォルトの名無しさん
2014/08/11(月) 14:59:20.29ID:ZBtQaP4y(クラスウィザードで生成されたコードには)不要だから。
必要があれば自分で書けばいい。
>>589
派生クラスを作成して PreTranslateMessage で握りつぶす
0592デフォルトの名無しさん
2014/08/26(火) 01:09:40.18ID:q2uUhQ1iGB18030に対応するとなると、Unicodeアプリにしないとだめ?
それとも、UTF-8対応アプリとして作成したほうがよいのかな。
経験者いませんか。
0593デフォルトの名無しさん
2014/09/01(月) 15:55:55.89ID:nQghNeelんなこと気にするな、ロジックは変わらない。
0594デフォルトの名無しさん
2014/09/01(月) 16:21:50.10ID:xK7WN8k/使ってるライブラリによって選択肢が絞られるというのが
いつものパターン
0595デフォルトの名無しさん
2014/09/01(月) 16:27:29.06ID:X69OanmZUNICODE(ここでは WIDE 文字の意味)だけだと、2BYTE文字までの対応に
とどまる。
それでは足りないと言うことで、サロゲートペアが導入された。
もともと、1文字を 1 つの wchar_t 変数だけで済まそうと思った
のが Windows における UNICODE 対応だったが、その前提が崩れた。
元々、国産機時代から、SHIFT-JIS が使われていたが、
それは、1文字を全部2BYTEで表すよりは効率が良かったからだ。
8 bits, 16 bits マシンでも効率が良く処理できた。
同様の仕組みの UTF8 は全てを WIDE 文字で表す Windows の
UNICODE 対応よりは効率が良い可能性が高い。
分かりやすい上に、一度対応してしまうとその後何もすること
も無い。
2BYTEでも1BYTEでも今のCPUでは速度が変わらないように思えるが、
使用するメモリが増大することによる効率低下はまだ無視できない。
ASCII文字まで2BYTEで書くのは効率が悪い。最近、ASCII文字まで
2BYTEで表現されたテキストファイルを見たことがあるが、
あれは馬鹿ではなかろうか。
0596デフォルトの名無しさん
2014/09/01(月) 16:44:51.95ID:xK7WN8k/64kBスモールモデルからやり直せ
0597デフォルトの名無しさん
2014/09/01(月) 16:46:39.82ID:riC6owF6シフトしてるだけだしなあ
0598デフォルトの名無しさん
2014/09/01(月) 16:48:05.28ID:riC6owF60599デフォルトの名無しさん
2014/09/02(火) 11:03:19.57ID:TmMSlGm8それは状態変数のある文字コードと呼ばれていて、SJISや
UTF8よりはプログラミングしにくい事が知られている。以下は理由の
一部:
・文字列を別の場所にコピーするような場合、状態まで含めてコピーする
必要がある。
・文字列の内容を正しく示すためには、ポインタだけでは足りず、状態も
必要となる。
一方、SJISや、UTF8は、読み込みと書き込みだけを関数に任してしまえば
プログラミングは楽。uint32 の変数に読み込んだ後の文字を入れてしまい、
それを処理すればよいだけ。それでいてメモリ効率が良い。
0600デフォルトの名無しさん
2014/09/02(火) 11:38:30.46ID:wdU1cIJ3むしろEUCの方だと思う
SJISのはギクシャクしてる
0601デフォルトの名無しさん
2014/09/02(火) 11:48:42.68ID:/m8AfW3s0602デフォルトの名無しさん
2014/09/02(火) 22:56:33.42ID:wdU1cIJ30603デフォルトの名無しさん
2014/09/03(水) 02:29:54.86ID:nJQEVZbi0604デフォルトの名無しさん
2014/09/03(水) 11:47:08.57ID:wH3fvtih一般的な方法、もしくはその詳細を示しているサイトがあれば教えていただきたいですが…
0605デフォルトの名無しさん
2014/09/12(金) 14:47:30.54ID:1g4SS1Y10606デフォルトの名無しさん
2014/09/12(金) 22:16:07.10ID:560WHGrX0607デフォルトの名無しさん
2014/09/13(土) 11:33:38.69ID:dGFUkkE80608デフォルトの名無しさん
2014/09/13(土) 12:10:33.35ID:81UxBdfS解説書が出ないうちに消えたのが残念だな。
0609デフォルトの名無しさん
2014/10/04(土) 18:27:06.54ID:IMKf9Y450610デフォルトの名無しさん
2014/10/04(土) 22:39:45.47ID:HPG7vLa4なぜかはわからんけどフリーでは配布されないぐらいの扱いをされているかもしれない
0611デフォルトの名無しさん
2014/10/04(土) 23:04:16.99ID:H28nZv4oWin7のサポートが切れる頃にはWinRTに移行してくれると思うが。
0612デフォルトの名無しさん
2014/10/06(月) 00:28:22.14ID:zc3GSDUD0613デフォルトの名無しさん
2014/10/06(月) 19:25:31.42ID:4uiIGAjI少なくともキミにはない。
0614デフォルトの名無しさん
2014/10/06(月) 23:46:27.02ID:P5y3Kt/6新規は少ないのでは?
0615デフォルトの名無しさん
2014/10/07(火) 00:21:21.14ID:AGZyHAPkまだのように思うなぁ。
MS自身、ストアアプリをC#に一本化できずにC++/CXなんてやらざるを得なかったくらいだし。
0616デフォルトの名無しさん
2014/10/07(火) 01:29:54.99ID:WYpWzpgi0617デフォルトの名無しさん
2014/10/07(火) 07:18:25.41ID:F2JbrDrK最初に習得した言語で十分と、新しい言語を学ぼうとしない人も多いし。
その結果、技術の進歩に取り残されて、使えない技術者になってしまうんだけどな。
0618デフォルトの名無しさん
2014/10/07(火) 07:59:02.03ID:FEWSCUR/後は束ねてゴミの日に出すだけだ。
0619デフォルトの名無しさん
2014/10/07(火) 08:55:52.03ID:nFAJZCFr0620デフォルトの名無しさん
2014/10/09(木) 05:33:26.89ID:Jo0mqKMoポインタも理解できない奴が人類に居ることが驚き
0621デフォルトの名無しさん
2014/10/09(木) 06:31:36.52ID:rubchCfk0622デフォルトの名無しさん
2014/10/09(木) 20:39:37.17ID:tOThY/oR0623デフォルトの名無しさん
2014/10/10(金) 00:18:37.32ID:G9TwYsex0624デフォルトの名無しさん
2014/10/10(金) 15:45:19.01ID:T0LFFi4l0625デフォルトの名無しさん
2014/10/10(金) 18:44:47.65ID:Xd6YjWLKプログラミングにおいてポインタを理解していないことは致命的な弱点なのか?
0626デフォルトの名無しさん
2014/10/10(金) 18:52:38.32ID:T0LFFi4l0627デフォルトの名無しさん
2014/10/11(土) 12:48:59.62ID:gz4lvABW高度に規制の掛かった、WEBアプリのような物しか組めなくなる
0628デフォルトの名無しさん
2014/10/12(日) 08:33:49.16ID:5zSMLK5i0629デフォルトの名無しさん
2014/10/22(水) 12:29:14.98ID:GnesLG+L0630デフォルトの名無しさん
2014/10/22(水) 23:18:56.35ID:a0guCzhK無理なのに無理やりやらせておかしくなってるのがこの業界でもあるな。
0631デフォルトの名無しさん
2014/10/23(木) 09:01:43.18ID:sksS7kTY日本ではプログラミングはエンジニアではなくて技能職扱いなんだよね
ドヤ顔でプログラムの「製造」とか言っちゃうでしょ?
0632デフォルトの名無しさん
2014/10/23(木) 09:28:03.02ID:GVukQ4G4ITドカタが標準だと思ってた
0633デフォルトの名無しさん
2014/10/24(金) 13:47:58.20ID:k8b8ruuQ実態そのものじゃないか
0634デフォルトの名無しさん
2014/10/24(金) 14:28:26.53ID:0u2i7qBO不治痛でも使ってる?
0635デフォルトの名無しさん
2014/10/24(金) 15:12:48.39ID:LInCoF9dそういえば日立用語かも?
で、日立に関わったことがある営業とかマネージャが得意げに言うのよ
製造って
0636デフォルトの名無しさん
2014/10/25(土) 08:41:51.34ID:kNxHTA5N「タイプ ライブラリからの MFC クラスの追加」でExcel 2010を追加したのだが、
xlDialogActivateとかの定数や列挙体ってインポートされないんだっけ?
みんなどうしてる?
0637デフォルトの名無しさん
2014/10/25(土) 10:25:54.88ID:kNxHTA5N*.tlhをインクルードするんだったな
0638デフォルトの名無しさん
2014/10/28(火) 04:21:41.46ID:eRgiBxYV環境は、VS2013 Pro とWin 8.1 です。
問題は、ダイアログを5つ作り、画面を移れる様にしました。
そのつど、Timerを作り、ダイアログを作りました。
移る時、はkillTimerを使い、Timerを切っていますが
その中の一つが、そのダイアログに移った瞬間
ボタンが、張り付き押せません。
最初は、他のtimerが動いていて、高速で動いている為と思い
debagでブレークポイントを付けて、見て見たのですが、動いている気配が無いです。
timerのIDを変えてみたのですが、それでもボタンが押せません。
Sleep(100)も入れてみました。症状は改善しません
「原因は、何が考えられる」でしょうか?
ソースは、大きいのと仕事なので記載出来ません。
エラー名も出ません、困っています。お願いします。
0639デフォルトの名無しさん
2014/10/28(火) 04:26:43.63ID:IaTzRo42割とマジレス
0640片山博文MZ次期CEO ◆T6xkBnTXz7B0
2014/10/28(火) 23:14:57.34ID:RQAouJbtなぜそのような画面遷移が必要なのか?
0641デフォルトの名無しさん
2014/10/29(水) 07:11:34.45ID:gYeqyNVo0642デフォルトの名無しさん
2014/10/29(水) 07:37:41.85ID:N8JvcROE勉強不足。Win32の基礎からやり直せ
0643638
2014/10/29(水) 22:07:35.02ID:r8pQJvlw有難う御座います。
ダイアログは、モーダルです。
親1 子4です。
未だ、原因は分かっていませんが
対処は、出来そうです。
新しく、ダイアログを作成して置き換えると
動作しそうです。(リソースが壊れた?)
因みに641は、私では無いです。
0644 【東電 74.8 %】
2014/10/30(木) 12:42:12.45ID:VubmAqciもしもしキミキミ!そうキミや。それはそうと、あれさ
神戸市の東、芦屋西宮の知的障害者施設で未成年利用者に性的な行為をして淫行条例で逮捕された三田谷学園元職員の堂垣直人(西宮市老松町)は、結局どういう罪になったの?
被害者家族のケアを芦屋市役所と兵庫県警はちゃんとやったのか?
差別や虐待は環境を選べない子供には関係ない。
http://www.youtube.com/watch?v=JxMzW3ZlV4g&sns=em
0645デフォルトの名無しさん
2014/10/30(木) 19:13:54.92ID:P+CVnAvqモードレスにしろよ
0646デフォルトの名無しさん
2014/11/07(金) 09:51:07.09ID:FbMgv0lzスレッド内でUpdateDataを使うと
debug asseetion failedになって
あまりよろしくありません。
で検索すると、PostMassage経由でUpdateDataに
アクセスすれば上記のエラーはでない模様です。
でもPostMassageもUpdateDataも
同じCWndメンバーなのに何故UpdateDataは
直接スレッドからアクセスできないのでしょうか。
0647デフォルトの名無しさん
2014/11/07(金) 10:07:48.63ID:nUR92w6Fメッセージループで処理されるのとが違う
0648デフォルトの名無しさん
2014/11/08(土) 06:18:29.33ID:F238qiEhUIスレッドと違うスレッドから呼び出したのなら当たり前かと。
MFCのオブジェクトは、基本マルチスレッドには非対応。
PostMessageは殆どAPI直結だから偶々通るだけ。
0649デフォルトの名無しさん
2014/11/08(土) 14:40:24.68ID:FUUNkC7E> PostMessageは殆どAPI直結だから偶々通るだけ。
嘘書くなよ。メイン(UI)スレッドでしかできない処理(スレッドコンテキストに依存する処理)を
他のスレッドから行わせるときはメッセージをpostして、メッセージループ経由でメインスレッドに
処理させるのは常道。『偶々通る』、なんてことじゃない。
0650デフォルトの名無しさん
2014/11/08(土) 18:10:20.71ID:F238qiEhという思い込みだけで呼び出しているみたいだから、偶々と書いたわけで。
事実UpdateDataはASSERTに引っかかっているし。
厳密には、KB147578に書いてある通りHWNDでPostMessageしろって話なのだろうけど、
流石にそこまではしなくても大丈夫かとw
0651デフォルトの名無しさん
2014/11/11(火) 20:45:36.67ID:rXOccRM9独立しているからでなかったかな。
CWinThread派生クラスにHWND型のデータメンバを追加しておいて、ワーカ
スレッドをサスペンド状態で作成して、ワーカスレッド内からメインスレ
ッドを呼び出す際に、
CWnd *pWnd=CWnd::FromHandle(m_hWnd);
pWnd->UpdateData();
でよかった気がする。
0652デフォルトの名無しさん
2014/11/14(金) 21:50:11.08ID:bZ12n+rgProってことはMFCもあるんだよね?
個人的にはどうでもいいけどw
0653デフォルトの名無しさん
2014/11/15(土) 13:56:53.32ID:I36Ez7uH0654デフォルトの名無しさん
2014/11/15(土) 17:28:43.57ID:yJPCIm/QVS2005以来なのでワクワクする。
0655デフォルトの名無しさん
2014/11/16(日) 08:28:58.89ID:lR2mulvd0656デフォルトの名無しさん
2014/11/16(日) 09:36:56.35ID:IB4rlMlg0657652
2014/11/16(日) 11:07:47.88ID:fYw/Ek9p>>652で言いたかったのはExpressとかの無料版はMFCなかったけど
Pro相当の無料版はMFCついてるなら、スレ的には価値のあるものかと思った。
個人的にどうでもいいのはVS2010Proもってて新規にMFCのアプリつくることはないので
それで十分とおもっているから。
MFCなくてもGUIのアプリなら
・他のライブラリを使う(QT,wx等)
・WindowsAPIを使う
・Managed系 Cli とかから System.Windows.Forms等を使う
0658デフォルトの名無しさん
2014/11/16(日) 13:49:32.07ID:zDSUi8Bd0659デフォルトの名無しさん
2014/11/16(日) 19:18:00.51ID:mcbtcq3H二つのプロジェクト間でリーソースをドラッグでコピーしようとすると
ドラッグされた側が異常終了してコピー出来ません。回避策ありますか?
Comunity版じゃない方はコピーできます?
vs2005で作ったプロジェクトにドッキングウィンドウを仕込もうとしてるんですが
menu,toolbar,statusbarをCMFC?に変えるところで上記問題にぶつかってます。
0660デフォルトの名無しさん
2014/11/17(月) 09:09:01.05ID:8aBncdyeリソースビュー上での操作のことであれば、
VS2008やVS2010ではドラッグでもコピーできるようだけど、
まずは普通にキーボードやコンテキストメニューなどでコピーしてみては。
0661デフォルトの名無しさん
2014/11/17(月) 17:41:31.02ID:MImLrqGZレスありがとうございます。
IDEからプロジェクトを閉じ、ファイルを開くから2つのプロジェクトが持つrcを開いたら
コピー可能でした。が、ちょっと不便ですね。
http://msdn.microsoft.com/ja-jp/library/a5axa064.aspx
0662デフォルトの名無しさん
2014/11/20(木) 22:18:02.24ID:4UHhfVdJ何の根拠もなく夢のようなライブラリだと思い込んでたけど
ソース見たら今まで自分でコツコツ作っていた機能を最初から用意している
程度のものもありちょっとショック。
ドッキングウィンドウは良いと思うけどね。
0663デフォルトの名無しさん
2014/11/21(金) 06:01:51.64ID:4QqWErIn0664デフォルトの名無しさん
2014/11/21(金) 07:53:26.36ID:4wsWtGd6WPFは自由度が高い代わりに自分でなんとかしろって感じなんだよなぁ。
0665デフォルトの名無しさん
2014/11/21(金) 21:22:31.27ID:hLSIsWv9ただし、ひたすら面倒。特にダイアログが色んな意味で低レベルだから
なんか自分でポトペタできるようなライブラリか何か作ったほうがいいんじゃないかと思うぐらいだ。
WPFは見た感じや動作をある程度までは比較的簡単にいじれるけど
いちいち覚えることが多いのと、ある程度以上のことはできませんな感じがする。
個人的にはFormsが一番バランスがいいと思う。
0666デフォルトの名無しさん
2014/11/21(金) 22:53:56.82ID:vZidNcEn日曜プログラマからの質問ですが
MFC, WinForms, WPFの動作速度(初回起動込)は
MFCを100とするとどんな感じですか?
昔C++/CLIを勉強したことがあるのですが、あまりの遅さに
1週間で見捨てました。今は違うのかな。
0667デフォルトの名無しさん
2014/11/22(土) 08:49:46.19ID:XJHA90H/少なくとも体感できるほど遅いのはなんか別の問題だろう。
特にC++/CLIでGUI作ると・・・
動作時の速度じゃないけど、コンパイルがくっそ重かったり
そもそもいきなりGUIエディタがエラーになってGUIいじれなくなったりしてたから
C++/CLIでGUIを作る奴は居ない。
0668デフォルトの名無しさん
2014/11/22(土) 22:29:21.32ID:w+0AKoeG見捨てた当時、遅すぎると思ったのはシンプルなGDIでの描画です。
VS2013でリビルドしたらだいぶマシになってるようですね。
それでもMFCに比べると倍以上遅いけど、、
0669668
2014/11/22(土) 22:33:39.76ID:w+0AKoeGGDIはMFC側の話でDotNet側は中身不明。
0670665
2014/11/22(土) 23:41:35.56ID:nO/Ts9Hc最近のWindowsは元から.Net入ってるのも速い理由になってると思う。
C++のアプリと比べると起動遅いと思うときはあるけど問題にするほどでは無い速度と思う。
Windowsは長いこと使ってると起動時間とかどんどん長くなっていって
OSインストールしなおしたりするとOSの起動もアプリの起動も早くなるので
環境や状況によっては遅いと思い込んでいる人もいると思う。
最近WinFormsでDraw系のツールを作ったが実用になる速度ではあると思う。速いとは思わない。
だいぶ以前(VS2005のころ)ビットマップ系のアプリを作成したことがあるが
それは遅いと思った。いわゆるマップチップ表示のようなものだったが、
メモリーDCとかなかったのでビットマップの転送が効率悪いのだろうと思ったが、
最近はPCが速いのか何か改善されたのかわからないけど、以前よりかなり速くなっていた。
C++/CLIとかはほとんど使って無いのでわからない。
0671666
2014/11/23(日) 00:10:08.48ID:b8N83vrzリビルドの結果、全く同感です。
>>速いとは思わない。
個人的にはここがネックです。
少しWPFの勉強してみようかな。DirectXで描画みたいだし。
0672デフォルトの名無しさん
2014/11/23(日) 10:30:56.90ID:BbKFBihK昔はGDI+のハードウェアアクセラレーション予定もあった筈なんだけど、
結局ソフトウェアレンダラで落ち着いたみたいだ。
0673デフォルトの名無しさん
2014/11/24(月) 14:45:44.59ID:vXnR58zu週末に学習に専念したくらいでは休み明けに成果を発揮するのは無理だし。
業務でvisual c++の開発をしてるわけではないし、その学習する時間で他の
やるべきことに使う時間が失われるほうが問題かもしれんな。
かなり難しいプログラムコードを書く割に、ウィンドウを表示して画面に
文字や図形を描画する程度で実用性があまりないもののために勉強するの
は大変だな。
0674デフォルトの名無しさん
2014/11/24(月) 15:29:38.34ID:EXpXIrWI0675デフォルトの名無しさん
2014/11/28(金) 00:47:55.19ID:mpqlgBjOだが、他の環境よりずっとラクに組めるがなぁ
0676デフォルトの名無しさん
2014/11/28(金) 03:00:48.15ID:0GRBX8EbC#が一番楽でいいよw
0677デフォルトの名無しさん
2014/11/29(土) 18:59:41.93ID:Uw3xE4X+0678デフォルトの名無しさん
2014/11/29(土) 20:17:17.73ID:WqomWRNeと思う。そんなに大変なものでもないと思うけどね。ニートにならないと
VC身につけられないって人は、何でここ見に来てるんだろう。平日の昼間
に、、いや何でもない。
0679デフォルトの名無しさん
2014/11/29(土) 21:12:43.94ID:AKpgIRGlそこそこ止まりの頭しか持ってないがw
0680デフォルトの名無しさん
2014/11/29(土) 21:40:51.77ID:WqomWRNe会社から(会社の意図はともかく)学習する時間を貰って、成長した。
と言うか、社内ニートと言うかで大分印象は変わってくる.
私も仕様がいつまでも確定しないでそんなことあったけど、あの時間は
ありがたかったと思う。
0681デフォルトの名無しさん
2014/11/29(土) 23:22:26.88ID:SoXvwZNw0682デフォルトの名無しさん
2014/11/29(土) 23:43:48.02ID:YaXrgfF90683デフォルトの名無しさん
2014/11/30(日) 03:54:06.81ID:JKdMgMZLWIN32APIだけでいろいろやった経験がある人とない人でも違うし
他のフレームワークの経験の有無でも違うだろうけど。
0684デフォルトの名無しさん
2014/12/02(火) 18:59:16.69ID:JIqSIT6x>平日の昼間
>に
不正解。祝日だ。
0685デフォルトの名無しさん
2014/12/07(日) 20:16:04.56ID:TbxrJZXQ0686デフォルトの名無しさん
2014/12/07(日) 20:18:42.56ID:S3RAav3h0687デフォルトの名無しさん
2014/12/07(日) 20:29:33.97ID:S3RAav3h0688デフォルトの名無しさん
2014/12/07(日) 20:29:57.32ID:TbxrJZXQ0689デフォルトの名無しさん
2014/12/08(月) 01:49:22.71ID:x2ZB8QJM0690デフォルトの名無しさん
2014/12/12(金) 12:19:08.79ID:r3Fvlg1D0691デフォルトの名無しさん
2014/12/12(金) 19:47:56.62ID:igsJCovF0692デフォルトの名無しさん
2014/12/15(月) 01:18:35.68ID:aYRUZIwr0693デフォルトの名無しさん
2014/12/22(月) 21:09:04.99ID:qPtfkPzc本に書かれているプログラムは、いずれも幼児のおもちゃレベルでしかないけれど、
今はこれで我慢して勉強を続けるしかないんだろうな。
0694デフォルトの名無しさん
2014/12/23(火) 05:47:15.20ID:Cbd3aR0Y成功の裏にはたくさんの見える失敗や見えない失敗がある
だから初心者は失敗をおそれず色々やればいい
0695デフォルトの名無しさん
2014/12/27(土) 02:10:36.27ID:x6PZI0I4成功者は大抵は失敗がかなり少ない
0696デフォルトの名無しさん
2014/12/27(土) 07:22:14.31ID:w+/gOU5E一理ある
0697デフォルトの名無しさん
2014/12/27(土) 09:25:34.66ID:AKOS2ykD経験積んで失敗しなくなる訳じゃないんかね
運が良いだけならそうそう続かないと思うんだが
どうなんだろうね
0698デフォルトの名無しさん
2014/12/27(土) 16:20:15.39ID:y4iXYZp5最終的に成功すれば、それは試行錯誤となる。
まあ見極めも大事ではある。
0699デフォルトの名無しさん
2014/12/28(日) 13:53:50.40ID:6jddN6260700デフォルトの名無しさん
2014/12/28(日) 14:04:15.85ID:0mcuX8gP失敗が少ないのなら成功ではなく安定という名の停滞である
0701デフォルトの名無しさん
2014/12/28(日) 14:45:00.04ID:Lg3Cm6Ji失敗からどれだけ学ぶかじゃない
0702デフォルトの名無しさん
2014/12/29(月) 10:49:16.66ID:naIzv4viあるいは分量を間違えたら新素材が出来ちゃったとか
0703デフォルトの名無しさん
2014/12/29(月) 10:50:09.49ID:/fu+2Q3X「失敗からの発見」てのがあるからな
失敗したひとしかノーベル賞取れない
0704デフォルトの名無しさん
2014/12/31(水) 07:07:57.90ID:69RlDRjx0706デフォルトの名無しさん
2015/01/04(日) 07:09:28.20ID:eaSAVEXU0707デフォルトの名無しさん
2015/01/04(日) 16:34:17.47ID:w2TCoU2vそれが全体の傾向であるように結論付けることはするべきでないが
往々にして成功者ヒストリーは一部の特殊な例である
0708デフォルトの名無しさん
2015/01/04(日) 23:29:20.98ID:cZc1COaa日本語変だし外人さんかな。
0709デフォルトの名無しさん
2015/02/08(日) 20:19:57.27ID:vjMoB+W3WindowsのファイルExplorerみたいなアプリが作れますが、例えば、
アプリケーション種類:マルチドキュメント
プロジェクト形式:Office (Ribbon有り)
この上にListBoxとかCheckBoxとかいろんなコントロールを配置して
自作のGUIを作りたいのですが、その場合、Dialogベースのアプリなら、
リソースのエディタでそのダイアログに自由に部品を配置して作成できますが、
上記のアプリの場合、自動生成されたリソースにはIDD_ABOUTBOXくらいしか
ありませんでした。
部品の追加は、プログラムに直接手書きして行くしか方法は無いのでしょうか?
要するにRibbonを持ったGUIを作りたいのですが、部品の配置はDialogを作る場合
のように自由に配置したいのですが。可能でしょうか?
0710デフォルトの名無しさん
2015/02/08(日) 20:36:51.73ID:tUjKNEQ0シングルドキュメント煮汁
0711デフォルトの名無しさん
2015/02/08(日) 20:59:52.70ID:vjMoB+W3レスありがとございました。
さっそくシングルドキュメントでウィザードで作ってみたのですが
やはり、リソースフォルダの中身を見ると、BitmapとかIconとかMenuとか
いろいろ自動で追加されていますが、Dialogに関しては、IDD_ABOUTBOX
しか見当たりません。部品を自由に配置できるそういうリソースは
自動生成されないのでしょうか?
0712デフォルトの名無しさん
2015/02/08(日) 21:30:40.01ID:p5pYedXE0713デフォルトの名無しさん
2015/02/08(日) 21:37:34.81ID:vjMoB+W3レス有難うございます。
□□□□□□□□□□□□ Ribbon
□□□□□□□□□□□□
■■■■■■■■■■■■
□□□■□□□□□□□□
□□□■□□□□□□□□
□□□■□この部分に□□
□□□■□部品を置きたい
□□□■□□□□□□□□
Ribbonではなくて↑の部分に
部品を置きたいのですが。
Dialogを作るのと同じようにマウスで
部品配置可能でしょうか?
0714デフォルトの名無しさん
2015/02/08(日) 22:56:31.70ID:z5GqJ8Sh0715デフォルトの名無しさん
2015/02/09(月) 07:47:29.91ID:iJdyGTL3馬鹿には無理
0716デフォルトの名無しさん
2015/02/09(月) 09:12:25.99ID:dbrw/Pr1知っているなら教えてくれよ
0717デフォルトの名無しさん
2015/02/09(月) 12:55:12.06ID:eUOrTSr4・CViewではなくCFormViewを使う
・CViewのまま子ダイアログを貼り付けるようにする
0718デフォルトの名無しさん
2015/02/09(月) 14:31:52.36ID:dbrw/Pr1出来ました。
有難うございました。感謝です。
0719デフォルトの名無しさん
2015/02/09(月) 14:39:13.44ID:jsF3Jw1x0720デフォルトの名無しさん
2015/02/09(月) 20:21:42.80ID:V0EspmSlはい?
0721デフォルトの名無しさん
2015/02/09(月) 21:38:48.12ID:dbrw/Pr1部品はありませんか?
もし無い場合、皆さん、自作するのでしょうか?
私には難しくて無理です。
0722デフォルトの名無しさん
2015/02/09(月) 22:42:56.03ID:EPzT3drr動的にすると勝手にスクロールするキモいやつにできる。
> もし無い場合、皆さん、自作するのでしょうか?
ネットで検索したら大体似たものは見つかってたけど最近は知らない。
0723デフォルトの名無しさん
2015/02/18(水) 14:24:22.49ID:o+3lLWFr1ヶ月前あたりからこんな現象が頻発するようになったんだが、同じ症状の人いる?
ttp://rarara.cafe.coocan.jp/cgi-bin/lng/vc/vclng.cgi?print+201205/12050011.txt
今まで問題なかった昔のソースを実行してみても同じ現象になるのよね。
条件はDebugモード、MFCスタティック、CFileDialogを連続して2回以上使う、bVisualStyleを変更しても出る。
CFileDialog使ってから数十秒〜数分の間で出る時もあるし出ない時もある。
出力ログを見るとCOM自動開放時に例外0xC0000005でしくじってる模様(ole.dllがエラー出してる)
OSのFileDialog仕様が変更されたのか、セキュリティのせいなのかよく分からん
0724デフォルトの名無しさん
2015/02/18(水) 15:10:07.84ID:X3xI6x7NCFileDialog CoInitialize でググったら幸せになれるかな?
0725デフォルトの名無しさん
2015/02/18(水) 21:56:24.15ID:289WFADrNT系では出なかった気がする。
プログラム強制終了するわけじゃなかったし原因がわからなかったから放置してたな。
これと一緒かどうかは知らないけど。
0726デフォルトの名無しさん
2015/02/19(木) 10:48:51.10ID:mAv7fs9q起動時にSetTimerを設定したいのですが、ネットで調べてもウィンドウの初期化時にセットしているものばかりなのですが、
SetTimerはウィンドウがないと使えないでしょうか
0727デフォルトの名無しさん
2015/02/19(木) 11:34:26.01ID:hRb8aPHh廻す必要がある
0728デフォルトの名無しさん
2015/02/19(木) 12:10:50.17ID:mAv7fs9qウィンドウがなければOnInitDialog()もないと思うのですが、ウィンドウがない場合はどこにSetTimerを入れるべきでしょうか
0729デフォルトの名無しさん
2015/02/19(木) 12:21:25.34ID:ra0CCNS1いつからいつまで必要なの?
0730デフォルトの名無しさん
2015/02/19(木) 12:34:49.08ID:mAv7fs9q0731デフォルトの名無しさん
2015/02/19(木) 13:33:51.98ID:ra0CCNS1InitInstanceでSetTimerしてExitInstanceでKillすればいいと思うよ。
0732デフォルトの名無しさん
2015/02/19(木) 13:47:12.53ID:ra0CCNS1表示しないままのウィンドウ作ってたけどな、あまりに昔の話なので
今の状況知らないけど。
0733デフォルトの名無しさん
2015/02/19(木) 14:10:56.99ID:mAv7fs9qありがとうございます。やってみます。
0734デフォルトの名無しさん
2015/02/19(木) 16:05:37.86ID:m5LZC2Jwありがとう。
(*´∀`*)幸せになれた。
2006年頃はAcrobat 7.0が何かしらやらかしてたらしいけど、今回はなんだろうね?
0735デフォルトの名無しさん
2015/02/19(木) 16:47:33.77ID:ZhXVRy09昔調べたときは、MSも認識している問題だと解釈したけど。
ttp://mfctips.com/2012/10/29/cfiledialogdomodal-causes-access-violation/
0736デフォルトの名無しさん
2015/02/20(金) 17:10:38.15ID:Wp2bPqaMどうも処理が積み重なっているように感じるのですが
0737デフォルトの名無しさん
2015/02/20(金) 18:35:12.65ID:MkuV+cy20738デフォルトの名無しさん
2015/02/20(金) 18:41:20.45ID:MaDrr6Li0739デフォルトの名無しさん
2015/02/20(金) 22:41:12.80ID:SRZUyAeYフラグとかで対策しとけ
0740デフォルトの名無しさん
2015/02/20(金) 22:45:51.35ID:r3gji5y+0741デフォルトの名無しさん
2015/02/21(土) 06:55:40.51ID:ZprzlED+0742デフォルトの名無しさん
2015/02/22(日) 23:00:32.38ID:bfA7aDbzヘッダーファイルで
public:
static const float VAL;
とやってcppのほうで、
CHoge::CHoge()
{
const float VAL = 0.1;
}
とやっているのですが、LNK2001のリンクが未解決というエラーになります。
constの定義はほかにもあるのですが特定の何個かだけエラーになってまして
意味がわかりません、どなたかわかる方教えてください
0744デフォルトの名無しさん
2015/02/23(月) 00:54:29.48ID:NldAyYSYあざす
通りました。でもなぜ通るのかわかりません。
どういう意味の違いがあるのでしょうか
0745片山博文MZ ◆T6xkBnTXz7B0
2015/02/23(月) 00:57:45.43ID:cWkGfwjm0746デフォルトの名無しさん
2015/02/23(月) 06:38:22.60ID:5y2BF+sm0747デフォルトの名無しさん
2015/02/23(月) 07:10:59.32ID:XXFYkuzw0748デフォルトの名無しさん
2015/02/23(月) 07:41:28.89ID:AjFb9vvE0749デフォルトの名無しさん
2015/02/23(月) 09:09:44.78ID:+NS9Huw+→クラスフィールドみたいには追いかけてくれない。
……だっけ?
0750デフォルトの名無しさん
2015/02/23(月) 09:26:24.22ID:AjFb9vvE0751デフォルトの名無しさん
2015/02/24(火) 15:41:56.25ID:XQtX+KlDmapはクラス内で使ってはダメなんでしょうか
0752デフォルトの名無しさん
2015/02/24(火) 16:10:43.49ID:trUfTvKQ0753デフォルトの名無しさん
2015/02/24(火) 17:12:53.94ID:XQtX+KlD0754デフォルトの名無しさん
2015/02/28(土) 22:25:37.26ID:oRo13HM9アクセス違反で逮捕で笑ってしまった。私は懲役だろうなー
0755デフォルトの名無しさん
2015/03/01(日) 05:32:10.55ID:LYwpGVQL0756デフォルトの名無しさん
2015/03/07(土) 09:23:30.87ID:zQQnxaDJこんなんじゃ何も作れないと思うんですが・・・
0757デフォルトの名無しさん
2015/03/07(土) 10:52:39.25ID:SbrjsXODActiveXコントロールならATL(たぶんMFCでも)で作って使えばいいし
むしろDVアーキテクチャなら一般的なコントロールは
ちょっと使いにくいというか、いちいち値を入れたり出したりが
面倒だったりレスポンスが悪くなるような気がする。
0758デフォルトの名無しさん
2015/03/07(土) 13:02:46.44ID:BY6NtiZi0759デフォルトの名無しさん
2015/03/08(日) 05:03:07.32ID:5/QSYnVEMFCだけじゃなく、C++は標準ライブラリにも恵まれなかったし
.netはその辺の反省も生きているのでは
0760デフォルトの名無しさん
2015/03/09(月) 01:00:07.44ID:fIAFp70MjavaはC++の反省が生かされてるから、
間接的には影響しているんだろうけど。
0761デフォルトの名無しさん
2015/03/09(月) 06:59:54.30ID:+I51GYiG0762デフォルトの名無しさん
2015/03/09(月) 07:22:12.25ID:ozCn1dQFAPIで書いてた頃のめんどくささったらなかったもの
0763デフォルトの名無しさん
2015/03/09(月) 07:47:08.31ID:+I51GYiG作ってたんだよ。必要なコントロールは自分でね。買ってくる時もあるけど。
元々Win32 APIで、C言語での大変な開発に対して、
C++でWin32 APIをラップして使いやすくしたMFCが登場し、
Javaが登場するが、ちょっと理想論的なところが使い難かった、
という反省を踏まえて.NETが登場したという時系列だから
.NETの方がコントロールが多い、便利というのは当たり前
0764デフォルトの名無しさん
2015/03/09(月) 08:41:59.41ID:CRFMLrc+0765デフォルトの名無しさん
2015/03/09(月) 09:06:16.50ID:dExiqI6YAPIやメッセージハンドラなどを薄くカプセル化。
今ではだいぶ厚化粧になったけど、根幹は変わっていない。
0766デフォルトの名無しさん
2015/03/09(月) 09:24:44.28ID:CRFMLrc+MFCは重ね塗りには向いてなかった設計だが
0767デフォルトの名無しさん
2015/03/11(水) 18:40:08.81ID:B0uxeYZf個人的にはWin32APIを直接呼び出すスタイルと比べて、
大差ないと思うんだが。
0768デフォルトの名無しさん
2015/03/11(水) 20:16:57.90ID:ia4bkTQw大差あったら、いちいちその呼び出しスタイルを覚えなきゃいけないんだぜ
0769デフォルトの名無しさん
2015/03/11(水) 20:35:35.60ID:ioZEgDg0>APIやメッセージハンドラなどを薄くカプセル化。
って書いてるし
0770デフォルトの名無しさん
2015/03/11(水) 20:45:19.64ID:9/hbSKsFAPIだけでウインドウ出してみ
0771デフォルトの名無しさん
2015/03/11(水) 20:58:28.62ID:B0uxeYZfこんなの決まった書き方だから関数化するなりコピペするなりすればよいし。
0772デフォルトの名無しさん
2015/03/11(水) 22:19:28.88ID:9/hbSKsF0773デフォルトの名無しさん
2015/03/11(水) 22:50:20.48ID:qZZ3nd+tその関数化なり、をやったのがMFC
そういえば、MFCが出た当時、
BorlandのC++クラスライブラリと比べて単なるラッパで
全然オブジェクト指向になってないとかで叩かれてたような
0774デフォルトの名無しさん
2015/03/11(水) 23:07:17.85ID:ioZEgDg00775デフォルトの名無しさん
2015/03/11(水) 23:13:57.40ID:B0uxeYZf>BorlandのC++クラスライブラリと比べて単なるラッパで
>全然オブジェクト指向になってないとかで叩かれてたような
学生がC++の練習で作ったような香り。
Win32APIには無いMFC独自の機能って何があったっけ。
0776デフォルトの名無しさん
2015/03/11(水) 23:25:09.02ID:ioZEgDg0OWLの歴史みたいなのが書いてた、最初はC++拡張した感じでうんたらかんたら
新しいバージョンでマクロがどうこうとか書いててちょっと思い出した
メッセージハンドラの処理のため特殊なコンパイラになってたんだな
後でMFC同様のマクロに変わったと。
>Win32APIには無いMFC独自の機能って何があったっけ。
IDE含めるとメッセージハンドラ書くの楽だし、OLE関係はAPIでする気はないよ。
メッセージルーティングとかドキュメントビューとかのフレームワークがあったよ
0777デフォルトの名無しさん
2015/03/12(木) 00:19:52.63ID:ncqMmrlm内の部署にも意味のわからん子という奴いるわ
CStringとか使ってるのにC言語とか
下位クラスにデータを渡すとか
メモリリークのリーク量を測定したとか
www
0778デフォルトの名無しさん
2015/03/12(木) 01:46:09.83ID:V1fK7V1gただの関数化だとか独自性がどうのって。
0779デフォルトの名無しさん
2015/03/12(木) 10:25:03.88ID:a1xHiT2r0780デフォルトの名無しさん
2015/03/12(木) 11:09:49.63ID:2mqKs9WG君の理解は可笑しい
>>769
だけどMFCはオブジェクト指向としてもセンスが悪いし
粒度もめちゃくちゃ
部品として使うことは出来るが
拡張性に乏しい
0781デフォルトの名無しさん
2015/03/12(木) 13:38:07.95ID:LazKcZYjc#で作ったFormプロジェクトをvc++のプロジェクトに自動で変換してくれる機能があると嬉しい。
0782デフォルトの名無しさん
2015/03/12(木) 15:26:12.60ID:nf/5K5fNMFCはそれラップしているだけ。
0783デフォルトの名無しさん
2015/03/12(木) 15:39:56.03ID:yQvULEjl0784デフォルトの名無しさん
2015/03/12(木) 21:45:24.18ID:NvxZ0K8V底辺ではただのラッパーなのに
>拡張性に乏しい
って、ただのアホだったのか。
0785デフォルトの名無しさん
2015/03/12(木) 23:13:18.11ID:ncqMmrlmWCHAR pszBuff = new WCHAR[nLen];
pszBuff[0]=0x61;
pszBuff[1]=0x00;
#if 1 //パターンA
strDest = pszBuff;
#else//パターンB
LPTSTR p = strDest.GetBuffer(nLen+1);
_tcscpy(p,pszBuff);
strDest.ReleaseBuffer( );
#endif
delete pszBuff; // ←ここでHEAP CORRUPTION DETECTED
なにが悪いのかわりません。
ご助言いただけませんか?
パターンAでもパターンBでも同じです。
0786片山博文MZ ◆T6xkBnTXz7B0
2015/03/12(木) 23:15:38.16ID:ul3bYXTG0787デフォルトの名無しさん
2015/03/12(木) 23:24:00.06ID:ncqMmrlm0788デフォルトの名無しさん
2015/03/12(木) 23:24:52.58ID:NvxZ0K8V0789片山博文MZ ◆T6xkBnTXz7B0
2015/03/12(木) 23:27:14.18ID:ul3bYXTG0790デフォルトの名無しさん
2015/03/12(木) 23:34:54.54ID:ncqMmrlm0791片山博文MZ ◆T6xkBnTXz7B0
2015/03/12(木) 23:39:02.77ID:ul3bYXTG0792デフォルトの名無しさん
2015/03/12(木) 23:42:51.61ID:NvxZ0K8V0793片山博文MZ ◆T6xkBnTXz7B0
2015/03/12(木) 23:44:14.42ID:ul3bYXTGスマートポインターshared_ptr使えば
0794デフォルトの名無しさん
2015/03/12(木) 23:49:20.29ID:ul3bYXTGそれだ
0795デフォルトの名無しさん
2015/03/13(金) 07:08:19.39ID:krOXv2Ojカッコの有無って重要なんですか?
無くても問題無いように思うのですが
0796デフォルトの名無しさん
2015/03/13(金) 07:12:05.67ID:Oaowwqwo0797デフォルトの名無しさん
2015/03/13(金) 07:42:21.74ID:1nqqbprE0798デフォルトの名無しさん
2015/03/13(金) 07:58:07.05ID:Oaowwqwo0799デフォルトの名無しさん
2015/03/13(金) 14:05:33.67ID:qZwBtu45WCHARにデストラクタは無いから。
0800デフォルトの名無しさん
2015/03/13(金) 23:20:02.15ID:86LBBVPV0801デフォルトの名無しさん
2015/03/16(月) 10:35:12.87ID:r187UUhH0802デフォルトの名無しさん
2015/03/21(土) 15:37:00.58ID:dlgKpj72MFC拡張DLLを使うプログラムが一つしかないんです。
こんな場合、DLLにしておく意味って、ないですよね。
0803デフォルトの名無しさん
2015/03/24(火) 09:18:11.71ID:I6wG2MHB拡張DLLの中でしか使わないクラスを実行ファイル側から切り離せる
(クラス名やファイル名などが被っても大丈夫)というメリットはあるかと。
0804デフォルトの名無しさん
2015/04/01(水) 23:11:44.03ID:4LHQBjDkいいなこれ
VSE+win32++
が最強のグイ
0805デフォルトの名無しさん
2015/04/02(木) 01:21:27.59ID:SixzQMxIMFCをつかわずにwin32++を使う理由がない
0806デフォルトの名無しさん
2015/04/02(木) 18:05:45.52ID:+U49wT2V片山なんとかさんの奴は順調ですか?
0807片山博文MZ ◆T6xkBnTXz7B0
2015/04/02(木) 18:22:41.27ID:NLY+5WHr忘れてくれ。フレームワークよりも小さい単位で標準化した方が
再利用性が高いことに気が付いた。興味あるならGitHubを眺めてくれ。
0809デフォルトの名無しさん
2015/04/06(月) 02:43:25.25ID:8qn9EEZRスレ横断レスはやめろ
ここはお前の庭じゃねえんだよ
0810デフォルトの名無しさん
2015/04/13(月) 15:19:53.32ID:KCk1gXNN未だにMFCで新機能追加とか言い出す時代に取り残されたシニアエンジニアがいるからなぁ
0811デフォルトの名無しさん
2015/04/13(月) 17:40:30.00ID:mzTd2EvX扱う内容が増えたり減ったり変わったりでいつまでもWin32API
0812デフォルトの名無しさん
2015/04/13(月) 23:31:55.38ID:ZdguN33Dホントかよ。俺の周りじゃ「動くからこのままでいい」になってるけどな。
つーか、大手メーカーってなんだ?
> 未だにMFCで新機能追加
客がいうだろ、わざわざ作りなおさなくていいし予算がないって。
どんだけ気前のいい客なんだよ、金持ちかよ。鴨かよ。
0813デフォルトの名無しさん
2015/04/20(月) 23:36:09.05ID:UNzZnKkD0814デフォルトの名無しさん
2015/04/21(火) 11:35:05.17ID:Lha+cP2T内製なんだろ。
この場合、提案は作ってる側から出るからありうる。
0815デフォルトの名無しさん
2015/04/21(火) 22:03:12.12ID:TVz3JnvO聞いたことない。
既存MFCベースのシステムにMFCで機能追加
VS
既存MFCベースのシステムを捨ててして.netで作り直し
どっちが費用掛けずに性能の良いものを作れるかは議論の余地がない。
0816デフォルトの名無しさん
2015/04/26(日) 01:45:48.16ID:eg/btpQm0817デフォルトの名無しさん
2015/04/27(月) 00:55:55.13ID:8tzZbtPzDirectXうかうから高速とか、誰が言ったよ。
0818デフォルトの名無しさん
2015/04/27(月) 21:25:45.31ID:QwoO9IPF0819デフォルトの名無しさん
2015/04/30(木) 00:46:01.33ID:+7zpztn50820デフォルトの名無しさん
2015/04/30(木) 13:46:23.42ID:iDcC+qzmWPFはマジで重い。証明は簡単。VisualStudioが重くなったから。
昔の2008の頃と比べて明らかに重くなってる。
0821デフォルトの名無しさん
2015/04/30(木) 17:22:10.44ID:aqwiXXv6.Net登場から13年、
ようやっとMFCがVisual Studio 2015 RCの通常インストール設定では
インストールオプションがオフになりました……。
0822デフォルトの名無しさん
2015/05/03(日) 17:35:02.19ID:DGVNwvplもっさりドトネより100倍いいのにな
0823デフォルトの名無しさん
2015/05/05(火) 02:04:56.43ID:JPFk61nlこれなんか凄いプレミアついてんですけど、良書なのかしらん
0824デフォルトの名無しさん
2015/05/09(土) 10:25:50.00ID:4IoY+00Iw
0825デフォルトの名無しさん
2015/05/20(水) 11:56:19.00ID:BLE7pvKi0826デフォルトの名無しさん
2015/05/21(木) 18:43:43.15ID:/4m8f8ei引っ越してから未開封のダンボールひっくり返すのも面倒だしまいいかw
0827デフォルトの名無しさん
2015/06/26(金) 03:50:03.22ID:xzpi/Ao3アプリを起動したまま放置すると、システムが省電力状態になりますね、
そこから復帰させるとタイトルバーが消えてしまうのです。VM+RDPなので
本当に省電力なのかもわかってませんけれどもorz
なにか、似たような事例、ありませんか?
0828デフォルトの名無しさん
2015/06/26(金) 04:35:43.09ID:TeHEn9G00829デフォルトの名無しさん
2015/07/12(日) 21:46:59.07ID:C/tSw4Mz実行してみると、
"サポートされていない操作を実行しようとしました。"
と表示されデータが追加されていませんでした
どこで行うのが適切でしょうか
m_comboBox.InsertString(-1, _(T"data1"));
UpdateData(false);
0830デフォルトの名無しさん
2015/07/12(日) 22:27:30.04ID:phqF54C10831デフォルトの名無しさん
2015/07/12(日) 22:32:06.07ID:C/tSw4MzMessageにそのような項目はありませんでした
0832デフォルトの名無しさん
2015/07/13(月) 02:04:23.73ID:mMiCIWdw0833デフォルトの名無しさん
2015/07/13(月) 11:57:02.28ID:VqtAIesyDialogで作ったらOnInitialDialog はできてると思うが・・・
FormView なら OnInitialUpdate でどうか。
0834デフォルトの名無しさん
2015/07/13(月) 12:49:04.34ID:+NoacgtO0835デフォルトの名無しさん
2015/07/13(月) 13:33:18.74ID:l5WtWL+jありがとうございます
できました
0836デフォルトの名無しさん
2015/07/13(月) 13:49:33.74ID:1E/uQBY+新しく作ったダイアログのクラスには書かれてないよ。
0837デフォルトの名無しさん
2015/07/13(月) 14:36:29.59ID:VqtAIesyだからそういう状況を書いてないよって言ってる
0838デフォルトの名無しさん
2015/07/22(水) 21:38:27.79ID:/NrVhZNFVisual C++ での互換性に影響する変更点
https://msdn.microsoft.com/ja-jp/library/bb531344.aspx
Microsoft Foundation Classes (MFC) はサイズが大きすぎるため、
Visual Studio の "標準" インストールから除外されました。
MFC をインストールするには、Visual Studio 2015 RC セットアップで
カスタム インストール オプションを選択します。
Visual Studio 2015 RC が既にインストールされている場合、MFC をインストールできます。
そのためには、Visual Studio セットアップを再実行し、カスタム インストール オプションを選択し、
Microsoft Foundation Classes を選択します。
Visual Studio セットアップの再実行は、コントロール パネル、プログラムと機能か、
インストール メディアからすることができます。
Visual C++ 再頒布可能パッケージにも、引き続きこのライブラリが含まれています。
0839デフォルトの名無しさん
2015/08/14(金) 16:24:18.54ID:b+plftNxそろそろ64bitのIEにも対応しないとなと思うんですが
32bit用と64bit用のocxはGUIDは同じでいいんでしょうか?
別々にしないとダメな気もするんですが
そんなめんどくさそうなことありえない気もして。
0840デフォルトの名無しさん
2015/08/25(火) 20:21:30.32ID:whHiIYDphttp://blogs.msdn.com/b/japan_platform_sdkwindows_sdk_support_team_blog/archive/2015/08/25/windows-10-mfc-cfiledialog.aspx
0841デフォルトの名無しさん
2015/08/25(火) 22:53:26.74ID:bZBCfD6Wとりあえず10万とか言っておくかw
0842デフォルトの名無しさん
2015/08/31(月) 17:36:00.07ID:+RFS3LY2アイデアとか知っていれば、ご教授願いたいです。
0843デフォルトの名無しさん
2015/09/02(水) 12:04:20.69ID:qOs0ge7m0844デフォルトの名無しさん
2015/09/02(水) 19:50:29.62ID:Fj+Qbl8L前提条件がアレなんですがVSが作ってくれるサンプルコードでは、左側はMainFrmが
保持するダミーデータなのでドキュメントも何もない。サンプルコードを利用し、
画面左で選択した842制ドキュメントを右側で表示するのであればVewTree.cppに
#include "MFCApplication.h" << あなたの作ったプロジェクト名.h
した上で
CViewTree::OnTvnSelchanged当たりで
theApp.OpenDocumentFile(YourDocument);
すれば簡単に新しいタブを作って表示してくれます。
OnTvnSelchangedはプロパティのメッセージから追加可能。
仕組みについてはF11で追っておくと全て見えますので
頑張ってください。昔全部追ったけど忘れちゃった。
VS2015しか入れてないので細かい点違ってたらごめん。
0845デフォルトの名無しさん
2015/09/05(土) 10:12:22.63ID:BBxu2OzJ>844
おー。なんか、思考がすっきりした。
ありがとー
0846843
2015/09/05(土) 10:46:08.22ID:3jOBDvgZ0847デフォルトの名無しさん
2015/10/02(金) 15:37:52.90ID:gVV2SMTn昔は、MFCのソースコードが記述されている.cppファイルが開いて、その関数の実装が確認できました
しかし、今は、クラスのメンバ関数定義の.hファイルしか開きません
.cppファイルが開くように設定する方法とかがあったりするんでしょうか?
0848デフォルトの名無しさん
2015/10/02(金) 17:54:23.84ID:x/oTrOTW0849デフォルトの名無しさん
2015/10/02(金) 18:04:37.50ID:gVV2SMTn大昔の話しですみません、VC6.0のときはできて、VS2002かVS2005あたりで
できなくなったと記憶しています
0850デフォルトの名無しさん
2015/10/03(土) 12:06:59.25ID:jyP1OZ7g0851デフォルトの名無しさん
2015/10/05(月) 14:25:03.73ID:IlcRXKJi定義に移動と宣言に移動の2つあるけどな
0852デフォルトの名無しさん
2015/10/05(月) 14:30:24.22ID:IlcRXKJi0853デフォルトの名無しさん
2015/10/13(火) 16:34:33.41ID:4E8HDFajVisual C++ 2008のMFCにて
CDockablePaneをフローティング状態でドッキングさせた場合は、
IsVisibleでウィンドウの表示非表示を取得できるのですが
MainFrameにドッキングさせた場合は、必ずFALSEとなってしまいます。
この場合、どうすればドッキングさせたウィンドウの表示非表示を取得できるのでしょうか?
0854デフォルトの名無しさん
2015/10/13(火) 17:40:22.97ID:HOdVfJRdドッキングさせた状態でも、IsVisibleはTRUEになるぞ。
なにに対してIsVisibleを呼んでるんだ?
0855デフォルトの名無しさん
2015/10/13(火) 21:04:31.10ID:qskUs1iECMFCToolBarでツールバーのタイトルバーを非表示にする方法は無いでしょうか?
m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD〜
とする時に特にdwStyleにWS_CAPTIONと指定しなくてもタイトルバーが作成されてしまうようです。
デバッガで基本クラスの動作などを追ってみましたがよく判りませんでした
パソコンにあまり詳しくないので変な質問をしてたらすいません
0856デフォルトの名無しさん
2015/10/14(水) 01:45:27.90ID:Z0PqNaXBタイトルバー非表示にしてフローティング状態のとき移動はどうすんの?
ツールバー作成後にWS_CAPTIONを取り除いたらどうなるかテストしてみた?
0857デフォルトの名無しさん
2015/10/14(水) 02:07:21.02ID:Z0PqNaXBhttp://www.dotup.org/uploda/www.dotup.org559647.bmp
0858デフォルトの名無しさん
2015/10/14(水) 06:09:24.17ID:0l2lMhOu移動については
DefWindowProc()と
case WM_NCHITTEST:
return HTCAPTION;
でできるかなあと
もしもそれで出来なくても移動できなくてもいいです
>>857
おお!まさしくそんな感じにしたかったのです
自分のやり方では
CreateEx後にスタイルからWS_CAPTIONを取り除いても何の変化も無かったのですが
どうやったのでしょうか??
0859デフォルトの名無しさん
2015/10/14(水) 11:24:18.39ID:gvXjNB/o>>857のはCMFCToolBarではなくCToolBarだな。
CPaneFrameWndの派生クラスを作って、RecalcCaptionHeight()などの必要な仮想関数を再定義。
CMFCToolBarの派生クラスを作って、m_pMiniFrameRTCを上の派生クラスに置き換える。
CMainFrameのm_wndToolBarは、上の派生クラスに置き換える。
というようにやれば、とりあえず可能だった。
0860デフォルトの名無しさん
2015/10/14(水) 14:12:19.39ID:h5IvFAMU0861デフォルトの名無しさん
2015/10/14(水) 14:52:55.95ID:Z0PqNaXBタイトルバーなくても移動は、区切り線や余白をドラッグでできるな
>WS_CAPTIONを取り除いても何の変化も無かった
ツールバーにWS_CAPTIONなんて設定されてないやろ
取り除くまでやったんなら、最初に設定されていたかどうかの確認くらいしろ
フローティング時は、枠ウィンドウの中にコントロールバーウィンドウがあって
その中にツールバーウィンドウが含まれているという構成になってるから
ツールバーから見れば、親の親のWS_CAPTIONを外せばいいだけ
つか、君は持ってる知識の量と、解決する能力の低さの乖離があきれるほど酷いな
発言から察するに、質問するまでも無く自力解決できる問題だろ
ネットで情報をつまみ食いしてプログラムを組み立ててる人ってこうなるって見本だな
変わったことする前に、基本に立ち返って足元固めた方がいいぞ
まあ人のことだからどうでもいいけど
0862デフォルトの名無しさん
2015/10/14(水) 15:16:06.57ID:gvXjNB/oだからそれはCMFCToolBarではなくCToolBarだよ。
フローティング時のCMFCToolBarは3階層ではなく2階層で、親はWS_CAPTIONなんて元々持ってない。
0863デフォルトの名無しさん
2015/10/14(水) 15:36:09.74ID:Z0PqNaXBあー、今確認した。大きく勘違いしてたわ
CMFCToolBarクラスなるものがあるのね、申し訳なかった
0864デフォルトの名無しさん
2015/10/14(水) 15:58:37.29ID:gvXjNB/ohttp://www.dotup.org/uploda/www.dotup.org560094.png
0865855
2015/10/14(水) 23:56:47.18ID:0l2lMhOu>>864
わざわざ試して貰いましてありがとうございます
なるほど、フローティング時に作られるCPaneFrameWndをどうにかすれば良いのですね
CMFCToolBarの方をいくらいじってもどうにもならなかった理由が判りました
>>861
ご叱責はごもっともです、もっと頭を使って考えるようにします
パソコンは難しくてよく判らないのですいません
お二方とも大変参考になりました、ありがとうございます
0866デフォルトの名無しさん
2015/12/05(土) 11:45:21.66ID:EO1GJkS20867デフォルトの名無しさん
2015/12/05(土) 18:55:02.23ID:bugp98K6昔の仕事を引き継がされた初心者がたまに質問するだけだろ
0868デフォルトの名無しさん
2015/12/05(土) 18:57:09.12ID:bugp98K6バグ出しまくってるプログラマーみたいじゃないか
0869デフォルトの名無しさん
2015/12/13(日) 18:30:38.08ID:24w602fPマイクロソフトは全面的にC#に切り替えていくつもりなんだろうな
0870デフォルトの名無しさん
2016/01/25(月) 02:30:33.47ID:SZyk08HN0871デフォルトの名無しさん
2016/01/27(水) 23:12:08.09ID:MOfhbvzKリストビューをクリックやダブルクリックした時に、位置情報から
対象のアイテムを算出するような(Excelのセル選択みたいな)事をやりたくて
試してみたんだけど、OnNotifyじゃ補足出来なかった。
そこでいろいろ調べて気になった、OnChildNotifyをオーバーライドしてみたら
NM_CLICKとNM_DBLCLICKが補足できたんだけど、MFCListCtrl(CListCtrl)の
OnChildNotifyとOnNotifyって具体的に何が違うの?
普通にCreateWindowExとかで生成したリストビューに対して
ウィンドウプロシージャでWM_NOTIFYからNM_CLICKを補足出来たから
MFCの場合、OnNotifyとOnChildNotifyとで取得出来るカテゴリ(位置づけ?)が
違うのかと思ってるんだが具体的にどういうカテゴリ分けでそうなってるのかがわからないんだ。
0872デフォルトの名無しさん
2016/01/28(木) 00:35:34.83ID:D7v4IB1O0873デフォルトの名無しさん
2016/01/28(木) 11:53:27.54ID:rfXmp0GVWM_NOTIFYは親ウィンドウに送られるので、コントロールのOnNotifyでは受けられず、代わりに親が子のOnChildNotifyを呼んでくれる。
「MFC メッセージリフレクション OnChildNotify」で、ググッてみ
0875デフォルトの名無しさん
2016/02/01(月) 12:01:44.83ID:ifA+9aJH似てるな
0876デフォルトの名無しさん
2016/02/01(月) 15:00:59.82ID:C4njzqYk0877デフォルトの名無しさん
2016/02/01(月) 21:54:20.55ID:wOVlTBG60878デフォルトの名無しさん
2016/02/02(火) 01:34:24.97ID:3b8npFJM0879デフォルトの名無しさん
2016/04/24(日) 23:15:34.01ID:n8icIlKb0880デフォルトの名無しさん
2016/04/26(火) 20:50:46.30ID:lW2lbITt0881デフォルトの名無しさん
2016/04/28(木) 21:35:05.22ID:x5099VmLhttps://blogs.msdn.microsoft.com/japan_platform_sdkwindows_sdk_support_team_blog/2016/04/27/
0882デフォルトの名無しさん
2016/05/01(日) 15:48:36.11ID:tKi6j9CTBitTorrentがオープンソースで開発されています
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al
ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw
The Covenant Project
概要
Covenantは、純粋P2Pのファイル共有ソフトです
目的
インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します
特徴
Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)
接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
、
0883デフォルトの名無しさん
2016/05/06(金) 21:41:47.28ID:OWOfsawE0884デフォルトの名無しさん
2016/05/06(金) 22:56:33.91ID:Mf6m+SUy0885デフォルトの名無しさん
2016/05/07(土) 22:44:52.60ID:2wjJsHV70886デフォルトの名無しさん
2016/05/08(日) 04:42:58.60ID:jHajzlGi0887デフォルトの名無しさん
2016/05/08(日) 11:43:38.23ID:pwQcqOb7実行時もちょっと速いかも知れない
他アプリと共存時にswapoutされにくくなる
0888デフォルトの名無しさん
2016/05/08(日) 13:22:31.35ID:NDoMe0zHちょっと〜なんて・・・
ソフト屋さんとは思えんな
0889デフォルトの名無しさん
2016/05/08(日) 15:00:06.24ID:pwQcqOb70890デフォルトの名無しさん
2016/05/08(日) 17:33:16.55ID:uPD0V3Q6DLLイメージはメモリ上に共通に一つしか置かれないから、こういう場合、ダイナミックリンクのほうが起動が速くなることも無くはない。
RAMが逼迫してる場合はRAMの節約になるからSwapが起きにくくて実行速度が速くなることも無くはない。
HDDが逼迫している場合もHDDの節約になるからデータアクセスが速くなることも無くはない。
でもDLLヘルを経験している俺は、以降全てスタティックリンクにしている。
0891デフォルトの名無しさん
2016/05/08(日) 18:25:45.15ID:5sZsNvmQ提供物の場合は脆弱性対策が面倒でなあ。
0892デフォルトの名無しさん
2016/05/11(水) 11:32:45.03ID:GzlL/1jH0893デフォルトの名無しさん
2016/05/11(水) 15:37:50.32ID:qkI+/TV/0894デフォルトの名無しさん
2016/05/18(水) 01:14:36.88ID:VPOKi44A毎度毎度なにかのプロジェクトに付けなきゃいけないのが面倒だ
0895デフォルトの名無しさん
2016/05/18(水) 16:52:34.95ID:u7J2zmgl0896デフォルトの名無しさん
2016/05/18(水) 17:04:08.75ID:oA47oPzz0897デフォルトの名無しさん
2016/05/18(水) 19:34:48.61ID:ZnFrOsj60898デフォルトの名無しさん
2016/05/18(水) 19:35:25.98ID:ZnFrOsj60899デフォルトの名無しさん
2016/05/18(水) 19:44:44.02ID:u7J2zmgl0900デフォルトの名無しさん
2016/06/02(木) 22:18:02.59ID:4UxwCTlGそもそも話題すらないけど
0901デフォルトの名無しさん
2016/06/02(木) 23:41:29.11ID:+GpFgwT10902デフォルトの名無しさん
2016/06/12(日) 11:30:49.94ID:cEY+7fOG何の意味があるんですか?
0903デフォルトの名無しさん
2016/06/12(日) 12:33:18.57ID:xN9NR8mn削除していい
0904デフォルトの名無しさん
2016/06/12(日) 18:35:35.58ID:fuUaUmmTうん。
0905デフォルトの名無しさん
2016/06/22(水) 21:35:05.80ID:CWdG0wYpタスクトレイに入るアプリケーションを作成中ですが
BEGIN_MESSAGE_MAP(CTrayWnd, CWnd)
ON_MESSAGE(WM_USER_TRAYNOTIFYICON, OnTrayNotify)
END_MESSAGE_MAP()
のON_MESSAGEで
エラー 5 error C2440: 'static_cast' : 'LRESULT (__cdecl CTrayWnd::* )(UINT,LONG)' から 'LRESULT (__cdecl CWnd::* )(WPARAM,LPARAM)' に変換できません。
となってしまいます。
32bitだとコンパイルできるのですが、64bitだと上記エラーがでます
0906片山博文MZ ◆T6xkBnTXz7B0
2016/06/22(水) 21:40:20.38ID:14AwA6D3CTrayWnd::OnTrayNotifyの引数をWPARAM, LPARAMに
0907デフォルトの名無しさん
2016/06/22(水) 21:59:33.11ID:CWdG0wYpたすかりました
0908デフォルトの名無しさん
2016/06/22(水) 22:25:12.66ID:14AwA6D30909デフォルトの名無しさん
2016/06/23(木) 15:39:35.86ID:tLxppfzL0910デフォルトの名無しさん
2016/06/23(木) 21:35:06.53ID:ufnf48+Y0911デフォルトの名無しさん
2016/07/05(火) 21:23:29.83ID:xT1jQPVtリストコントロールの一行に画像を3か所(3列)読み込めるようにして、どんどん行を増やしていくようなやり方はどのようにやるのでしょうか
0912デフォルトの名無しさん
2016/07/06(水) 08:40:33.92ID:YqQEkOqo1カラム内に3つ読み込みたいのか1行3カラムにしたいのかもわからん。
0913デフォルトの名無しさん
2016/07/06(水) 19:57:30.93ID:29osc8cIオーバーライドすると引数からCDCのハンドルが取れるように
なるので、それを使って好きな場所にBitBltで読み込んだ画像を
表示すればいい。
0914デフォルトの名無しさん
2016/07/07(木) 13:15:08.62ID:ed7Hyzoiまぁソースあるから問題はないけど
0915デフォルトの名無しさん
2016/07/08(金) 10:24:12.89ID:CUMeTHck0917デフォルトの名無しさん
2016/07/14(木) 19:40:17.28ID:y09aoPvT保存することでダイアログ内に張ったIMAGEや数値を次回もそのままの状態で使いたいです
0918片山博文MZ ◆T6xkBnTXz7B0
2016/07/14(木) 19:47:57.04ID:5AZo8uCyファイルかレジストリかデータベースか代替ストリームに保存。
ただし、変更が必要な設定ファイルはC:\Program Filesの中に保存してはならない。
他の適当な特殊フォルダーにアプリ専用のフォルダーを作ってそこに保存。
ファイル読み書きはfopen/fcloseかCreateFile/CloseHandleを参照。
フォルダー作成はCreateDirectoryだな。
0919片山博文MZ ◆T6xkBnTXz7B0
2016/07/14(木) 19:52:15.22ID:5AZo8uCy0920片山博文MZ ◆T6xkBnTXz7B0
2016/07/14(木) 19:56:26.34ID:5AZo8uCyユーザーにファイルの場所をたずねたい場合はGetOpenFileName/GetSaveFileNameだったかな。
0921デフォルトの名無しさん
2016/07/14(木) 20:58:49.30ID:y09aoPvT0922片山博文MZ ◆T6xkBnTXz7B0
2016/07/14(木) 22:16:57.94ID:5AZo8uCyCopyFileはAPI関数だから、使い方はファイルの場所を指定して呼び出して使うだけ。
ファイルを操作したい場合はファイルの場所とファイル名を表すパス名が重要。
パス名は文字列で、Winではバックスラッシュ区切りでフォルダの階層を表す。
パスは相対パス指定と絶対パス指定の二種類ある。「..」は1つ上のフォルダを表す。
0923片山博文MZ ◆T6xkBnTXz7B0
2016/07/14(木) 22:23:12.10ID:5AZo8uCyル名「seiseki.xls」のファイルを指し示す相対パス指定。
パス名「C:\Folder1\seiseki.xls」は、ドライブC:のフォルダ「Folder1」の中にあるファイ
ル名「seiseki.xls」のファイルを指し示す絶対パス指定。
0924片山博文MZ ◆T6xkBnTXz7B0
2016/07/14(木) 22:29:17.37ID:5AZo8uCyファイルをオープンするfopen関数を使うには、その前に#include <cstdio>か#include <stdio.h>が必要だ。
ファイルを開いた後、fread,fgets,fwrite,fputs,fprintfなどで、
実際に読み書きできる。
読み書きが終わったら、その印として、そのファイルを閉じないといけない(クローズ,fclose)。
0925片山博文MZ ◆T6xkBnTXz7B0
2016/07/14(木) 22:32:36.21ID:5AZo8uCyくれるが、プログラマはいつ閉じられるかを意識しないといけない。
0926片山博文MZ ◆T6xkBnTXz7B0
2016/07/14(木) 22:36:04.97ID:5AZo8uCy最近はこれがMFCはイケてないと言われる由縁である。
0927デフォルトの名無しさん
2016/07/14(木) 22:36:52.02ID:y09aoPvT0928片山博文MZ ◆T6xkBnTXz7B0
2016/07/14(木) 22:45:12.07ID:5AZo8uCyシリアはデータの読み書きとファイルの読み書きを抽象化したもんだから、
プログラムが終わっても消えないようにするには、主メモリー以外に保存する。
0929片山博文MZ ◆T6xkBnTXz7B0
2016/07/14(木) 23:00:28.06ID:5AZo8uCy0930片山博文MZ ◆T6xkBnTXz7B0
2016/07/14(木) 23:06:00.62ID:5AZo8uCy0931片山博文MZ ◆T6xkBnTXz7B0
2016/07/14(木) 23:13:50.01ID:5AZo8uCyファイルのパス名が入力される。
2.保存先のフォルダを作成する。適当な名前で特殊フォルダの下に作ればいい。
3.保存先のファイルのパス名を文字列処理で組み立て、ファイルをコピーする。
4.プログラムを起動したときに保存した設定ファイルを読み込むようにする。
0932片山博文MZ ◆T6xkBnTXz7B0
2016/07/14(木) 23:17:23.64ID:5AZo8uCy文字列にはワイド文字列(Unicode)とANSI文字列の二種類あるから、文字列の型に注意が必要だ。
0933部外者
2016/07/14(木) 23:27:12.95ID:YfxEmYO8Cの標準関数、CFile、Serializeを考えると行数はともかく
難易度はあまり変わらないと思う。
がんばれ>>297
0935デフォルトの名無しさん
2016/07/14(木) 23:31:24.25ID:y09aoPvTいったん、片山さんのやり方で挑戦してみます!
0936デフォルトの名無しさん
2016/07/16(土) 23:28:06.32ID:MXamywZj0937デフォルトの名無しさん
2016/07/18(月) 00:01:59.39ID:ppXY6tExFinancial
Corporation
0938デフォルトの名無しさん
2016/07/24(日) 17:10:16.44ID:4lcO97lF0939デフォルトの名無しさん
2016/07/26(火) 00:17:47.71ID:A1ev9bLq0940デフォルトの名無しさん
2016/08/01(月) 21:29:14.75ID:OPj4eZ8Kリストコントロールのアイテムに画像を表示したいのですが、
リストコントロールの画像のオーナードローが分かりません
教えてください。
0941片山博文MZ ◆T6xkBnTXz7B0
2016/08/01(月) 21:39:19.26ID:ltowomRuオーナードローの「オーナー」の意味はわかるか?
そう、所有者。コントロールの所有者は親ウィンドウだから、
親ウィンドウでメッセージを受け取ってメッセージが来たときに描画処理を行う。
構造体ポインターの扱いがわからないなら、C/C++を復習せよ。
0942片山博文MZ ◆T6xkBnTXz7B0
2016/08/01(月) 21:44:08.61ID:ltowomRuBitBltかStretchBltでイメージのビット列を転送する。
0943片山博文MZ ◆T6xkBnTXz7B0
2016/08/01(月) 21:58:03.25ID:ltowomRu例えば、画像を読み込むテスト、オーナードローのテスト、設定ファイル読み込むテスト
などを行って動作を実証した後で、部品を組み立てるように構築していけばいい。
0944デフォルトの名無しさん
2016/08/01(月) 23:03:08.52ID:d7o8x0b8「オーナーがドローする」
「オーナーをドローする」
どちらですか?
0945デフォルトの名無しさん
2016/08/01(月) 23:25:15.88ID:OPj4eZ8Kファイル選択から画像描画もやっています。
それをふまえて、スタティックテキストでCIMAGEで描画した画像を、
ボタンを押したときにListCtrlで描画しようとしています。
今、drawItem関数を呼び出して、やろうとしているところです。
0946デフォルトの名無しさん
2016/08/01(月) 23:57:56.24ID:tvvL85eB「オーナーがドローする」
0947デフォルトの名無しさん
2016/08/02(火) 00:06:45.24ID:V+yjlCg8ダイアログボックス上のEDITを配置した場合は
EDITをダイアログがドローする?
0948デフォルトの名無しさん
2016/08/02(火) 03:09:50.82ID:ciWWRR2r普通はEDITコントロールが子ウィンドウで
ダイアログがowner
0949デフォルトの名無しさん
2016/08/02(火) 10:38:04.20ID:V+yjlCg8「オーナーがドローする」 が真であれば
ダイアログがEDITをドローするも真だろ
0950デフォルトの名無しさん
2016/08/02(火) 20:10:15.23ID:o5ucF+Pt0951デフォルトの名無しさん
2016/08/02(火) 20:18:48.20ID:NfCSYQH6当然動くよ
0952デフォルトの名無しさん
2016/08/03(水) 09:05:43.22ID:h9b7IxGI選択されているページのテキストを赤にしたいんですが、可能でしょうか?
0953デフォルトの名無しさん
2016/08/03(水) 13:13:44.47ID:wwEzWMbW0954デフォルトの名無しさん
2016/08/04(木) 20:29:40.98ID:S+iLZ+A10955デフォルトの名無しさん
2016/08/04(木) 23:26:49.05ID:BXYQ/W1V0956デフォルトの名無しさん
2016/08/04(木) 23:32:19.94ID:dOYZV9nx0957片山博文MZ ◆T6xkBnTXz7B0
2016/08/04(木) 23:48:24.32ID:2BP9Z8UHリストコントロールじゃなくてリストビューなら、
イメージリスト使え
0958デフォルトの名無しさん
2016/08/06(土) 09:35:24.46ID:WOhXoq0Vスクロールバーで画面を動かしたいのですが、
思いつきませんヒントをお願いします。
※VSの出力画面の酔うな感じのものです。
0959デフォルトの名無しさん
2016/08/06(土) 17:18:26.76ID:DnsuALea0960デフォルトの名無しさん
2016/08/09(火) 14:16:31.32ID:AX7BFtgJm_edit.SetSel(m_edit.GetWindowTextLength(), m_edit.GetWindowTextLength());
とか
m_edit.LineScroll(m_edit.GetLineCount());
とか
0961デフォルトの名無しさん
2016/08/09(火) 20:33:25.57ID:FqlEy475いつも適当に大きい数字入れているけど。
65535とか。どうせ適当に切り詰めてくれるし。
と思ってたけど。
0962デフォルトの名無しさん
2016/08/15(月) 15:59:26.09ID:zUpmpqFQ0963sage
2016/08/15(月) 17:53:43.27ID:k/s3aTsI人を非難する前にマニュアル読んだ方が良いよ
恥かくだけ
0964デフォルトの名無しさん
2016/08/15(月) 18:44:48.73ID:NvOrOVSG0965デフォルトの名無しさん
2016/08/20(土) 19:07:01.78ID:+Q8TTU1Tメモリリークなんてしたからってなんら問題ないだろう。
下手に必要なメモリを開放するより全然いい
0966デフォルトの名無しさん
2016/08/20(土) 21:11:00.91ID:Ay6TwcxW他のリソースリークは嫌だなぁ
VRAMとか少ない環境もあるし
ファイルハンドルのcloseし忘れとかも嫌だなぁ
スレッドの開放忘れもなんかいやだなぁ
0967デフォルトの名無しさん
2016/08/21(日) 11:27:24.58ID:72zLWHSO0968デフォルトの名無しさん
2016/08/22(月) 00:11:02.56ID:6UmJWuv1自分もやらかしたことがありましたが、その際は深く反省しました
このスレの質もここまで下がってしまったかと思うと極めて残念です
0969デフォルトの名無しさん
2016/08/22(月) 19:01:28.22ID:01M+MFvA0970デフォルトの名無しさん
2016/08/23(火) 14:31:18.59ID:KLVn3SD4シングルプロセスはダメ
0971デフォルトの名無しさん
2016/08/23(火) 21:15:54.73ID:PDPzOw0bまぁ、数百メガ単位でリークなら、そのうち食いつぶすから問題だが、4kb程度なら24時間動くアプリ以外は実害ないだろ
0972デフォルトの名無しさん
2016/08/24(水) 00:32:32.36ID:oKQRYsXzRoot
a
b
でbが選択されている状態でaのチェックを入り切りすると
aが一瞬選択され、すぐさまbが選択されるのですが
チェックボックスを操作したのだから、選択が変更されないで欲しいのですが可能ですか?
0973デフォルトの名無しさん
2016/08/24(水) 09:23:20.67ID:XTcS/V88TVS_DISABLEDRAGDROP
0974デフォルトの名無しさん
2016/08/25(木) 02:05:13.23ID:bqd04CsUありがとうございます。
期待通りの動作ができました
0975デフォルトの名無しさん
2016/08/28(日) 12:17:57.59ID:/siEK0YNエディットテキストにフォーカス → かなキー押下 → aキー押下
の操作をするとクラッシュします
特別な処理はしてません
アドバイスをお願いします
0976デフォルトの名無しさん
2016/08/28(日) 13:23:37.49ID:ZU3e5ILB0977デフォルトの名無しさん
2016/08/28(日) 17:01:30.94ID:Md2U2uuj0978デフォルトの名無しさん
2016/08/28(日) 19:34:59.24ID:/siEK0YNリリースビルドでも同じです
0979デフォルトの名無しさん
2016/08/28(日) 19:51:00.35ID:Md2U2uujデバッガ無しでも落ちますか?
0980デフォルトの名無しさん
2016/08/28(日) 19:54:41.07ID:JaePzQQo呼び出し履歴の最後は何になってる?
0981デフォルトの名無しさん
2016/08/29(月) 11:32:25.01ID:OcJqV5W/かなじゃなければ問題ないのか?
デバッガ上での実行とexe単体での実行で差は無いのか?
エディットコントロールとCEdit変数の関連付けに齟齬は無いのか?
0982デフォルトの名無しさん
2016/08/29(月) 12:04:36.03ID:4uCHwe5Eなんか変なキーボード監視ソフトでも動いてないか?
0983デフォルトの名無しさん
2016/08/30(火) 10:25:58.16ID:fl1Hexbb0984デフォルトの名無しさん
2016/09/02(金) 17:31:02.34ID:YMtSPF3Zクリップボードパネルの右下にある小さい四角いボックスを使用するには
どこを設定したらいいのでしょうか。
リボンデザイナーでパネルを配置したんですけど、パネルにプロパティを
見てもそれっぽい設定が見当たりません。
0985デフォルトの名無しさん
2016/09/02(金) 18:21:56.59ID:xP9QKPl20986デフォルトの名無しさん
2016/09/17(土) 18:51:46.28ID:mAPcRNL4Office2007相当だもん
0987デフォルトの名無しさん
2016/09/17(土) 21:32:42.02ID:8kjLtBReすぐ終了する単発CUIコマンドレベルならそいでいいけど
GUIアプリならメモ帳みたいなやつでも24時間動かす想定するべき
0988デフォルトの名無しさん
2016/09/20(火) 01:02:08.91ID:FCLwXIrD0989デフォルトの名無しさん
2016/09/20(火) 01:59:39.82ID:TnmUP/4nちゃんと開放すればよいだけだろ
頑なに開放しない意味が分からん
起動しっぱなしになる可能性があるんだったら開放するように努めろ
0990デフォルトの名無しさん
2016/09/20(火) 21:04:05.49ID:pjY1ly590991デフォルトの名無しさん
2016/09/20(火) 22:24:52.97ID:9oYup8380992デフォルトの名無しさん
2016/09/20(火) 23:46:59.91ID:pjY1ly59でできますか?
0993デフォルトの名無しさん
2016/09/21(水) 00:03:02.12ID:w6mjKqw10994デフォルトの名無しさん
2016/09/21(水) 00:21:14.97ID:OfO+mYkdMFC相談室 mfc23d.dll [無断転載禁止](c)2ch.net
http://echo.2ch.net/test/read.cgi/tech/1474384848/
0995デフォルトの名無しさん
2016/09/23(金) 19:27:25.65ID:fS8XJogp0996デフォルトの名無しさん
2016/09/23(金) 20:19:24.58ID:1AYxo37g0997デフォルトの名無しさん
2016/09/24(土) 03:15:54.69ID:QHywX3YJ0998デフォルトの名無しさん
2016/09/24(土) 03:16:49.10ID:QHywX3YJ0999デフォルトの名無しさん
2016/09/24(土) 03:18:14.80ID:QHywX3YJ1000デフォルトの名無しさん
2016/09/24(土) 03:18:30.49ID:QHywX3YJ10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
life time: 1835日 8時間 26分 3秒
10021002
Over 1000Thread運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
http://premium.2ch.net/
http://pink-chan-store.myshopify.com/
レス数が1000を超えています。これ以上書き込みはできません。