Archive for květen, 2007

Tap-n-hold v Edit casti Combo Boxu

Situace: Aplikace, ktera neni zalozena na dialogu (v MFC), protoze nechci, aby OK/Close button ji zavrel, ale jen minimalizoval. Takze hlavni okno je CWnd. Na nem dva prvky – CComboBox a CButton. Tapnuti na button spousti hledani vyrazu zadaneho v combo boxu. Combo box, protoze v jeho drop down menu je historie hledanych slov. Logicke. Intuitivni.

Problem cislo 1: Nejde tap-n-hold na edit casti combo boxu, coz je pekne naprd, protoze bezne to uzivatel bude chtit pouzit.
Reseni: Combo box nahrazen CEditem. Ztracime historii, kterou tam budeme muset dodelat jinak.

Problem cislo 2: Kdyz user tapne na SW klavesnici na Enter, tak aby se spustilo hledani. Nic se vsak nedeje.
Pokud bysme meli dialog, tak udelame button se stylem BS_DEFPUSHBUTTON a je vystarano. Rucni pridani stylu do buttonu nejde, ani kdyz se prida poslani zpravy DM_SETDEFID, ktera oznami default control. Neni se cemu divit, nejsme na dialogu, ale jen na CWnd.
Reseni: Odvozeni noveho editu, pridani reakce na zpravu WM_CHAR. Ta posle user-defined zpravu rodici. Ten ji odchytne a vyvola hledani. Dementni, ale funguje.

A to vsechno jen kvuli tomu, aby fungoval tap-n-hold na editu combo boxu! Ja vam radim neprogramujte, jinak skoncite u doc. Chocholouska.

Jeste me napadlo zmenit zakladni CWnd na CDialog, ale obavam se, ze by to byla cesta do pekel.

Add comment květen 23, 2007


Kalendář

květen 2007
po út st čt so ne
« dub   čer »
 123456
78910111213
14151617181920
21222324252627
28293031  

Kategorie

Poslední příspěvky

Archiv

Nezařazeno

PocketPC

Software

Ze života

Statistika Blogu