Kurz6 - Kapitola2

17. června 2007 v 10:47 | http://www.sweb.cz/kurz_evt/ |  Programování pro WinCE

8.2 Obvyklý začátek

Aplikaci si založíme jako MFC typ dialog bez dalších speciálních vlastností. Překlad jsem prováděl pro PocketPC platformu. Při použití ARM procesoru by měl pak fungovat na všech novějších strojích.
Na plochu umístíme 4 tlačítka a 2 ovládací prvky - List Control a Tab Control. Pro tlačítka jsem ID a Caption změnil na odpovídající názvy - např.
ID: IDC_NEW - Caption: New.
Prvky List a Tab Control jsem ponechal v původní podobě, pouze u List jsem změnil styl na Report (budeme označovat celý řádek s více sloupci).
Důležité je také umístit na plochu dialogu jako první List Control a až po něm Tab Control. Při startu programu jsou díky pořadí v souboru PhoNumbs.rc vytvářeny v opačném pořadí a proto bude List nahoře.
obr. 86 Okno nového programu
Aby byl dialog inicializován a připraven k použití, doplníme ve funkci OnInitDialog() na místě, kde jsme k tomu přímo vyzýváni, následující kód:
  
// Do Tab Controlu vlozime jednotlive zalozky
TC_ITEM TabCtrlItem;
TabCtrlItem.mask = TCIF_TEXT;
CTabCtrl *pTab;
pTab=(CTabCtrl*)GetDlgItem(IDC_TAB1);
TabCtrlItem.pszText = _T("ABC");
pTab->InsertItem( 0, &TabCtrlItem );
TabCtrlItem.pszText = _T("DEF");
pTab->InsertItem( 1, &TabCtrlItem );
TabCtrlItem.pszText = _T("GHI");
pTab->InsertItem( 2, &TabCtrlItem );
TabCtrlItem.pszText = _T("JKL");
pTab->InsertItem( 3, &TabCtrlItem );
TabCtrlItem.pszText = _T("MNO");
pTab->InsertItem( 4, &TabCtrlItem );
TabCtrlItem.pszText = _T("PRS");
pTab->InsertItem( 5, &TabCtrlItem );
TabCtrlItem.pszText = _T("TUV");
pTab->InsertItem( 6, &TabCtrlItem );
TabCtrlItem.pszText = _T("WXZ");
pTab->InsertItem( 7, &TabCtrlItem );

CListView *pView;
pView=(CListView*)GetDlgItem(IDC_LIST1);
// Nastavime oznacovani celeho radku pri vyberu
ListView_SetExtendedListViewStyle(pView->m_hWnd,LVS_EX_FULLROWSELECT);
// Vlozime 3 sloupce
pView->GetListCtrl().InsertColumn(0,_T("Surname:"),LVCFMT_LEFT,75);
pView->GetListCtrl().InsertColumn(1,_T("Name:"),LVCFMT_LEFT,70);
pView->GetListCtrl().InsertColumn(2,_T("Phone:"),LVCFMT_LEFT,75);
(Možná vám bude chybět toto :-)
#include "Afxcview.h"
Jako další věc můžeme upravit ikonu programu (malou i velkou). Příklad pro inspiraci je následující obrázek, který jsem našel na nějakém prastarém CD s free ikonami.
obr. 87 Příklad ikony programu
Na závěr můžete do resource vložit nový dialog "About..." a v obsluze tlačítka "?..." pak nový dialog použít.
  
void CPhoNumbsDlg::OnAbout()
{
CDialog dlg(IDD_ABOUTDLG);
dlg.DoModal();
}

Co bychom si měli z této lekce zapamatovat?

  • Úvodní práce na programu jsou skoro vždy velmi podobné ...
 

Buď první, kdo ohodnotí tento článek.

Nový komentář

Přihlásit se
  Ještě nemáte vlastní web? Můžete si jej zdarma založit na Blog.cz.