【VCコントロール】コントロールとポップアップメニューの文字内容とサイズを動的に変更する
1859 ワード
構想:各国の言語によって、異なる言語パッケージのDLLを構築する.
::MessageBoxW(NULL,cla_kodlogic->GetMsgString(1712),cla_kodlogic->GetMsgString(1716),MB_OK);
上の1712および1716は、DLLの文字列に対応するインデックスである.
1.フォームのCaption:1を動的に変更します.AfxGetMainWnd()->SetWindowText(「テストタイトル」)2.this->SetWindowText(「テストタイトル」);
2.メニューポップアップのテキストを動的に変更するには:
popup->
ModifyMenu(ID_32771,MF_POPUP,ID_32771,cla_kodlogic->GetMsgString(1714));
popup->ModifyMenu(ID_32772,MF_POPUP,ID_32772,cla_kodlogic->GetMsgString(1715));
上の2つの文は、メニューのポップアップ・アイテムを動的に変更するテキストの内容です.
(ModifyMenu関数でのパラメータの具体的な意味は、以下を参照してください.http://www.programfan.com/doc/vbapi/ModifyMenu.htm )
3.リストコントロール内のテキストの表示サイズを変更します(OnInitDialog関数に追加すればいい):
m_ListSinger.
SetFont(&g_Font,TRUE);
上の文はフォントサイズを設定する関数で、プロジェクト全体のフォントを設定するには改善が必要です.
::MessageBoxW(NULL,cla_kodlogic->GetMsgString(1712),cla_kodlogic->GetMsgString(1716),MB_OK);
上の1712および1716は、DLLの文字列に対応するインデックスである.
1.フォームのCaption:1を動的に変更します.AfxGetMainWnd()->SetWindowText(「テストタイトル」)2.this->SetWindowText(「テストタイトル」);
2.メニューポップアップのテキストを動的に変更するには:
DWORD dwPos = GetMessagePos();
CPoint point( LOWORD(dwPos), HIWORD(dwPos) );
CMenu menu;
VERIFY( menu.LoadMenu( IDR_R_MENU ) );
CMenu* popup = menu.GetSubMenu(0);
ASSERT( popup != NULL );
popup->ModifyMenu(ID_32771,MF_POPUP,ID_32771,cla_kodlogic->GetMsgString(1714));
popup->ModifyMenu(ID_32772,MF_POPUP,ID_32772,cla_kodlogic->GetMsgString(1715));
popup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, this );
popup->
ModifyMenu(ID_32771,MF_POPUP,ID_32771,cla_kodlogic->GetMsgString(1714));
popup->ModifyMenu(ID_32772,MF_POPUP,ID_32772,cla_kodlogic->GetMsgString(1715));
上の2つの文は、メニューのポップアップ・アイテムを動的に変更するテキストの内容です.
(ModifyMenu関数でのパラメータの具体的な意味は、以下を参照してください.http://www.programfan.com/doc/vbapi/ModifyMenu.htm )
3.リストコントロール内のテキストの表示サイズを変更します(OnInitDialog関数に追加すればいい):
CFont* font = GetFont();
static CFont g_Font;
if (font)
{
LOGFONT lf;
font->GetLogFont(&lf);
//lf.lfWeight = 1;
lf.lfHeight += 25;
lf.lfWidth += 6;
g_Font.CreateFontIndirect(&lf);
// Newdfont.CreatePointFont(160, " ");
//CListCtrl &m_List = GetListCtrl();
m_ListSong.SetFont(&g_Font,TRUE);
m_ListSinger.SetFont(&g_Font,TRUE);
CWnd *pCtrltrol=NULL;
if(NULL != (pCtrltrol = GetDlgItem(IDC_STATIC_SONGLIST)) )
pCtrltrol->SetFont(&g_Font,TRUE);
}
m_ListSinger.
SetFont(&g_Font,TRUE);
上の文はフォントサイズを設定する関数で、プロジェクト全体のフォントを設定するには改善が必要です.