MFC相談室 mfc23d.dll [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2016/09/21(水) 00:20:48.44ID:OfO+mYkd
Microsoft Foundation Classライブラリ専用スレです。

■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
2018/03/22(木) 19:42:36.73ID:lw2+9AAf
>>179
最新版は知らないが、昔のMFCには無かったと思う。
(昔の) MSDN Library をよく見ているが、発見してない。

でも、グラフ描画って、LineTo() だけでも大体いけると思うんだけど。
2018/03/23(金) 11:19:28.52ID:WP/XswCx
OLE2使ってExcel呼べばいいんじゃね?
MFC関係ないのでスレチだけど
2018/03/23(金) 12:29:30.45ID:S2qLyUZS
>>180
MSC = Microsoft CというDOS用のコンパイラです。1990年代のお話です。
2018/03/23(金) 13:06:50.13ID:5/36eG7n
>>182
知ってるけど
184デフォルトの名無しさん
垢版 |
2018/03/23(金) 18:21:05.39ID:GtydX90K
>>174 >>177
matplotlib の python 用 dll を c/c++ から使う手がある
2018/03/24(土) 13:11:04.87ID:1MnVHuF+
.NETのChartコントロールをユーザーコントロールに置いてMFCダイアログでホストってのをやったことあるよ。
MFCビューでのやり方もMSDNに書いてあるからその通りやればできると思う。
MFC、Windowsフォーム、辺りで検索すれば見つかるはず。
186デフォルトの名無しさん
垢版 |
2018/03/24(土) 13:59:14.06ID:5hh+Vua5
.NET使いたくないって話では
2018/03/25(日) 01:41:05.54ID:AJM/AyB8
.netはちょっと重いです。それでも参考になります。ありがとうございます。。
2018/04/03(火) 23:45:10.59ID:aZg1mfkw
mfcとexcelの連携が全然分かんない……COM?何それ?みたいな
msdnとかstackoverflowとかいろいろ漁ってもだめ。っていうかそもそもmfc、windowsってよくわかんないクラスとか変数とか多すぎじゃない
もっと簡単にプログラミングさせてよ!って思う
2018/04/03(火) 23:46:23.75ID:GFbsNNGI
>>188
VB6でも使ってろ
190デフォルトの名無しさん
垢版 |
2018/04/04(水) 02:52:52.55ID:h2UR4/YM
>>188
馬鹿には無理
2018/04/04(水) 23:16:43.35ID:EgkZfqJG
昔、MFCに慣れてきた頃、趣味でMACのプログラミング勉強しようとして挫折したことがある。
Excel連携なら、その箇所だけでもVBでやるのがお勧め。
2018/04/05(木) 15:58:24.24ID:7o7fJyTF
http://blog.systemjp.net/entry/20120827/p3
193デフォルトの名無しさん
垢版 |
2018/04/06(金) 12:26:46.99ID:sTfZcU1Y
MFC使わなくてもCで良いのに
2018/04/06(金) 16:14:35.30ID:eB6IhESG
まずは、OleViewを起動してな。
2018/04/20(金) 12:34:59.85ID:r2H2v4t5
折れ線グラフをMovetoとLinetoで描くことにしました。線分を引くに当たって、GDI+とGDIでの描画速度を検証してみました。
32bit win7 corei5で24×1,024本の線分を描きましたところ
GDI+ drawLine 7300ms
GDI Moveto Lineto 350ms
という結果になりました。
mfcのMoveto Linetoは速いですよね。画面のサイズによって速度はだいぶ変わるようです。
2018/04/20(金) 12:38:07.74ID:r2H2v4t5
c#などのASP.net環境では、グラフを生成するAPIが有るようですね。サーバ上で簡単にグラフを生成し、クライアントのブラウザから見られます。
2018/04/20(金) 22:27:08.54ID:yO6TKb25
>>195
検証おつ。少数派かもしれませんがこういうの好きです。
2018/04/25(水) 12:53:36.78ID:4obztnoR
CFormView内でOnMouseWheelを使っていたのですが、コンボボックスを配置したところ、OnMouseWheelのイベントに飛んでこなくなりました。
今のところ、コンボボックスを継承して、コンボボックス内のOnMouseWheelイベント内で、親クラスへSendMessage(WM_MOUSEWHEEL )する事で動かせるようにしました。

この先、ほかのコントロールが追加されたら、またOnMouseWheelイベントを拾えなくなると思い、もっと良い方法があればと思っています。どなたか良い解決策をご存じですか?
2018/04/25(水) 13:44:01.27ID:jrjO5Mdd
>>198
CFormView派生クラスのPreTranslateMessage()で横取りしてしまうのが簡単かと
2018/04/26(木) 22:30:35.34ID:tB5nNnhP
確かに横取りで解決できました。ありがとうございます。
コンボボックスをドロップダウンリストに設定した場合のフォーカスについても伺いたいのですが、
CFormViewクラス内にドロップダウンリスト型のコンボボックスを配置すると、キーボードのフォーカスがコンボボックスに設定されてしまいます。
CFormViewに対してSetFocus()を呼び出しても、フォーカスがコンボボックスから外れません。
コンボボックスが青く塗りつぶされて選択状態になっているのを解除する方法をご存知ないですか?
2018/04/27(金) 09:24:02.21ID:V1X+E9CJ
>>200
CFormViewのソースを見るとわかるけど、SetFocus()を呼んでも、
OnSetFocus()の中で最後の位置に復元される。

その動きを別なものにしたいのなら、
OnSetFocus()をオーバーライドして、なにかしらの対応が必要かと。

なにもしないようにしてフォーム自身がフォーカスを持ってしまうとか、
サイズ0のダミーのボタンでも置いておいて、毎回そこにフォーカスを移すとか。
2018/04/27(金) 20:15:49.15ID:Q5E/Se8d
ありがとうございます!
2018/04/27(金) 20:26:32.52ID:Q5E/Se8d
ダブルバッファリングについて質問しても良いですか?

ピクチャーコントロールのダブルバッファリングを行いたいと思っているのですが、画面のサイズを大小いじられ続けると、GDIリソースを食いつぶして、アプリケーションが落ちます。

色々試して、画面サイズ変更イベント内のCreateCompatibleBitmapのところで確保したGDIリソースが DeleteObject();されるときに、GDIリソースを一つ多く確保し続けるようです。

CBitmap test;
test.CreateCompatibleBitmap(ピクチャーコントロールのdc,-,-); //GDIリソースが+2される
test.DeleteObject(); //GDIリソースがー1される

差し引きGDIリソースの確保量が+1になります。
そのうち線を書けなくなり、アプリケーションがクラッシュします。

使い方がどこか良くないのだと思うのですが、パラメータ等が良くないのかな。などと考え込んでいます。解決策をご存知ないですか?GDIリソースの確保量はタスクマネージャの設定でGDIリソースを表示できるようにして確認しています。
2018/04/27(金) 21:30:38.89ID:V9eZGmhL
CreateCompatibleBitmapの前後5行ぐらいに原因がありそうな気がする
205デフォルトの名無しさん
垢版 |
2018/04/28(土) 06:46:29.77ID:7taUW+bg
>>203
自分で開放しないといけないのを忘れてるだけじゃないかな
2018/04/28(土) 13:43:55.18ID:RCDKOgRU
リソースの解放はDeleteObject();ではないのですか?
CreateCompatibleBitmapの前は、CreateCompatibleDCを呼び出しています。
CreateCompatibleDCのDCパラメータをNULLに設定すると、GDIリソースの浪費は無くなりますが、今度は出てくる画面が白黒になってしまいます。
2018/04/28(土) 15:02:19.62ID:7HtEIURB
>>206
ピクチャーコントロールのDCをGetDC()で取得してしてるのでは
2018/04/28(土) 15:36:31.72ID:K6dn8QZh
スタック上でCBitmap test;とやった場合
関数を抜けるときに勝手にデストラクタでDeleteObjectされると思う。
もう少しコード晒さないと判らない。
2018/04/28(土) 20:43:45.95ID:RCDKOgRU
CreateCompatibleDCでは、ピクチャーコントロールのDCを取得させています。
ピクチャーコントロールのDCを渡すと、CreateCompatibleBitmap時にGDIリソースを消費する量が2となるようです。
CreateCompatibleDCにNULLを指定した場合(確か)CreateCompatibleBitmap時のGDIリソース消費量ばかり1となります(以後の描画は白黒になります)。

今しばらく書いているコードをみられません。
CreateCompatibleDCやCreateCompatibleBitmapをOnSize時に破棄させてはサイズを変えて再生成させると、GDIリソースが消費されて減っていくので、
アプリケーション生成時に画面の最大サイズでCreateCompatibleDCさせておき、あとはCreateCompatibleDCしないように変更することも考えております。

アプリケーション生成時に画面のサイズ分のCreateCompatibleDCさせるようにすると、マルチモニタ環境の時などの動作が正常に動作しないかもしれないと思い、
可能ならOnSize内でDeleteObject();させてCreateCompatibleDCさせたいと思っています。

なお、OnSizeから抜けてもGDIリソース消費量は下がってくれないようです。
2018/04/28(土) 21:09:49.29ID:K6dn8QZh
207が言っているのは
bitmap.CreateCompatibleBitmap(pict->GetDC(), rc.Width(), rc.Height())
してるんじゃないかって事。これだとリークします。
211デフォルトの名無しさん
垢版 |
2018/04/29(日) 02:54:49.07ID:4Tl9MZgN
ReleaseDC
2018/04/29(日) 22:23:44.07ID:dUB73wKv
>>212

> 207が言っているのは
> bitmap.CreateCompatibleBitmap(pict->GetDC(), rc.Width(), rc.Height())
> してるんじゃないかって事。これだとリークします。

しています。その上でどのように直すべきか察しが付きません。やはりReleaseDCで直りますか?
2018/04/29(日) 23:00:49.09ID:azFTonkH
ReleaseDCで直る。
私なら 解放不要なCDC::FromHaqndleを使う。
2018/04/30(月) 09:00:09.82ID:N15MwktU
>>212
CClientDCを使うのが一番簡単だけど、
CreateCompatibleDC()のほうは引数はなにを渡しているんだ?

>>213
CDC::FromHandle()はHDCがわかっているときに使うもので、
今回のDCを取得すること自体には使えない。
215213
垢版 |
2018/04/30(月) 13:12:38.67ID:3QBGre+r
スマソ勘違いだった
2018/04/30(月) 14:30:59.80ID:s7QfKdrQ
>>216
CompatibleDCの引数はピクチャーコントロール内のDC
memDC.CreateCompatibleDC(ピクチャーコントロール.GetDC(),ピクチャーコントロールのx,y);
だったと思います。
GetDC()でピクチャーコントロールのDCを取得していたか、GetSafeDCでピクチャーコントロールのDCを取得していたかちょっと思い出せません。
2018/04/30(月) 14:32:37.77ID:s7QfKdrQ
CreateCompatibleDCのパラメータはDC一つだけでしたね。ごめんなさい。
2018/04/30(月) 14:34:44.36ID:4AJ8oS6Z
GetDCの返り血はReleaseDCしないといけない。
219デフォルトの名無しさん
垢版 |
2018/04/30(月) 19:49:57.15ID:fTg4MTz+
返り血こわ
2018/05/01(火) 13:59:06.30ID:eD8/BCAz
ReleaseDCではGDIリソースがー1になりますが、createCompatibleBitmapで+2消費したぶんのすべては解放されてくれません。
releaseDCはおこなっていますが、GDIリソースの消費量は依然として+1になってしまいます。
2018/05/01(火) 14:20:07.77ID:ARev1vvH
>>220
ソースきぼお
2018/05/07(月) 12:52:31.69ID:axInvDCA
原因わかりました。
memBmp.CreateCompatibleBitmap(picctrl.GetDC(),x,y);

が良くなかったようです。
GetDC()でGDIリソースを1消費し、解放出来なくなります。

CDC *pDC;
pDC->picctrl.GetDC();
memBmp.CreateCompatibleBitmap(pDC,x,y);
DeleteObject(memBmp);
ReleaseDC(pDC);

に直したところ、ちゃんとGdIリソースが戻りました。
2018/05/07(月) 12:55:07.54ID:axInvDCA
pDC=picctrl.GetDC();
に修正します。
解答いただいた方々、ありがとうございます。
224デフォルトの名無しさん
垢版 |
2018/05/07(月) 14:56:30.49ID:QMgv+0U5
>>222-223
最初からみんなそう言ってたのに
2018/05/08(火) 19:14:19.80ID:c2nzYwoQ
> CDC *pDC;
> pDC=picctrl.GetDC();
> ReleaseDC(pDC);

picctrl.GetDC()したものを親がReleaseDC()しているのが気持ち悪いが、
これでも正しく動くのか?
2018/05/11(金) 20:03:19.69ID:AvqrI8lf
GetDC()したらReleaseDC()する必要があるのだと思う。CDC*はデストラクタ処理に入れないからReleaseDCする必要がある。
VC++.net CLRとかなら自動でやってくれるのだろう。
2018/05/12(土) 17:30:06.38ID:r7l6NWuz
>>226
picctrl.ReleaseDC(pDC);
とするべきではということなんだが。

そもそもCClientDCを使えばGetDC()なんて自分で呼ぶ必要はないが。
2018/05/14(月) 21:41:18.68ID:8B23ox7k
そうなんだ。φ(`д´)メモメモ...
229デフォルトの名無しさん
垢版 |
2018/05/23(水) 19:28:52.23ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

HQL0Y
230デフォルトの名無しさん
垢版 |
2018/05/24(木) 10:17:50.97ID:0MNYvz/l
バイナリデータ(buf)を受け取ってピクチャーコントロール(m_picture)に
描画したいのですがBitBltのところで
"Debug Assertion Failed!"
が発生してしまいます。
何が悪いのか教えていただけないでしょうか?

PAINTSTRUCT ps;
CBitmap bitmap;
CImage image;
CDC *pDC;

pDC = m_picture.BeginPaint(&ps);

pDC->SetBkMode(TRANSPARENT);
pDC->SetStretchBltMode(COLORONCOLOR);

bitmap.CreateBitmap(width, height, 1, 8, (void*)&buf);
HBITMAP hBitmap = HBITMAP(bitmap.GetSafeHandle());

image.Attach(hBitmap);

image.BitBlt(pDC->GetSafeHdc(), CRect(0, 0, image.GetWidth(), image.GetHeight()), CPoint(0, 0));
image.Detach();
image.ReleaseDC();

m_picture.EndPaint(&ps);
231デフォルトの名無しさん
垢版 |
2018/05/24(木) 10:22:02.55ID:fftgGS82
2018/05/24(木) 19:30:21.07ID:lMOj7i3d
ASSERT(IsWindow(m_picture)); してみれ。
233デフォルトの名無しさん
垢版 |
2018/05/25(金) 08:35:43.69ID:0miZfrjS
>>232
連絡ありがとうございます。
やってみましたがプログラムが止まらないので問題ないみたいです。
2018/05/25(金) 11:28:17.31ID:XVxgp9wt
まず"Debug Assertion Failed!" が出ているのならちゃんと再試行を押そうよ。
それだけで原因そのものはわかる。
235デフォルトの名無しさん
垢版 |
2018/07/04(水) 22:49:24.38ID:gFgZc5FG
EQ8
2018/07/06(金) 12:25:50.03ID:uTPDH9XV
EQ8
2018/07/07(土) 16:23:50.25ID:BnawPcHi
CListCtrでレポート表示のFullRowSelectをカスタムドローを弄ってます。

マウスがアイテムの上に来たら色を変えたいけど、カスタムドローのイベントハンドラだけできますか?
OnMouseMoveでどこにあるか判定してカスタムドローで描画が必要?


ビットマップを3番目のSubItemだけに貼るとか、16x16のSmallサイズ以外だとうまくいかないとか、癖が凄い。
2018/07/23(月) 18:19:00.33ID:+TIH++V2
tooltipの表示内容を一つのピクチャコントロール内で変更したいのですが、マウスカーソルが一端ピクチャコントロールから外れないと、ツールチップの内容が更新されないようです。onmousehoverなどを使わないと駄目でしょうか?
2018/07/24(火) 07:28:28.65ID:vj16B9du
tooltipの解決策を見つけました。
http://www.geocities.jp/sunayamak/study/mfctooltip.html
2018/07/27(金) 23:03:38.30ID:FVoX1kIB
Tooltipの件ありがとうございます。
おかげさまで何とか解決できました。
2018/08/02(木) 20:01:14.70ID:lFbk57E7
datを生成するMFCプログラムがありまして、そのdatからデータを読み込んでexcelの形式に合わせて出力するダイアログベースのMFCプログラムがあります
最初のプログラムから呼び出されて処理をするだけなので、ウインドウの表示とかしないです。ただただ処理して終わりです

それで問題なんですが通常のダイアログを使ったプログラムのように読み込み・変換処理を全部ダイアログ部分に書いてあるんです
ダイアログ使いもしないのにここに書くのおかしくないですか?と聞いたら表示されないんだしいいでしょと。画面表示を行わないMFCプログラムの場合、コードはどこに書くのが自然なんでしょうか?
242デフォルトの名無しさん
垢版 |
2018/08/03(金) 10:09:25.61ID:SxfGFWQF
スレッドを別けたいという意味か?
2018/08/03(金) 18:35:46.47ID:uhu4d/dd
あーすいませんわかりにくかったですね
メインプログラムがあってその内部でdatを生成するんですよ
で、そのdatのパスをコマンドライン引数で別のプログラムに渡すんですね
スレッドというかそもそも2つのプログラムですわ
244デフォルトの名無しさん
垢版 |
2018/08/03(金) 18:52:53.67ID:o/XiGXrO
MFC関係ないのにここで聞くのおかしくないですか?
2018/08/03(金) 19:53:47.89ID:82qJLwKQ
事情が見えない。

どーーしても別プログラムにする事情があると仮定すれば
DialogやConsoleで構わないと思う。
冗長さを排除したいなら_tWinMainから書く手もあるけど
体感できるような差は出ないかと。表示されないんだしいいでしょw
2018/08/05(日) 03:07:58.27ID:lHG7kQYc
>>241
>ダイアログ使いもしないのにここに書くのおかしくないですか?

じゃぁどこに書けばいいの?
2018/08/05(日) 10:12:06.95ID:D9xcyyWx
>>241
MFCの仕組みを使いつつ、まったくウィンドウ表示が不要なものなら、
アプリケーションクラスのInitInstance()の中で処理して、
FALSEを返してすぐ終了するという流れでよいのでは。
2018/08/06(月) 22:59:00.43ID:OCzRfTP8
>>247
結局それにしました。
あとは処理を分担するふっつーのC++クラスいくつか作ってダイアログは完全に使わない感じで
249デフォルトの名無しさん
垢版 |
2018/08/07(火) 05:06:10.31ID:OlmXtX1U
サマータイムも意味がないがそれ以上に意味がない
2018/08/14(火) 16:45:48.75ID:/E7izJ6Y
横から失礼します
InitInstanceの場合は標準出力にメッセージを出せますか?
標準出力に出すmfcプログラムだとすると、_twinmainを使うとどうでしょう。
2018/08/14(火) 19:27:19.22ID:iucfbso2
どちらもやったことありませんが可能だと思います。
私なら _tmain 使うとおもいますが。
252155
垢版 |
2018/08/15(水) 09:28:56.94ID:IMvh29W2
CListViewがウィザードに帰ってきた!!
やほーい
2018/09/20(木) 15:00:47.62ID:i16QdaBT
MFCというかプログラミング姿勢に関しての質問かもしれないんですけど
CやC++で標準的に実装されてる機能とMFCクラスで実装されてる機能、どちらを使っても
同じことが実現できる場合、どちらを優先して使っていくべきなんでしょうか
要するに文字列ならchar*かstringかCStringか
ファイル操作ならfopenかstreamかCfileかみたいな
254デフォルトの名無しさん
垢版 |
2018/09/20(木) 16:28:00.36ID:+UNWjTgc
MFCはオワコン

C#
使え
2018/09/20(木) 18:01:52.92ID:TMKaX7fO
>>254
そうでもない。

>>253
文字列は、単に文字列を保持したい場合や、文字列連結を行いたいような場合は、CStringが便利だと思う。

パーサーなんかを自作する時は、char *が便利。
2018/09/20(木) 18:03:18.25ID:TMKaX7fO
>>253
ファイル操作は、経験上は、fopen()が便利かな。

CFileは意外と不便だった気がする。


stringは、敢えて使う必要は無いと思う。CStringで十分。
257デフォルトの名無しさん
垢版 |
2018/09/20(木) 18:03:55.46ID:a/ASjwi8
俺はできるだけ標準のほうを使うように切り替えた
2018/09/20(木) 22:16:17.61ID:P1fXZpxD
機能が同等なら好みでいいと思うけど、ファイル操作みたいにOS依存が強い機能は
標準ライブラリじゃ足りない場合が多いかな。
2018/09/21(金) 00:47:14.84ID:fuc3wJjq
MFCのGUI特化した本ないのかねー
大概が初心者向けでポインタやら構造体やらMFCと関係ないことが大半を占めてて知りたいことはうすーくしか書いてないのばっか
2018/09/21(金) 06:34:48.10ID:l8rNCGoZ
>>259
20年も前の本だが、お奨めは
ttps://calil.jp/book/475611749X
2018/09/21(金) 08:13:00.69ID:US5K8oGJ
>>260
ありがと
1万くらいなら買うんだけどなぁ
2018/09/21(金) 11:19:39.33ID:Nv8vO9db
本でなくて申し訳ないけど
ヘルプ。
クラスも大幅に拡張されてしまい昔の良書だとツリービュー、リストビュー位まで
最近のリッチな所はヘルプからサンプルソースにたどるのが早いかと
263デフォルトの名無しさん
垢版 |
2018/09/21(金) 13:21:21.50ID:9xBQcUDg
Windows本体ってMFCで作ってるの?
264デフォルトの名無しさん
垢版 |
2018/09/21(金) 17:59:38.20ID:/FmUXr1R
カーネルという意味では、ないやろな。性能面の要求はそんなに甘くないよ。
周辺の付加的モジュールでは、ATLとかは使ってるかも
2018/09/21(金) 19:07:45.12ID:M0K6QlhH
Windows7のペイントとかワードパッドとかをSpy++で見ると、
Afx〜の付くウィンドウクラス名が使われてるから、
このあたりはまだMFCで作られてたんじゃないだろうか。
266デフォルトの名無しさん
垢版 |
2018/09/21(金) 22:10:32.71ID:Yrc2SKMF
なるほど
2018/09/22(土) 09:01:41.72ID:f3qG2b9t
「コンピューターの管理」なんかも、AfxWnd42やAfxFrameOrView42uが出てくる。
268デフォルトの名無しさん
垢版 |
2018/09/22(土) 12:43:01.39ID:xOVRbYWf
>>261
>>259
うちにあるよ
269デフォルトの名無しさん
垢版 |
2018/09/22(土) 12:44:10.56ID:xOVRbYWf
>>263
あやしいよな
2018/10/02(火) 12:20:10.07ID:T1hsru+o
VC++6.0で作っています。 MFCです。
普通にSDIを作りますが、そこからメニューバー等からダイアログボックスをモードレスで起動します。
すると、ダイアログを起動しながらメインウインドウも触れるようになるのですが、そのフォーカスを
モードレスダイアログとメインウインドウとをマウスを使わずにキーボードで切り替えることって出来ませんか

MSのWindowsOSのAlt+Tabではこれらはひとつとして認識されているようでこれでは切り替えられません
ちなみに、Windows7です
271デフォルトの名無しさん
垢版 |
2018/10/02(火) 12:45:27.08ID:+xKncks4
モードレスなら出来るやろ
2018/10/02(火) 14:53:03.01ID:T1hsru+o
>>271
メインウインドウからモードレスダイアログを起動するのですが、すると、Alt+Tabではこれらはひとつとして
認識されますよ
273デフォルトの名無しさん
垢版 |
2018/10/02(火) 15:13:04.28ID:yDKwoLm6
Ctrl+TAB
2018/10/02(火) 15:45:33.11ID:T1hsru+o
>>273
Ctrl+TABでは、ダイアログ上のコントロールのフォーカスが変わっていきます
ウインドウの切り替えはできません
275デフォルトの名無しさん
垢版 |
2018/10/02(火) 15:50:20.77ID:yDKwoLm6
Ctrl+Alt+TAB
2018/10/02(火) 16:01:18.57ID:T1hsru+o
>>275
やってみましたが、Alt+Tabでアプリを変えていけますが、そこに出てくるアプリの数が減っているのを
除いて、同じ動作です。 アプリが変わります
2018/10/02(火) 16:28:36.02ID:7CL4bG8Y
モードレスの親がメインウィンドウなら切り替えできず、親がない(デスクトップ)なら切り替えできるのでは。
親がメインウィンドウの場合でも、PreTranslateMessageでTABキーを補足してSetForegroundWindowとかすればいいと思う
2018/10/02(火) 16:35:36.67ID:T1hsru+o
デフォルトでは用意されていないのかな
PreTranslateMessageを使えばなんでもできますが、
メインウインドウとダイアログと両方に書かないといけないからなあ。しょうがないのかな
2018/10/02(火) 16:38:35.01ID:T1hsru+o
PreTranslateMessageで書きますか。 キーは何をあてるのが自然でしょうか
Ctrl+Tabあたりかな
タブコントロールは、Tab だけと Shift+Tabで動きますからね
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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