Форум » GUI » Как в GET DATEPICKER отразить пустую дату ? » Ответить

Как в GET DATEPICKER отразить пустую дату ?

Aleksandr_D: Добрый день! Как в GET DATEPICKER отразить пустую дату ? Если изначально дата пустая, и открывается диалоговое окно, то в поле отражается текущая дата. При использовании STYLE DTS_SHOWNONE 0x0002 - в результате на пикере появляется "псиса" , как на чекбоксе. Ставишь псису – вводится дата , убираешь - трактуется , как пустая дата ... А каким образом можно отражать даты? ( кроме @ GET VAR dDate )

Ответов - 5

SergKis: В MiniGui в паре с GetBox можно так обыграть (на базе примера Advanced\ChangeStyle)[pre2] // !!! @ 54,411 GETBOX DatePick_1 WIDTH 120 HEIGHT 24 VALUE 'DataPicker' ; ON CHANGE ( This.Hide, This.DatePicker_1.Show, This.ComboBox_1.SetFocus, ; DoEvents(), _PushKey(VK_TAB), _PushKey(VK_F4) ) ; ACTION ( This.Hide, This.DatePicker_1.Show, This.ComboBox_1.SetFocus, ; DoEvents(), _PushKey(VK_TAB), _PushKey(VK_F4) ) ; IMAGE 'br_view.bmp' @ 54,411 DATEPICKER DatePicker_1 WIDTH 120 HEIGHT 24 INVISIBLE ; ON LOSTFOCUS ( This.Hide, This.DatePick_1.Show, DoEvents(), This.DatePick_1.SetFocus ) ; ON ENTER (DoEvents(), This.DatePick_1.Value := hb_DtoC(This.Value, 'dd.mm.yyyy') ) // !!! [/pre2] Выглядит (на скорую руку) пример так https://TransFiles.ru/f6vim

alkresin: Aleksandr_D пишет: А каким образом можно отражать даты? ( кроме @ GET VAR dDate ) Вы имеете ввиду - чтобы начальное состояние datepicker устанавливалось в зависимости от значения даты? Ну, например, так (HwGUI): [pre2]#define DTM_SETSYSTEMTIME 0x1002 #define GDT_NONE 1 ... LOCAL d1 := Ctod( Space(8) ) ... @ 10,10 GET DATEPICKER odp VAR d1 SIZE 100, 28 STYLE DTS_SHOWNONE ; ON INIT {||Iif(Empty(d1),hwg_SendMessage(odp:handle, DTM_SETSYSTEMTIME, GDT_NONE, 0),.t.)} ... [/pre2]

alkresin: alkresin пишет: Ну, например, так (HwGUI): А, вообще-то, этот ON INIT {||Iif(Empty(d1)... здесь и не нужен. Если d1 пустая, будет пустым и checkbox и, соответственно, disabled значение даты. Если же d1 не пусто - то checkbox установленю


Aleksandr_D: alkresin Да, ON INIT {||Iif(Empty(d1)... здесь не нужен. Если d1 пустая - disabled значение даты, но при этом в поле даты отражается не пустое значение " / / ", а текущая дата.

Aleksandr_D: SergKis Спасибо!



полная версия страницы