Страница 1 из 1

Добавлено: 19 Апрель 2004, 14:21
Гость
Здравствуйте!

Наблюдается такой эффект. Есть окно с признаком ToolBox. В нем размещен List-контрол, в который выводится информация из некоторой очереди. Наводим мышь на этот List, а затем быстро перемещаем на другое окно (на frame или дочернее MDI-окно). Эффект Flat для кнопок пропадает. Если мышиный курсор задержать на границе окна с ToolBox, то все нормально. Может быть кто знает способ побороть? Clarion 5.5H, W2k.

С уважением,
Вячеслав Черников support@finsoft.ryazan.ru
Написал: ClaList(2)

Добавлено: 20 Апрель 2004, 19:32
Гость
Здравствуйте!

Причина оказалась в атрибуте MSG у List-контрола. Без него все заработало. Для коллекции приведу два варианта окна. В первом возникает баг, во втором все нормально.

Код: Выделить всё

 
window WINDOW('Потоки'),AT(,,53,277),FONT('MS Sans Serif',8,,),IMM,DOCK(DOCK:left+DOCK:right),DOCKED(DOCK:left), !
         SYSTEM,TOOLBOX,GRAY,MASK
       PANEL,AT(2,0,48,274),USE(?Panel1),#ORIG(?Panel1)
       BUTTON('Button 1'),AT(9,26,35,14),USE(?Button1),HIDE,#ORIG(?Button1)
       LIST,AT(5,4,41,265),USE(?List),SKIP,NOBAR,VSCROLL,FONT('MS Sans Serif',8,COLOR:Black,,CHARSET:CYRILLIC), !
           COLOR(COLOR:Silver,COLOR:Black,COLOR:Silver),MSG('Рабочие потоки'),TIP('Рабочие потоки'),CURSOR('BeOS5 Normal Select.cur'), !
           FORMAT('[4L(2)!FMJP@s1@Q''Рабочие потоки''/160L(1)F@s40@]!FM'),FROM(FsThreadsQueue),GRID(COLOR:Silver), !
           #ORIG(?List1),#FIELDS(FsThreadName,FsThreadStr)
     END

window WINDOW('Потоки'),AT(,,53,277),FONT('MS Sans Serif',8,,),IMM,DOCK(DOCK:left+DOCK:right),DOCKED(DOCK:left), !
         SYSTEM,TOOLBOX,GRAY,MASK
       PANEL,AT(2,0,48,274),USE(?Panel1),#ORIG(?Panel1)
       BUTTON('Button 1'),AT(9,26,35,14),USE(?Button1),HIDE,#ORIG(?Button1)
       LIST,AT(5,4,41,265),USE(?List),SKIP,NOBAR,VSCROLL,FONT('MS Sans Serif',8,COLOR:Black,,CHARSET:CYRILLIC), !
           COLOR(COLOR:Silver,COLOR:Black,COLOR:Silver),TIP('Рабочие потоки'),CURSOR('BeOS5 Normal Select.cur'), !
           FORMAT('[4L(2)!FMJP@s1@Q''Рабочие потоки''/160L(1)F@s40@]!FM'),FROM(FsThreadsQueue),GRID(COLOR:Silver), !
           #ORIG(?List1),#FIELDS(FsThreadName,FsThreadStr)
     END

Очередь имеет структуру:

Код: Выделить всё

 
FsThreadsQueue       QUEUE,PRE()
FsThreadName         STRING(1)
FsThreadName:Icon    SHORT
FsThreadName:Tip     STRING(60)
FsThreadStr          STRING(40)
FsThreadQ            LONG
                     END

С уважением,
Вячеслав Черников
Написал: ClaList(2)