Сейчас на форуме: tyns777, _MBK_, UniSoft (+11 невидимых)

 eXeL@B —› Программирование —› TimeDatePicker
Посл.ответ Сообщение


Ранг: 462.8 (мудрец), 468thx
Активность: 0.280
Статус: Участник
Only One!

Создано: 01 августа 2012 23:12
· Личное сообщение · #1

Господа, у меня просьба..
Меня интересует как отловить в диалоговом цикле.. события связанные с TimeDatePicker.. а именно как поймать события выбора даты, или просто клик по контролу..
В общем расскажите полезную информацию.. пожалуйста.

-----
aLL rIGHTS rEVERSED!




Ранг: 222.2 (наставник), 115thx
Активность: 0.140.01
Статус: Участник

Создано: 01 августа 2012 23:25 · Поправил: HandMill
· Личное сообщение · #2

Установить текущую дату:

Code:
  1. GetLocalTime(&st);
  2. DateTime_SetSystemtime(GetDlgItem(hwnd,IDC_DATETIMEPICKER1),GDT_VALID,&st);


Получить текущую дату:

Code:
  1. DateTime_GetSystemtime(GetDlgItem(hwnd,IDC_DATETIMEPICKER1),&st);


Обработка сообщения о изменении даты:

Code:
  1.          case WM_NOTIFY:
  2.                  {
  3.                         if((((LPNMHDR)lParam)->hwndFrom) == GetDlgItem(hwnd,IDC_DATETIMEPICKER1))
  4.                         {
  5.                               switch (((LPNMHDR)lParam)->code)
  6.                               {
  7.                               case DTN_CLOSEUP: // изменена дата выбором по кнопке
  8.                                    {
  9.                                        Обрабатываем событие
  10.                                    }break;
  11.                               }
  12.                         }
  13.                  }break;


Полезные макросы(не уверен правда что они есть в МАСМе, но определиться по ним можно через дефайны сделанные в СДК):
http://msdn.microsoft.com/en-us/library/aa931342

-----
все багрепорты - в личные сообщения


| Сообщение посчитали полезным: OnLyOnE, Maximus


Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 02 августа 2012 01:46
· Личное сообщение · #3

Code:
  1. _WM_NOTIFY:       
  2.  
  3. mov      ebx,[lParam]  
  4. mov      eax,[ebx+NMHDR.hwndFrom]        
  5. cmp      eax,[hDatePicker]      
  6. jne      not_datepicker         
  7. cmp      [ebx+NMHDR.code],DTN_CLOSEUP    
  8. je       focus 
  9. cmp      [ebx+NMHDR.code],DTN_DATETIMECHANGE      
  10. jne      not_datepicker         
  11. call     Change      
  12.  
  13. not_datepicker:   
  14. jmp      MesReturn
  15.  
  16. focus:   
  17.  
  18. invoke   GetDlgItem,[hWnd],ID_DatePicker
  19. invoke   SetFocus,eax        
  20.  
  21. jmp      MesReturn


-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube


| Сообщение посчитали полезным: OnLyOnE
 eXeL@B —› Программирование —› TimeDatePicker
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати