如过要改变static中所有的字,可以使用SetFont函数
如果要字体不同,就要自己写OnPaint函数了

解决方案 »

  1.   

    还不是一样的吗
    Cfont &font
    //设置字体等
    setwindowstext()
      

  2.   

    "//设置字体等"
       請舉個例子好嗎?字體怎么設置呢?Cfont如何使用呢?
      

  3.   

    在你需要改变的地方加入如下代码:
    CFont m_fontSample;
    m_fontSample.CreatePointFont(80,_T("MS Sans Serif"));
    //设计成你需要地字体
    GetDlgItem(IDC_SAMPLETEXT)->SetFont(&m_fontSample);
    //IDC_SAMPLETEXT为靜態文本控件的ID.
      

  4.   

    只能在OnDraw里面设置它的字体,然后显示
    否则,刷新后还是按原来对话框的默认字体显示
    如果,不在Ondraw里面这么做,只好自己写个类了
      

  5.   

    我已经做了一个ondraw(),但是ondraw放在哪里调用呢?
    我做的是一个对话框程式。
    void CSamDlg::OnDraw()
    {
    CFont m_fontSample;
    m_fontSample.CreatePointFont(390,_T("Verdana 粗体"));
    GetDlgItem(IDC_SAM)->SetFont(&m_fontSample);
    m_Sam.SetWindowText("你好");
    }
      

  6.   

    please help...
    OnLine Waiting....
      

  7.   

    回复人: quanxiongwei(毛毛熊) (  ) 信誉:100  2002-05-16 12:52:00  得分:0  
     
     
      在你需要改变的地方加入如下代码:
    CFont m_fontSample;
    m_fontSample.CreatePointFont(80,_T("MS Sans Serif"));
    //设计成你需要地字体
    GetDlgItem(IDC_SAMPLETEXT)->SetFont(&m_fontSample);
    //IDC_SAMPLETEXT为靜態文本控件的ID.
      
     
    这个方法可行,我实现过。(可以在INITIAL DIALOG里设置。)
      

  8.   

    我在initial dialog里设置过,可还是不行啊,靜態文本“你好仍然不变,
    BOOL CSamDlg::OnInitDialog()
    {
    CDialog::OnInitDialog(); // Add "About..." menu item to system menu. // IDM_ABOUTBOX must be in the system command range.
    ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
    ASSERT(IDM_ABOUTBOX < 0xF000); CMenu* pSysMenu = GetSystemMenu(FALSE);
    if (pSysMenu != NULL)
    {
    CString strAboutMenu;
    strAboutMenu.LoadString(IDS_ABOUTBOX);
    if (!strAboutMenu.IsEmpty())
    {
    pSysMenu->AppendMenu(MF_SEPARATOR);
    pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
    }
    } // Set the icon for this dialog.  The framework does this automatically
    //  when the application's main window is not a dialog
    SetIcon(m_hIcon, TRUE); // Set big icon
    SetIcon(m_hIcon, FALSE); // Set small icon

    // TODO: Add extra initialization here
    CFont m_fontSample;
    m_fontSample.CreatePointFont(390,_T("Verdana 粗体"));
    GetDlgItem(IDC_SAM)->SetFont(&m_fontSample);
    m_Sam.SetWindowText("你好");
    // Sleep(1000); return TRUE;  // return TRUE  unless you set the focus to a control
    }
      

  9.   

    ondraw是窗口相应WM_PAINT消息的函数,用ClassWizard冲在该函数。
      

  10.   

    能否祥细讲一下,我在ClassWizard中没找到。。
      

  11.   

    我在WM_PAINT消息的函数OnPaint()中加了也一样.字體只是閃爍了一下,就又恢復
    了原狀,我要讓它一直顯示怎么辦?
    void CSamDlg::OnPaint() 
    {
    if (IsIconic())
    {
    CPaintDC dc(this); // device context for painting SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); // Center icon in client rectangle
    int cxIcon = GetSystemMetrics(SM_CXICON);
    int cyIcon = GetSystemMetrics(SM_CYICON);
    CRect rect;
    GetClientRect(&rect);
    int x = (rect.Width() - cxIcon + 1) / 2;
    int y = (rect.Height() - cyIcon + 1) / 2; // Draw the icon
    dc.DrawIcon(x, y, m_hIcon);
    OnDraw(); }
    else
    {
    CDialog::OnPaint();
    OnDraw();
    }
    OnDraw();
    }
      

  12.   

    In your InitDialog fuantion
    use:
    CFont m_font;
    m_fontSample.CreatePointFont(390,Font name you need);
    GetDlgItem(Your Static ID)->SetFont(&m_font);or you can use subclass create your own class of static
      

  13.   

    CFont m_font;
    m_fontSample.CreatePointFont(390,Font name you need);
    GetDlgItem(Your Static ID)->SetFont(&m_font);
    m_font.Detach();
      

  14.   

    HELP!
    ADD TO 50 fen.
    THANKS!
      

  15.   

    派生个CMyStatic : public CStatic
    加入成员 
    CFont fnt;
    LOGFONT lf;
    // 设置字体
    在CMyStatic::OnDraw()中选择字体设备位子定义的那个就可以拉
      

  16.   

    thanks!
    thanks lanzhengpeng2