X



MFC相談室 mfc23d.dll [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0662デフォルトの名無しさん
垢版 |
2020/09/24(木) 19:15:13.93ID:ipSsIIJF
>>658
別に、Doc/Viewモデルを使っていても、ファイルは好き勝手に読み書きできるよ。
勝手にfopen()して、一部だけ読み込んだりとか普通にやってる。
Doc/Viewモデルを使うとしても、
CDocument::OnOpenDocument(const char *pszFilename)
が呼び出されたときに、fopen()して、fread()して、どこか好きな場所に
データを読み込めばよい。
CDocumentの中に読み込まなくても、グローバル変数に読み込んでも、
CViewの中に読み込んでも、好きなクラスの中に読み込んでも良い。
本当に読み込んだかどうかは、MFCのフレームワークは全く感知しないので、
好き放題出来る。
0665デフォルトの名無しさん
垢版 |
2020/09/24(木) 20:48:36.72ID:anZxJGRt
>>641
単一ドキュメント複数ビューはできないわけじゃないよ。
DocTemplateを派生させる必要があるというだけ。
0666デフォルトの名無しさん
垢版 |
2020/09/24(木) 21:07:02.77ID:sDDeHHJX
>>664
「MFCによるWindowsプログラミング」ISBN 475611749X

首都圏在住なら国会図書館で見てこい
ttps://iss.ndl.go.jp/books/R100000002-I000002930291-00

田舎住まいなら尼(ISBNで検索)で\32,580で売ってるから上司に頼んでこれ買ってもらえ
0667デフォルトの名無しさん
垢版 |
2020/09/24(木) 21:20:33.40ID:qMR+aI5t
>>641
> 1つのDocに対して複数のViewなどをしたくても多分、設計上は出来ない。
CDocumentには、UpdateAllViews()という名前の関数があるように、
複数のビューを関連付けられるぞ。

>>662
わざわざDoc/Viewを選んでおいてDocクラスを放置するくらいなら、
印刷プレビューでも使わない限り、Doc/Viewを使わない形式で
CMainFrameとCChildViewだけを使うほうが楽だと思うけどな。
0668デフォルトの名無しさん
垢版 |
2020/09/24(木) 21:45:13.19ID:bZ1sVv66
SDIでもCFromViewしか使ったことないナ
0669デフォルトの名無しさん
垢版 |
2020/09/25(金) 00:33:44.17ID:mGml3uVc
MFC は、数十年前w
Jeffrey Richter とかの時代

Win32 API を、クラスにまとめたもの。
メニューバーも作れる

MFCって、まだ存在するのか
0670デフォルトの名無しさん
垢版 |
2020/09/25(金) 00:48:06.02ID:nCkagqzh
WindowsでC++とVisual Studioを使ってデスクトップのプログラムするなら、
今でもMFC以外の選択肢はほぼ無いはずだが、
0671669
垢版 |
2020/09/25(金) 02:04:10.72ID:mGml3uVc
かんたん Visual C++[改訂2版]、堀義博、2017

この本では、.net か、managed C++ か、interop か何かを使っていた。
でも結局、このやり方も、流行らなかったのか

MFC ではなかった気がする
0672デフォルトの名無しさん
垢版 |
2020/09/25(金) 09:17:50.44ID:nCkagqzh
>>667
> > 1つのDocに対して複数のViewなどをしたくても多分、設計上は出来ない。
>CDocumentには、UpdateAllViews()という名前の関数があるように、
>複数のビューを関連付けられるぞ。

スマソ。記憶違いがあった。
1つのDocに対して複数のViewは、一応は関連付けられる。
しかし、それはどれも1つのCFrameWndの中に入れておかないといけなくなって
しまっているため、WzEditorの「テキストの二重化」のように、
1つのテキストファイルの別の場所を複数のFrameWndの中に表示するという
ようなことが、MFCでは基本的に出来ないハズ。
0673デフォルトの名無しさん
垢版 |
2020/10/16(金) 18:08:33.74ID:wvravRFo
CTreeCtrlクラスでツリー表示の文字色を部分的に変えたいけど、Windows SDKみたいにカスタムドローしないと無理ゲー?
0674デフォルトの名無しさん
垢版 |
2020/11/20(金) 05:11:03.85ID:lrgUTmYU
実際にウィンドウ上に表示している画面をBitmapに画像保存するんじゃなくて、
表示させないで、データだけを元に、連続的に画像保存するってどうやるのかな?

例えば、ボタン1つで、円の位置を連続的に動かしたデータを、
それらをわざわざ画面に表示させないで、連続的に画像に保存したいんだけど、
やり方がわからない。
0675蟻人間 ◆T6xkBnTXz7B0
垢版 |
2020/11/20(金) 05:14:55.72ID:7Y8jq4/V
>>674
CreateCompatibleDC(NULL)とCreateDIBSectionだろう。DIBビットマップオブジェクトを作成し、DCでそれを選択し、DCで描画する形になる。
0677デフォルトの名無しさん
垢版 |
2021/01/18(月) 23:31:44.08ID:zaIVxsp1
DialogにCMFCFontComboBoxを張り付け
プロパティの「フォントを使用して描画」をTrueにすると
コンボボックスの行の高さを無視して大きく描画されます。
XX明朝とXXゴシックが縦に重なって描画される感じです。
(ディスプレイ設定で拡大表示している場合のみ)
以前は普通に表示されていた気がするのですが。
良いアイデアがあればお願いします。
0683デフォルトの名無しさん
垢版 |
2021/03/01(月) 23:14:22.24ID:L7jyZAdw
昔あったCFrameWndのLoadBarStateとSaveBarStateは
何に置き換わったのでしょうか?
CMF…系のツーツバーやステータスバーでは保存&復元されないようです。
0684デフォルトの名無しさん
垢版 |
2021/03/26(金) 13:13:22.16ID:zWEWautG
MFCより先進的なGUIフレームワークを使いたいならQtとかwxWidgetsを使えってことなのかねえ?
0687683
垢版 |
2021/06/28(月) 15:55:19.44ID:yWrL1Flg
>>685
レスサンクス
明示的には初期化はしていませんが
CWinApp::SetRegistryKey(...
を呼んでるのでその中でm_pszAppNameがセットされているようです。
0689683
垢版 |
2021/06/28(月) 17:55:27.02ID:yWrL1Flg
解決しました
VS2005で作ったソースをVS2019に移植する際
CWinAppをCWinAppEx
CToolbarをCMFCToolBar
のような作業をやったんだけど
CMainFrameからCFrameWnd::(Exなし)の関数を呼んでたのが原因でした
お恥ずかしい。レスくれた方、ありがとうございました。
0690デフォルトの名無しさん
垢版 |
2021/09/15(水) 12:15:47.57ID:jggBe0Ff
>>684
WinUI 3がネイティブ
XAMLの部分はC++コードになる
0693デフォルトの名無しさん
垢版 |
2021/09/16(木) 22:38:06.15ID:vfYN11/r
bamlになるだけでコードを吐いたりはしないと思うが?.xaml.cs と混同してる?
0696デフォルトの名無しさん
垢版 |
2021/10/30(土) 10:54:38.33ID:MPYyHG36
BCGのほうはダイアログや埋め込みスクロールバーもダークテーマにできるんだよなぁ
0697デフォルトの名無しさん
垢版 |
2022/03/15(火) 08:26:51.33ID:RM1ltBr1
BCGはロシアのセンペテロブルグだったね。
ドル建てで売ってるからウクライナ侵攻の対ロ経済制裁の影響を受けて倒産とかはなさそうだな。
0698デフォルトの名無しさん
垢版 |
2022/03/31(木) 10:44:02.36ID:Jyr8BV0e
>>697
VisaやMasterのカード決済ができなくて、売れないのでは? ロシア国外のWeb
サイトで決済して、ドルをロシアへ送金しようにも、SWIFTからの排除で銀行間
送金もできないし。
0699デフォルトの名無しさん
垢版 |
2022/04/02(土) 21:39:19.21ID:1+ihffDV
>>698
それもそうか〜。次の更新料支払いまで10ヵ月近くあるけど、どうなるのかなぁ。
BCGライブラリはMFCでアプリ作るならやっぱり便利だし、メンテ続けてほしい。
0700デフォルトの名無しさん
垢版 |
2022/04/03(日) 10:10:08.68ID:cIyOxh+4
BCGは次のバージョンでPer Monitor DPIに対応すると予告していて、ちょっと興味ある
0701デフォルトの名無しさん
垢版 |
2022/04/28(木) 07:46:47.14ID:2+PIOWFw
BCGは新バージョンのベータ版アナウンスしたし、経済制裁の影響は大してないのかも。
0703デフォルトの名無しさん
垢版 |
2022/06/01(水) 11:16:30.11ID:ENbHFSWO
マイクロソフト社がフライドチキン業界に進出したらどんな略称になるんだろう?
0706デフォルトの名無しさん
垢版 |
2022/10/26(水) 22:05:25.04ID:IeA8a0h8
MFCで画像閲覧ソフトを作成しています。
ウィンドウのサイズを変更すると画像が消えてしまいます。
なぜなのかさっぱり検討が付きません。

https://ideone.com/Gn0AsK

ウィンドウのサイズを変更したときにOnPain()が呼ばれることは確認済みです。
また、OnPaint()内の
cbmp = CBitmap::FromHandle(m_image);
の部分を
CImage image;
image.Load("画像データ");
cbmp = CBitmap::FromHandle(image);
のように決め打ちで画像データを表示すると画面サイズを変更しても画像が消えません。

なにか良い手はないかご提示宜しくお願い致します。
0707706
垢版 |
2022/10/26(水) 22:08:37.07ID:IeA8a0h8
すいません、環境を書くのを忘れていました。

Windows 10 Home 22H2 (64bit)
Microsoft Visual Studio Community 2019 Version 16.11.20

何卒宜しくお願い致します。
0708デフォルトの名無しさん
垢版 |
2022/10/27(木) 01:28:58.14ID:6HC7kWqW
「mfc onpaint WM_PAINT」で検索してみれば?

MFC とか、こういうのは初心者がやるものじゃない。
たぶん、仕組みを理解するだけでも、10年以上掛かる
0709デフォルトの名無しさん
垢版 |
2022/10/27(木) 03:07:34.48ID:niMWpG44
良い手も何も、そういうものだと思うしかない
OnPaint()で描けばいいだけ
いつウインドウがinvalidateされるのか、アプリケーションプログラマが完璧に把握することはたぶんできないし
しても意味はあまりない
0711デフォルトの名無しさん
垢版 |
2022/10/27(木) 22:03:00.16ID:gaUWFwsd
>>708->>10
レスありがとうございます。

そういうものなのですね。
そういうものだと思って諦めます。
ありがとうございました。
0713デフォルトの名無しさん
垢版 |
2022/10/31(月) 11:29:06.13ID:ENWdRL/8
>>706
そもそも、
cbmp = CBitmap::FromHandle(m_image);
で取得したものを
cbmp->DeleteObject();
で破棄しているのが原因では。

これだと1回目の描画のときにm_imageが破棄されて、
2回目以降は描画されないかと。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況