Code: Select all
<#
DN_CTLCOLORDLGITEM c FDLG_NONMODAL вызывается не сразу
(1) Запустить командой модуля PowerShellFar плагина FarNet:
ps: ./Try-NoModal-Coloring.far.ps1
(2) Элементы диалога покрашены обычными цветами диалога (баг?).
(3) Зайти в меню окон (F12) и выбрать этот немодальный диалог.
(или переключиться в панели и обратно CtrlTab CtrlTab)
(4) Элементы диалога покрашены "серый на черном" (как и задумано).
(*) Если немодальный Open() заменить на модальный Show(),
то элементы красятся в задуманные цвета сразу при открытии.
Отладчик подтверждает, что DN_CTLCOLORDLGITEM не вызывается при открытии.
#>
$d = $Far.CreateDialog(-1, -1, 52, 4)
$t = $d.AddText(1, 1, 50, 'gray on black')
$t.add_Coloring({
$_.Background1 = 'Black'
$_.Foreground1 = 'Gray'
})
$e = $d.AddEdit(1, -1, 50, 'gray on black')
$e.add_Coloring({
$_.Background1 = 'Black'
$_.Foreground1 = 'Gray'
$_.Background2 = 'Black'
$_.Foreground2 = 'Gray'
$_.Background3 = 'Black'
$_.Foreground3 = 'Gray'
$_.Background4 = 'Black'
$_.Foreground4 = 'Gray'
})
$d.Open()