mfc-ml

1998年01月

31

[mfc 3081] Re: SDIのタイトル変更方法について

  緩急です。

> すみません。私の発言は以下の通りで、SetWindowText()自体の話では
>なく、外から直接 SetWindowText() するのは CFrameWnd クラスの動作
>と競合するので、注意した方が良いというのが発言の趣旨です。


  おっとと...これは失礼いたしました(^^;
質問者の染谷さんへのつもりが sato さんへのコメント
になってましたね(^^;; お騒がせしました。

No.3076 は、染谷さんへのコメントです。
31

[mfc 3080] 画面に入力した文字列を移動(ドラッグ)するには?

はじめまして、naoです。(VC++の初心者です。)
今、メニューから「文字列」を選択すると、ダイアログボックス
を表示し、文字を入力すると、画面に文字を表示できます。
その、表示した文字を移動(ドラッグ)させたいのですが。
解る方がいらしたら、教えてください。
以下に、今のプログラムを書きます。よろしくお願いします。

void CDialogView::OnWord() 
{
CClientDC dc(this);

CTestDialog dlg;
CString ret;
ret=dlg.DoModal();
if (ret==IDOK)
{
dc.TextOut(50,50,dlg.m_Name);
}
}
31

[mfc 3080] 画面に入力した文字列を移動(ドラッグ)するには?

はじめまして、naoです。(VC++の初心者です。)
今、メニューから「文字列」を選択すると、ダイアログボックス
を表示し、文字を入力すると、画面に文字を表示できます。
その、表示した文字を移動(ドラッグ)させたいのですが。
解る方がいらしたら、教えてください。
以下に、今のプログラムを書きます。よろしくお願いします。

void CDialogView::OnWord() 
{
CClientDC dc(this);

CTestDialog dlg;
CString ret;
ret=dlg.DoModal();
if (ret==IDOK)
{
dc.TextOut(50,50,dlg.m_Name);
}
}
31

[mfc 3080] 画面に入力した文字列を移動(ドラッグ)するには?

はじめまして、naoです。(VC++の初心者です。)
今、メニューから「文字列」を選択すると、ダイアログボックス
を表示し、文字を入力すると、画面に文字を表示できます。
その、表示した文字を移動(ドラッグ)させたいのですが。
解る方がいらしたら、教えてください。
以下に、今のプログラムを書きます。よろしくお願いします。

void CDialogView::OnWord() 
{
CClientDC dc(this);

CTestDialog dlg;
CString ret;
ret=dlg.DoModal();
if (ret==IDOK)
{
dc.TextOut(50,50,dlg.m_Name);
}
}
31

[mfc 3079] Re: SDIのタイトル変更方法について

佐藤です。

┌─────────────────
│   緩急さんから 1998/01/31 16:42:35 +0900 に頂いた
│ 「[mfc 3076] Re: SDIのタイトル変更方法について 」
├─────────────
│  sato さん、こんにちは。

│APIを使うなら、テキストを更新したいタイトルバー
│を持つウィンドウのハンドルを hWnd として、

│::SetWindowText( hWnd, "テキスト" );

│とするか、

│::SendMessage( hWnd,WM_SETTEXT,O,(LPARAM)"テキスト");

│という書き方ができます。
│効果はどちらも同じです( SetWindowText()も、内部で
│SendMessage してるので )。

│  いずれの場合も、その呼び出しによってアプリケーション
│に対し WM_SETTEXT が発行され、DefWindowProc()がテキ
│スト設定を処理します。


 すみません。私の発言は以下の通りで、SetWindowText()自体の話では
なく、外から直接 SetWindowText() するのは CFrameWnd クラスの動作
と競合するので、注意した方が良いというのが発言の趣旨です。

> 通常 CFrameWnd はあるタイミングで、自分のウィンドウタイトルを設定
>しにいっているので、上記の方法ではそれと競合してしまうと思います。
> もし、SetWimdowText() を使用するのであれば、メインフレームの
>ウィンドウスタイルから FWS_ADDTOTITLE を取った上で行った方が良いと
>思います。
> また、動的にウィンドウのタイトルを変更するのでなければ 文字列リソ
>ースの IDR_MAINFRAME で行った方が良いと思います。

 上記のどの点についての意見なのでしょうか?
(それとも、 「SendMessage() しているので、CFrameWnd クラスがそれを
 とらえて処理している筈だから競合が発生しない」という事でしょうか?)

 wwwwwwwwww 日本コントロールシステム株式会社  佐藤 秀勝 wwwwwwwwwwww
記事検索
Amazon.co.jp
  • ライブドアブログ