本文介绍了CEdit :: SetWindowText();创建后在播放之前的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想使用SetWindowText函数用一些文本初始化CEdit控件.最好的选择是之后其创建& 之前显示在屏幕上.

我选择了WM_CREATE消息处理程序( OnCreate )来处理此初始化,不幸的是,这个消息处理程序从未被调用过!

我在这里需要一些帮助;(

I want to initialize a CEdit control with some text using SetWindowText function. The best plase to do that is After its creation & Before it is displayed to the screen.

I have chosen WM_CREATE message handler (OnCreate) to handle this initialization, & unfortunately no chance, this message handler has never been invoked!

I need some help here ;(

推荐答案


class CBothContextableEdit : public CEdit
{
  //...

protected:
  virtual void PreSubclassWindow() {
    CEdit::PreSubclassWindow();
    SetWindowText(_T("test"));
  }
  
  afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct) {
    int iResult(CEdit::OnCreate(lpCreateStruct));
    if (GetSafeHwnd()) {
      SetWindowText(_T("test"));
    }
    return iResult;
  }

  DECLARE_MESSAGE_MAP()
};



这篇关于CEdit :: SetWindowText();创建后在播放之前的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-15 19:50