あてずっぽですが、
(1)のパターンの時にダイアログ上に他のウインドウを重ねてからもう一度
外すと表示されているなんて言う落ちはないですよね。
だからどうしたといわれると困るんですが、
なんとなくそんな気がしたので。
エディットに文字をセットした後に
何か時間のかかる処理をしていて、
OnOK関数を抜けていないのでは?
その場合、AfxMessageBoxを入れることで
WM_PAINTが処理されてエディットに表示できてるのでは?
プログラム全部載せるのがまずいなら、
現象が再現する簡易版を作って載せたほうが早いかも。
実際試してみたんですが・・・
ikeさんが表示できると言う方が表示できません><
表示できないほうは表示できるんですけど。
> CString m_edit1;
> CEdit m_edit;
>
これをどうやって追加したかがとても気になる・・・
うーん…メンバ m_edit と 実世界にあるedit-control 間
の関連がついてないんじゃないか?
全文公開は無理でも、CSANPLE::DoDataExchange() 関数の内容を晒せば解決の可能性は
高くなる。
無駄にレス多いよね
追加されてる場所確認
-------------------------------------------------------------
1.VIEWクラスヘッダの
class CXXXView : public CView
{
protected: // シリアライズ機能のみから作成します。
CXXXXView();
DECLARE_DYNCREATE(CXXXXView)
public:
//{{AFX_DATA(CXXXXView)
enum { IDD = IDD_XXXX_FORM };
この下あたりですか
-------------------------------------------------------------
2.VIEW.CPPの
void CXXXXView::DoDataExchange(CDataExchange* pDX)
{
CView::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CSSMMNMTNView)
DDX_Control(pDX, IDC_MTITLE, m_CE_MTITLE);
DDX_Text(pDX, IDC_COPID, m_COP_ID); ←ここのようにリソースIDと
関連付けされているのはあります
か
手で追加しちゃダメだよ
-------------------------------------------------------------
あと別のボタンリソースを貼り付けてそのボタンのコーディングしてみてください
MFCの場合「OK」「CANCEL]ボタンは通常のボタンと違う動きしますから
もしかすると、そのままアプリ終わってませんか?
追加したメンバ変数は間違ってもDOCクラスじゃ無いですよね
ごめん
途中読んでなかった
VIEWクラスは、ダイアログクラスと読み替えてください
>MFCの場合「OK」「CANCEL]ボタンは通常のボタンと違う動きしますから
>もしかすると、そのままアプリ終わってませんか?
ダイアログベースの場合は「OK」ボタン押した時点でアプリ終了してしまうのが
デフォルト動作になっているはずです
表示云々の前にアプリ終わっていると思いますがどうでしょうか?
このコードをステップ実行でやったんですが
このコード自体を実行して確認しただけではだめなんですね。
このあと進むと表示ができました。
m_edit.SetWindowText(あいうえお);
Windowsアプリケーションのしくみについての勉強が必要のようですね。
どの時点で描写がなされるのか、について。
コンソールアプリとの違い、など。
# 「コマンド釦」って表記は一般的なのだろうか?
# σ(^^)はどうせなら「コマンドボタン」ってそのまま表記しますが。
# もしくは単に「ボタン」と。
結局最初のソースで何も問題なかったの?
何故えに「解決」してない?
# 「コマンド釦」ってここではじめてみました。HNはikeさんじゃなかったけど