[MFC]Style de la bar de Status - CStatusBar
J'ai genere un application SDI avec ClassWizard.
Bien sur, j'ai une bar de status mais avec ce style d'affichage :
http://img153.imageshack.us/img153/4235/capture7er.jpg
Je voudrai avoir ce style d'affichage pour la bar ( avec un separateur et le tick frame ) :
http://img146.imageshack.us/img146/7650/capture25cd.jpg
Voila mon code pour la bar de status :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
static UINT indicators[] =
{
ID_SEPARATOR, // status line indicator
ID_INDICATOR_CONNECTTOEMULE,
// ID_INDICATOR_CAPS,
// ID_INDICATOR_NUM,
// ID_INDICATOR_SCRL,
};
int CMainFrame::CreateStatusBar()
{
// Create Status Bar with Font style
CFont *m_Font = new CFont;
LOGFONT lfLogFont;
memset(&lfLogFont, 0, sizeof(lfLogFont));
lfLogFont.lfHeight = 12; // 13-pixel-height
lfLogFont.lfWeight = FW_BOLD; // Bold
strcpy(lfLogFont.lfFaceName, "Verdana"); // Verdana
m_Font->CreateFontIndirect(&lfLogFont);
if (!m_wndStatusBar.CreateEx(this, SBT_TOOLTIPS | SBARS_SIZEGRIP) ||
!m_wndStatusBar.SetIndicators( indicators, sizeof(indicators)/sizeof(UINT) ) )
{
TRACE0("Failed to create status bar\n");
return -1; // fail to create
}
m_wndStatusBar.SetFont( m_Font, TRUE );
m_wndStatusBar.SetPaneInfo( 1, ID_INDICATOR_CONNECTTOEMULE, SBPS_NOBORDERS, 15 );
CStatusBarCtrl* StatusBarCtrl = &m_wndStatusBar.GetStatusBarCtrl();
CRect PaneRect;
StatusBarCtrl->GetRect( 1, PaneRect );
StatusBarCtrl->SetMinHeight( PaneRect.Height() + 20 );
ULONG_PTR uResIcon;
CString strStatusTip;
if ( EmuleLinkInjectVariableApp->bConnectToEmuleState )
{
uResIcon = IDI_CONNECT;
strStatusTip = "Connect to Emule";
}
else
{
uResIcon = IDI_DICONNECT;
strStatusTip = "DisConnect to Emule";
}
HICON m_hIconConnect = (HICON)::LoadImage(AfxGetApp()->m_hInstance, MAKEINTRESOURCE(uResIcon), IMAGE_ICON, 16, 16, 0);
StatusBarCtrl->SetIcon( 1, m_hIconConnect );
StatusBarCtrl->SetTipText( 1, strStatusTip );
return 0;
}
|
Je precise que je tourne sous WndowsXP et en compiler VisualStudio 2003 .NET
Vous me diriez peut-etre : l'affichage de la bar de status est pratiquement pareil :lol: mais pas tout a fait ;)
Merci de vos reponses...