導航:首頁 > 編程語言 > mfc程序支持繁體

mfc程序支持繁體

發布時間:2023-03-22 04:07:48

❶ MFC中怎麼修改對話框標題字體大小(屬性里修改除外)

1VC的對話框字體設置對所有控制項都有效,你不能單獨地改變某個靜態文本的字體。對於你的問題,需要首先用CreateFont來建立一個字體對象,然後調用控制項的SetFont,就可以了。
例子:
1、改靜態文體的ID,如:IDC_STATIC1
2、添加一個Edit控制項,建立一個關聯的控制項m_editControl。
3、在OnInitDialog中添加如下代碼
CFont*f;
f=newCFont;
f->CreateFont(16,//nHeight
0,//nWidth
0,//nEscapement
0,//nOrientation
FW_BOLD,//nWeight
TRUE,//bItalic
FALSE,//bUnderline
0,//cStrikeOut
ANSI_CHARSET,//nCharSet
OUT_DEFAULT_PRECIS,//nOutPrecision
CLIP_DEFAULT_PRECIS,//nClipPrecision
DEFAULT_QUALITY,//nQuality
DEFAULT_PITCH|FF_SWISS,//nPitchAndFamily
_T("Arial"));//lpszFac

GetDlgItem(IDC_STATIC1)->SetFont(f);
需要注意的是,這里我們使用的是CFont指針,而不是普通的CFont局部變數,在非MFC程序,首先用CreateFont來建立一個字體句柄,然後再用SendMessage發給控制項WM_SETFONT消息,將建立的字體句柄賦值過去,就可以了。

實例下載:http://www.china-askpro.com/download/CtrlFont.zip


2但是整個對話框或窗口的字體的大小,使用對話框或窗口的SetFont()函數卻沒有任何的作用.可以在初始化時遍歷每個控制項分別設置來處理,但這里說另一種使用回調函數的簡單方法:
:調用系統的API:::EnumChildWindows().,傳入回調函數和重新定義的字體.(第一個參數不用管啊,本來就有啊)
)
1)在文檔視圖結構中CMainFrame::OnCreate().中調用::EnumChildWindows().實現所有窗口和子窗口字體改變
2)在對話框的OnInitDialog().中調用::EnumChildWindows().改變對話窗上的所有控制項.

回調函數如下:

//lParamisapointertoCFontobject
BOOL__stdcallSetChildFont(HWNDhwnd,LPARAMlparam)
{
CFont*pFont=(CFont*)lparam;
CWnd*pWnd=CWnd::FromHandle(hwnd);
pWnd->SetFont(pFont);
returnTRUE;
}

使用1:
BOOLCAboutDlg::OnInitDialog()
{
CDialog::OnInitDialog();

//TODO:Addextrainitializationhere
::EnumChildWindows(m_hWnd,::SetChildFont,(LPARAM)g_Font.GetFont());

returnTRUE;//
//EXCEPTION:
}


使用2:
intCMainFrame::OnCreate(LPCREATESTRUCTlpCreateStruct)
{
if(CFrameWnd::OnCreate(lpCreateStruct)==-1)
return-1;

if(!m_wndToolBar.CreateEx(this,TBSTYLE_FLAT,WS_CHILD|WS_VISIBLE|CBRS_TOP
|CBRS_GRIPPER|CBRS_TOOLTIPS|CBRS_FLYBY|CBRS_SIZE_DYNAMIC)||
!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
TRACE0("Failedtocreatetoolbar ");
return-1;//failtocreate
}

if(!m_wndStatusBar.Create(this)||
!m_wndStatusBar.SetIndicators(indicators,
sizeof(indicators)/sizeof(UINT)))
{
TRACE0("Failedtocreatestatusbar ");
return-1;//failtocreate
}

m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndToolBar);

::EnumChildWindows(m_hWnd,::SetChildFont,(LPARAM)g_Font.GetFont());

return0;
}

閱讀全文

與mfc程序支持繁體相關的資料

熱點內容
專題學習網站源碼 瀏覽:163
jsphead什麼 瀏覽:88
gps串口數據怎麼發送 瀏覽:968
win10文件主頁共享查看 瀏覽:411
中國聯通有哪些app是免流的 瀏覽:176
邊做邊保存的文件找不到了 瀏覽:858
win10照片應用文件夾名稱 瀏覽:966
編程如何解決資金的原子性 瀏覽:638
如何製作廣角鏡頭矯正文件 瀏覽:513
在網頁開發中應該選用哪個資料庫 瀏覽:742
iphone5移動卡貼 瀏覽:990
電腦文件的格式 瀏覽:127
extjs的xtype 瀏覽:959
suse11iso文件要u盤安裝 瀏覽:153
如何將報表統計數據轉化為圖形 瀏覽:444
如何寄快遞材料文件 瀏覽:265
java構造方法private 瀏覽:475
手機文件找回恢復 瀏覽:516
word怎麼把u盤里的文件拔掉 瀏覽:976
港版蘋果用的插排 瀏覽:1000

友情鏈接