本文整理汇总了C++中CFont::Detach方法的典型用法代码示例。如果您正苦于以下问题:C++ CFont::Detach方法的具体用法?C++ CFont::Detach怎么用?C++ CFont::Detach使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CFont
的用法示例。
在下文中一共展示了CFont::Detach方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: AfxGetApp
CEGPaneBar::CEGPaneBar(void)
{
m_curHorzDrag = AfxGetApp()->LoadCursor(AFX_IDC_HSPLITBAR); // sometime fails ..
m_curVertDrag = AfxGetApp()->LoadCursor(AFX_IDC_VSPLITBAR); // sometime fails ..
m_hPane = NULL;
m_bDragging = FALSE;
m_pszCaption = NULL;
m_fntCaption = NULL;
HFONT hFont = (HFONT) GetStockObject( DEFAULT_GUI_FONT );
if ( NULL != hFont ) {
LOGFONT lf;
if ( GetObject( hFont, sizeof( LOGFONT), &lf ) ) {
// lf.lfWeight = FW_BOLD;
m_fntCaption = ::CreateFontIndirect( &lf );
}
}
CFont font;
HDC hdc = ::GetDC( NULL );
int ppi = ::GetDeviceCaps( hdc, LOGPIXELSX);
::ReleaseDC ( NULL, hdc );
int pointsize = MulDiv( 80 , 96, ppi); // 6 points at 96 ppi
font.CreatePointFont( pointsize , _T("Marlett"));
m_fntXButton = (HFONT) font.Detach();
m_bClosePressed = FALSE;
m_bCloseHover = FALSE;
m_bActive = FALSE;
}
示例2: OnDraw
void CCaptionView::OnDraw(CDC* pDC)
{
CDocument* pDoc = GetDocument();
// TODO: add draw code here
CRect rect;
GetClientRect(rect);
// Andere Backroundfarbe einstellen
CBrush Brush(GetSysColor(COLOR_BTNFACE));
CBrush *poldBrush = pDC -> SelectObject(&Brush);
// Anderen Font einstellen
CFont Font; Font.Attach ((HFONT)GetStockObject (ANSI_VAR_FONT));
CFont* pFontOld = pDC -> SelectObject(&Font);
Font.Detach();
// WindowRect füllen
pDC -> FillRect(rect, &Brush);
// Backroundfarbe für Text setzen
pDC -> SetBkColor(GetSysColor(COLOR_BTNFACE));
// Text setzen
pDC -> DrawText (m_strCaption, -1, rect,
DT_LEFT | DT_VCENTER | DT_SINGLELINE);
// Rücksetzen der alten Objekte
pDC -> SelectObject(&poldBrush);
pDC -> SelectObject(&pFontOld);
}
示例3: OnInitialUpdate
void CGumpListView::OnInitialUpdate()
{
CListView::OnInitialUpdate();
if (m_bInit) return;
m_bInit = true;
LoadGumpDesc(GUMP_DESC_FILE);
CListCtrl& ctrl = GetListCtrl();
ctrl.ModifyStyle(0, LVS_REPORT|LVS_SINGLESEL|LVS_SHOWSELALWAYS);
ctrl.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
LOGFONT lf;
memset(&lf, 0, sizeof(lf));
HGDIOBJ hFont = ::GetStockObject(OEM_FIXED_FONT);
::GetObject(hFont, sizeof(lf), &lf);
lf.lfHeight = 100;
lf.lfPitchAndFamily = FIXED_PITCH;
CFont font;
font.CreatePointFontIndirect(&lf);
ctrl.SetFont(&font);
font.Detach();
ctrl.InsertColumn(0, "Gump ID", LVCFMT_RIGHT,60);
ctrl.InsertColumn(1, "Size", LVCFMT_RIGHT,60);
ctrl.InsertColumn(2, "Desc", LVCFMT_LEFT,100);
CString strText;
cGumpLoader* pGumpLoader = GetDocument()->GetGumpLoader(); ASSERT(pGumpLoader);
int w=0,h=0,iItem=0;
for (int i = 0; i < pGumpLoader->GetGumpCount(); i++)
{
pGumpLoader->GetGumpSize(i, w, h);
if (w==0 || h==0) continue;
strText.Format("0x%04X", i);
iItem = ctrl.InsertItem(i, strText);
strText.Format("%dx%d", w,h);
ctrl.SetItemText(iItem, 1, strText);
ctrl.SetItemData(iItem, i);
LPCTSTR desc = GetGumpDesc(i);
if (desc)
ctrl.SetItemText(iItem, 2, desc);
//if (i > 100) break;
}
}
示例4: setNewFont
void CRaster::setNewFont()
{
if(!initialized)
return;
CString newname;
c_Fonts.GetWindowText(newname); // get new font name
CFont * font = c_Sample.GetFont();
if(font == NULL) // REQ #052
font = CFont::FromHandle((HFONT)::GetStockObject(SYSTEM_FONT));// REQ #052
// REQ #052
LOGFONT lf; // REQ #052
font->GetLogFont(&lf); // REQ #052
lf.lfWidth = 0; // REQ #052
int size;
if(c_Raster.GetCheck() == BST_CHECKED) // REQ #052
{ /* raster */ // REQ #052
size = (int)c_FontSize.GetItemData(c_FontSize.GetCurSel());// REQ #006// REQ #052
} /* raster */ // REQ #052
else // REQ #052
{ /* scaled */ // REQ #052
size = (int)c_SpinScaledHeight.GetPos32(); // REQ #052
} /* scaled */ // REQ #052
BYTE newquality = (BYTE)c_Quality.GetItemData(c_Quality.GetCurSel());// REQ #071
if(lstrcmp(lf.lfFaceName, newname) != 0 || size != lf.lfHeight ||
lf.lfQuality != newquality) // REQ #071
{ /* need new font */
lf.lfHeight = size;
lstrcpy(lf.lfFaceName, newname);
lf.lfQuality = newquality; // REQ #071
CFont newfont;
if(newfont.CreateFontIndirect(&lf))
{ /* success */
c_Sample.SetFont(&newfont);
c_Unmagnified.SetFont(&newfont); // REQ #052
c_Sample.Invalidate(); // REQ #071
c_Unmagnified.Invalidate(); // REQ #071
TRACE(_T(__FUNCTION__) _T(": DeleteObject(font=%p)\n"), font->m_hObject);// REQ #021
font->DeleteObject();
newfont.Detach();
CRect client; // REQ #050
GetClientRect(&client); // REQ #050
AdjustWindowSize(client.Width(), client.Height()); // REQ #050
} /* success */
} /* need new font */
}
示例5: SetFont
BOOL CPOwnerDrawMenu::SetFont (HFONT hFont)
{
BOOL b;
CFont Font;
if (Font.Attach (hFont) != FALSE)
{
b = SetFont (Font);
Font.Detach ();
return b;
}
return FALSE;
}
示例6: OnPaint
void CFontStatic::OnPaint()
{
CFont fFont;
CFont *fOldFont;
int nWeight;
CPaintDC dc(this);
DWORD dwQuality;
CRect rect;
UINT unFormat=0;
// Get the window text
CString szText;
this->GetWindowText(szText);
// Get the client rect
this->GetClientRect(rect);
// Set the background
if(m_bBgColor)
dc.FillSolidRect(rect,m_dwBgColor);
else
dc.FillSolidRect(rect,GetSysColor(COLOR_3DFACE));
// Set the text-color and background
dc.SetTextColor(m_dwColor);
dc.SetBkMode(TRANSPARENT);
// Determine the weight of the font
if(m_bBold)
nWeight = FW_BLACK;
else
nWeight = FW_NORMAL;
// Set the quality of the font
if(m_bAntialias)
dwQuality = ANTIALIASED_QUALITY;
else
dwQuality = DEFAULT_QUALITY;
// Set the horizontal alignment
if(m_bCenter)
unFormat|=DT_CENTER;
else if(m_bRight)
unFormat|=DT_RIGHT;
else if(m_bLeft)
unFormat|=DT_LEFT;
if(m_bvCenter)
unFormat|=DT_VCENTER|DT_SINGLELINE;
// Set no prefix and wordwrapping
unFormat|=DT_NOPREFIX;
unFormat|=DT_WORDBREAK;
// Create the font
fFont.Detach();
if(fFont.CreateFont(m_nSize,0,0,0, nWeight ,m_bItalic, m_bUnderlined, m_bStrikethrough, DEFAULT_CHARSET, OUT_CHARACTER_PRECIS, CLIP_CHARACTER_PRECIS, dwQuality, DEFAULT_PITCH | FF_DONTCARE, m_szFont)!=NULL)
{
fOldFont = dc.SelectObject(&fFont);
dc.DrawText(szText,rect,unFormat);
}
}
示例7: OnInitDialog
BOOL CMFCControlsDlg::OnInitDialog()
{
CFont* pFont = GetFont();
LOGFONT logfont;
pFont->GetLogFont(&logfont);
logfont.lfWeight = 700;
CFont myFont;
myFont.CreateFontIndirect(&logfont);
SetFont(&myFont,TRUE);
myFont.Detach();
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
// Setup demo controls - no more skinning-specific code in this method
for (int i = 0; i < 5; i ++)
{
TCHAR szTab[20] = {0};
_stprintf(szTab, _T("Tab %d"), (i+1));
m_Tab.InsertItem(i, szTab);
}
for (int j = 0; j < 10; j++) {
m_List.InsertString(j, _T("SkinMagic Toolkit!"));
}
m_bPlaying = TRUE;
m_Progress.SetRange(0, 1000);
m_Progress.SetPos(0);
m_VertScroll.SetScrollRange(0, 1000, TRUE);
m_HorzScroll.SetScrollRange(0, 1000, TRUE);
SendDlgItemMessage(IDC_RADIO3, BM_SETCHECK, 1, 0);
SendDlgItemMessage(IDC_CHECK3, BM_SETCHECK, 1, 0);
m_Slider1.SetRange(0,100,0);
m_Slider2.SetRange(0,100,0);
m_Slider3.SetRange(0,100,0);
m_Slider4.SetRange(0,100,0);
m_Slider5.SetRange(0,100,0);
m_Slider6.SetRange(0,100,0);
m_Slider1.SetPos(0);
m_Slider2.SetPos(50);
m_Slider3.SetPos(100);
m_Slider4.SetPos(0);
m_Slider5.SetPos(50);
m_Slider6.SetPos(100);
// Set a timer to update
//SetTimer(1000, 250, NULL);
return TRUE; // return TRUE unless you set the focus to a control
}
示例8: OnInitialUpdate
void CNewGameView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
// TODO: Fügen Sie hier Ihren spezialisierten Code ein, und/oder rufen Sie die Basisklasse auf.
CBotEDoc* pDoc = resources::pDoc;
ASSERT(pDoc);
m_pBkgndImg = pDoc->GetGraphicPool()->GetGDIGraphic("Events\\Startmenu.boj");
m_TotalSize = CSize(1280, 1024);
CRect clientRect;
GetDesktopWindow()->GetClientRect(clientRect);
//double nButtonSizeX = 300.0;
//double nButtonSizeY = 40.0;
//double nXPos = clientRect.Width() / 2.0 - nButtonSizeX / 2.0;
double nYPos = clientRect.Height() / 2.0 - 175.0;
//double nGab = 10.0;
// Structure containing Style
tButtonStyle tStyle;
//////////////////////////////////////////////////////////////////////////
// Get default Style
m_tButtonStyle.GetButtonStyle(&tStyle);
// Change Radius of Button
tStyle.m_dRadius = 1.0;
// Change Color Schema of Button
tStyle.m_tColorFace.m_tEnabled = RGB(100, 100, 100);
tStyle.m_tColorBorder.m_tEnabled = RGB(220, 220, 220);
tStyle.m_tColorFace.m_tClicked = RGB(75, 75, 75);
tStyle.m_tColorBorder.m_tClicked = RGB(25, 25, 25);
tStyle.m_tColorFace.m_tPressed = RGB(75, 75, 75);
tStyle.m_tColorBorder.m_tPressed = RGB(25, 25, 25);
tStyle.m_tColorFace.m_tHot = RGB(0x80, 0x80, 0xFF);
tStyle.m_tColorBorder.m_tHot = RGB(0x40, 0x40, 0xFF);
// Set Style again
m_tButtonStyle.SetButtonStyle(&tStyle);
// auflösungsabhängige Font erstellen
CFont fnt;
fnt.CreateFont(17, 0, 0, 0, FW_BLACK, FALSE, FALSE, FALSE, ANSI_CHARSET, OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS, CLEARTYPE_QUALITY, DEFAULT_PITCH, "Calibri");
// Set control positions
m_username.SetWindowPos(NULL, clientRect.Width() / 2.0 - 100, nYPos, 200, 25, SWP_FRAMECHANGED);
m_username.SetFont(&fnt);
// Controls nur für Server
m_description.SetWindowPos(NULL, clientRect.Width() / 2.0 - 100, nYPos + 35, 200, 25, SWP_FRAMECHANGED);
m_description.SetFont(&fnt);
m_serverPort.SetWindowPos(NULL, clientRect.Width() / 2.0 - 100, nYPos + 70, 200, 25, SWP_FRAMECHANGED);
m_serverPort.SetFont(&fnt);
m_btPublish.SetWindowPos(NULL, clientRect.Width() / 2.0 - 100, nYPos + 105, 14, 14, SWP_FRAMECHANGED);
m_btPublish.SetFont(&fnt);
// Controls nur für Clients
m_hostIP.SetWindowPos(NULL, clientRect.Width() / 2.0 - 100, nYPos + 35, 200, 25, SWP_FRAMECHANGED);
m_hostIP.SetFont(&fnt);
m_btSearchServers.SetWindowPos(NULL, clientRect.Width() / 2.0 + 110, nYPos + 35, 175, 25, SWP_FRAMECHANGED);
SetButtonStyle(&m_btSearchServers);
m_btSearchServers.SetWindowText(CLoc::GetString("SEARCHLANSERVER"));
m_hostPort.SetWindowPos(NULL, clientRect.Width() / 2.0 - 100, nYPos + 70, 200, 25, SWP_FRAMECHANGED);
m_hostPort.SetFont(&fnt);
// Create push buttons
m_btBack.Create(_T(CLoc::GetString("BTN_BACK")), WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON, CRect(), this, BTN_BACK);
m_btBack.SetWindowPos(NULL, clientRect.Width() / 2.0 - 160, nYPos + 175, 150, 30, SWP_FRAMECHANGED);
SetButtonStyle(&m_btBack);
m_btNext.Create(_T(CLoc::GetString("BTN_FURTHER")), WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON, CRect(), this, BTN_NEXT);
m_btNext.SetWindowPos(NULL, clientRect.Width() / 2.0 + 10, nYPos + 175, 150, 30, SWP_FRAMECHANGED);
SetButtonStyle(&m_btNext);
// Handle auf Font freigeben
fnt.Detach();
// Anfangswerte setzen
m_btPublish.SetCheck(TRUE);
CString userName = "";
CIniLoader::GetInstance()->ReadValue("General", "USERNAME", userName);
if (!userName.IsEmpty())
SetDlgItemText(IDC_USERNAME, userName);
else
{
TCHAR userName[UNLEN + 1];
DWORD nLen = UNLEN + 1;
//.........这里部分代码省略.........