Еще раз...Множественный выбор в интерфейсе

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Re: Еще раз...Множественный выбор в интерфейсе

Сообщение RAJAH » Вт май 22, 2012 09:05

alfmaster писал(а):как передать нреки из маркера во вьюху

Завести временную таблицу в памяти с полем типа comp и сбрасывать нреки туда.
Код: Выделить всё
   for(IndexNo:=0; IndexNo<=GetMarkerCount(Markers)-1; IndexNo:=IndexNo+1)
   begin
     if GetMarker(Markers, IndexNo, tmpnrec) then
     insert tmptable set
       tmptable.fnrec:=tmpnrec;
   end;
RAJAH
Местный житель
 
Сообщения: 929
Зарегистрирован: Пн фев 18, 2008 13:49
Reputation point: 57

Re: Еще раз...Множественный выбор в интерфейсе

Сообщение alfmaster » Ср июн 13, 2012 17:02

Подмогите разобраться, почему не помечаются записи с таким статус-лайн
Код: Выделить всё
Interface MBPg 'Выбор актов'
  (,hcDictInterface) DoAccept,EscClose, Cyan;
!  show at ( 3, 1, 76, 26);

  create view vMBPMtable
  var
    Markers      : LongInt;
    FieldMarkers : LongInt;
    IndexNo      : LongInt;

  (MarkerStr)

  As Select
   if (SearchMarker(Markers, MBPMove.nrec, IndexNo) = True, 'v', ' '),

   * from MBPMove, katpodr
where (('5'==mbpmove.status
and MBPMove.cpodrf==katpodr.nrec

))
;
form myform ('myform.out');


procedure out_my_form;
{
_loop MBPMove {
                  if (SearchMarker(Markers, MBPMove.nrec, IndexNo) <> True)
                     then continue;                             
!                  myform.PutEventById(feDoLoop, fcfmMBPMove);
                  myform.write(MBPMove.nom);
                   }
if (not myform.error)
  then myform.showfile('myform.out')
  else
  message ('Не получилась форма');
}

  Panel pnTablesList;
  Table MBPMove;
    Browse bwTableList(,,sci1378InsPM);
!  show at (,,,15);
      Fields
        MarkerStr        ''                 :[1], Skip;
!        MBPMove.nrec  'Nrec'              : Protect;
        MBPMove.nom  'номер акта'      : Protect;
        MBPMove.dmove 'дата акта' : Protect;
        katpodr.name  'Подразделение'      : Protect;
    end;
!  screen sc1;
!  show at (,16,,);
!  buttons
!  cmPrint;
!<<
!
!                        <. Отчет .>           
!>>
!  end;
!  cmMarkUnMark   =  cmDoMarkUnMark;

    HandleEvent
!      cmMarkRec    : begin
      cmDoMarkUnMark    : begin
                       InvertMarker(Markers, MBPMove.nrec);
                       if ((GetNext MBPMove) = tsOk) {};
                       RescanPanel(tnMBPMove);
                     end;
!      cmMarkAll    : begin
      cmSelAll    : begin
                       StartNewVisual( vtRotateVisual, vfTimer, 'Помечаю все', 1);
                       PushPos(tnMBPMove);
                       if ((Modifier GetFirst MBPMove) = tsOk)
                       begin
                         do
                         begin
                           InsertMarker(Markers, MBPMove.nrec);
                           NextVisual;
                         end;
                         while (Modifier GetNext MBPMove = tsOk)
                       end;
                       PopPos(tnMBPMove);
                       StopVisual('', 0);
                       RescanPanel(tnMBPMove);
                     end;
!      cmInvertMark : begin
      cmDoInvertMark : begin
                       StartNewVisual( vtRotateVisual, vfTimer, 'Инвертирую список', 1);
                       PushPos(tnMBPMove);
                       if ((Modifier GetFirst MBPMove) = tsOk)
                       begin
                         do
                         begin
                           InvertMarker(Markers, MBPMove.nrec);
                           NextVisual;
                         end;
                         while (Modifier GetNext MBPMove = tsOk)
                       end;
                       PopPos(tnMBPMove);
                       StopVisual( '', 0);
                       RescanPanel(tnMBPMove);
                     end;
!      cmUnMarkAll  : begin
      cmUnSelAll  : begin
                       ClearMarker(Markers);
                       RescanPanel(tnMBPMove);
                     end;
!      cmprint: {
!                out_my_form;
!                }
    end;
  end; // panel


  HandleEvent
    cmInit    : begin
!RunInterface   ('F_MBP::SPIS_MBP.GETMBPMOVESPIS')     // 'F_MBP::SPIS_MBP.GETMBPMOVESPIS.KATPODR.NAME'
                  Markers:=InitMarker('SPIS_MBP', 8, 1000, 100);
                  FieldMarkers:=InitMarker('', 8, 20, 20);
                end;
    cmDone    : begin
                  DoneMarker(Markers, 'SPIS_MBP');
                  DoneMarker(FieldMarkers, '');
                end;
  end;
end.
alfmaster
Новичок
 
Сообщения: 24
Зарегистрирован: Пт окт 30, 2009 14:02
Reputation point: 0

Re: Еще раз...Множественный выбор в интерфейсе

Сообщение Den » Ср июн 13, 2012 17:14

Быстрее всего потому что в sci1378InsPM по клавише Ins обрабатывается другая команда нежели cmDoMarkUnMark ,а именно cmMarkUnMark
Den
Местный житель
 
Сообщения: 1836
Зарегистрирован: Вт мар 29, 2005 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Reputation point: 60

Re: Еще раз...Множественный выбор в интерфейсе

Сообщение alfmaster » Ср июн 13, 2012 18:59

cmMarkUnMark - пишет при компиляции ... нет такой команды! :-?
alfmaster
Новичок
 
Сообщения: 24
Зарегистрирован: Пт окт 30, 2009 14:02
Reputation point: 0

Re: Еще раз...Множественный выбор в интерфейсе

Сообщение n0where » Ср июн 13, 2012 20:16

cmMarkUnMark : Word = 1221;
хороший программист — это человек, который переходя улицу с односторонним движением смотрит в обе стороны
n0where
Местный житель
 
Сообщения: 499
Зарегистрирован: Чт дек 30, 2010 09:16
Reputation point: 11

Re: Еще раз...Множественный выбор в интерфейсе

Сообщение Masygreen » Чт июн 14, 2012 11:12

Устаревшая конструкция ...
Код: Выделить всё
if ((GetNext MBPMove) = tsOk) {};

рекомедндуется использовать

Код: Выделить всё
RedrawCurrentAndGo(br_Head,true);


Кусочек

Код: Выделить всё
Window wnGetPrice 'Выбор прайс-листов' ('',, sci178InsPM) cyan,AlwaysReturn;
browse br_Head;
Table KLPRICE;

Fields
....
HandleEvent // Interface

//#region
cmMarkUnMark:
{
  InvertMarker(_MarkerCrPr, KLPRICE.NREC);
  RedrawCurrentAndGo(br_Head,true);
}
cmSelectAll:
{
  PushPos(tnKLPRICE);
  _loop KLPRICE
   InsertMarker(_MarkerCrPr, KLPRICE.NREC);
  PopPos(tnKLPRICE);
  ReReadRecord(#KLPRICE);
}
cmUnSelectAll:
{
  ClearMarker(_MarkerCrPr);
  ReReadRecord(#KLPRICE);
}
//#endregion

cmDefault:
{
if(not FoundMarker(_MarkerCrPr, KLPRICE.NREC))
  InsertMarker(_MarkerCrPr, KLPRICE.NREC);
CloseWindow(wnGetPrice);
abort;
}
End;

End;


Код: Выделить всё
Const cmSelectAll    =  cmSelAll;
Const cmUnSelectAll  =  cmUnSelAll;
Const cmMarkUnMark   =  cmDoMarkUnMark;
Const cmInvertAll    =  cmDoInvertMark; 



Код: Выделить всё
cmSelAll       = 1219;
cmUnSelAll     = 1220;
cmDoMarkUnMark = 1221;
cmDoInvertMark = 1222;   
Время ведет!
Masygreen
Местный житель
 
Сообщения: 1088
Зарегистрирован: Чт сен 04, 2008 11:27
Откуда: Москва
Reputation point: 26

Re: Еще раз...Множественный выбор в интерфейсе

Сообщение alfmaster » Чт июн 14, 2012 14:24

Блин, выбрал стандартный статуслайн из GALNET.CSC (sci178InsPM = 6959;)
прописал в GALNET.CCM
Код: Выделить всё
cmSelAll       = 1219;
cmUnSelAll     = 1220;
cmDoMarkUnMark = 1221;
cmDoInvertMark = 1222;   

  cmSelectAll    =  cmSelAll;
  cmUnSelectAll  =  cmUnSelAll;
  cmMarkUnMark   =  cmDoMarkUnMark;
  cmInvertAll    =  cmDoInvertMark;



поправил в фейсе и все равно не помечаются записи :sad:
Код: Выделить всё
Interface MBPg 'Выбор актов'
  (,hcDictInterface) DoAccept,EscClose, Cyan;
!  show at ( 3, 1, 76, 26);

  create view vMBPMtable
  var
    Markers      : LongInt;
    FieldMarkers : LongInt;
    IndexNo      : LongInt;

  (MarkerStr)

  As Select
   if (SearchMarker(Markers, MBPMove.nrec, IndexNo) = True, 'v', ' '),

   * from MBPMove, katpodr
where (('5'==mbpmove.status
and MBPMove.cpodrf==katpodr.nrec

))
;
form myform ('myform.out');


procedure out_my_form;
{
_loop MBPMove {
                  if (SearchMarker(Markers, MBPMove.nrec, IndexNo) <> True)
                     then continue;                             
!                  myform.PutEventById(feDoLoop, fcfmMBPMove);
                  myform.write(MBPMove.nom);
                   }
if (not myform.error)
  then myform.showfile('myform.out')
  else
  message ('Не получилась форма');
}

  Panel pnTablesList;
  Table MBPMove;
    Browse bwTableList(,,sci178InsPM);
!  show at (,,,15);
      Fields
        MarkerStr        ''                 :[1], Skip;
!        MBPMove.nrec  'Nrec'              : Protect;
        MBPMove.nom  'номер акта'      : Protect;
        MBPMove.dmove 'дата акта' : Protect;
        katpodr.name  'Подразделение'      : Protect;
    end;
!  screen sc1;
!  show at (,16,,);
!  buttons
!  cmPrint;
!<<
!
!                        <. Отчет .>           
!>>
!  end;
!  cmMarkUnMark   =  cmDoMarkUnMark;

    HandleEvent
!      cmMarkRec    : begin
      cmDoMarkUnMark    : begin
                       InvertMarker(Markers, MBPMove.nrec);
                       if ((GetNext MBPMove) = tsOk) {};
                       RescanPanel(tnMBPMove);
                     end;
!      cmMarkAll    : begin
      cmSelAll    : begin
                       StartNewVisual( vtRotateVisual, vfTimer, 'Помечаю все', 1);
                       PushPos(tnMBPMove);
                       if ((Modifier GetFirst MBPMove) = tsOk)
                       begin
                         do
                         begin
                           InsertMarker(Markers, MBPMove.nrec);
                           NextVisual;
                         end;
                         while (Modifier GetNext MBPMove = tsOk)
                       end;
                       PopPos(tnMBPMove);
                       StopVisual('', 0);
                       RescanPanel(tnMBPMove);
                     end;
!      cmInvertMark : begin
      cmDoInvertMark : begin
                       StartNewVisual( vtRotateVisual, vfTimer, 'Инвертирую список', 1);
                       PushPos(tnMBPMove);
                       if ((Modifier GetFirst MBPMove) = tsOk)
                       begin
                         do
                         begin
                           InvertMarker(Markers, MBPMove.nrec);
                           NextVisual;
                         end;
                         while (Modifier GetNext MBPMove = tsOk)
                       end;
                       PopPos(tnMBPMove);
                       StopVisual( '', 0);
                       RescanPanel(tnMBPMove);
                     end;
!      cmUnMarkAll  : begin
      cmUnSelAll  : begin
                       ClearMarker(Markers);
                       RescanPanel(tnMBPMove);
                     end;
!      cmprint: {
!                out_my_form;
!                }
    end;
  end; // panel


  HandleEvent
    cmInit    : begin
!RunInterface   ('F_MBP::SPIS_MBP.GETMBPMOVESPIS')     // 'F_MBP::SPIS_MBP.GETMBPMOVESPIS.KATPODR.NAME'
                  Markers:=InitMarker('SPIS_MBP', 8, 1000, 100);
                  FieldMarkers:=InitMarker('', 8, 20, 20);
                end;
    cmDone    : begin
                  DoneMarker(Markers, 'SPIS_MBP');
                  DoneMarker(FieldMarkers, '');
                end;
  end;
end.
alfmaster
Новичок
 
Сообщения: 24
Зарегистрирован: Пт окт 30, 2009 14:02
Reputation point: 0

Re: Еще раз...Множественный выбор в интерфейсе

Сообщение Masygreen » Пт июн 15, 2012 10:54

Ну вот вам полный код Wind .. соберите посмотрите как работает.. потом внедрите сюда свои данные
Код: Выделить всё
 
Interface inCreatePrice (,,sci178InsPM) cyan,AlwaysReturn;;
var
_MarkerCrPr:longint;
create view
from KLPRICE,KATNOTES
Where (( KLPRICE.CNOTE == KATNOTES.nrec))
;
cmInit:
{
  _MarkerCrPr := InitMarker('PriceChose', 8, 100, 10);
   ClearMarker(_MarkerCrPr);
  RunWindowModal(wnGetPrice);


Код: Выделить всё
Window wnGetPrice 'Выбор прайс-листов' ('',, sci178InsPM) cyan,AlwaysReturn;
show at(2,12,260,34);

browse br_Head;
Table KLPRICE;

Fields
KLPRICE.NAME   #3'Наименование':[50] ,Protect,{font={bold=if(FoundMarker(_MarkerCrPr, KLPRICE.NREC), true, false);}};
KLPRICE.DPRICE #3'Дата цен':[10]     ,Protect,{font={bold=if(FoundMarker(_MarkerCrPr, KLPRICE.NREC), true, false);}};
KLPRICE.DBEG   #3'с:':[10]           ,Protect,{font={bold=if(FoundMarker(_MarkerCrPr, KLPRICE.NREC), true, false);}};
KLPRICE.DEND   #3'по:':[10]          ,Protect,{font={bold=if(FoundMarker(_MarkerCrPr, KLPRICE.NREC), true, false);}};
KATNOTES.NAME  #3'Статус':[20]       ,Protect,{font={bold=if(FoundMarker(_MarkerCrPr, KLPRICE.NREC), true, false);}};
end;

HandleEvent // Interface

//#region
cmMarkUnMark:
{
  InvertMarker(_MarkerCrPr, KLPRICE.NREC);
  RedrawCurrentAndGo(br_Head,true);
}
cmSelectAll:
{
  PushPos(tnKLPRICE);
  _loop KLPRICE
   InsertMarker(_MarkerCrPr, KLPRICE.NREC);
  PopPos(tnKLPRICE);
  ReReadRecord(#KLPRICE);
}
cmUnSelectAll:
{
  ClearMarker(_MarkerCrPr);
  ReReadRecord(#KLPRICE);
}
//#endregion

cmDefault:
{
if(not FoundMarker(_MarkerCrPr, KLPRICE.NREC))
  InsertMarker(_MarkerCrPr, KLPRICE.NREC);
CloseWindow(wnGetPrice);
abort;
}
End;

End; 
Время ведет!
Masygreen
Местный житель
 
Сообщения: 1088
Зарегистрирован: Чт сен 04, 2008 11:27
Откуда: Москва
Reputation point: 26

Re: Еще раз...Множественный выбор в интерфейсе

Сообщение alfmaster » Пт июн 15, 2012 11:11

ПАСИБ! Проштудирую сейчас!
alfmaster
Новичок
 
Сообщения: 24
Зарегистрирован: Пт окт 30, 2009 14:02
Reputation point: 0

Re: Еще раз...Множественный выбор в интерфейсе

Сообщение alfmaster » Пн июн 18, 2012 16:12

не вник.... может кто на моем премере поправит? :sad:
alfmaster
Новичок
 
Сообщения: 24
Зарегистрирован: Пт окт 30, 2009 14:02
Reputation point: 0

Re: Еще раз...Множественный выбор в интерфейсе

Сообщение zna » Вт сен 11, 2012 16:56

Тоже вот пытаюсь осилить тему.. Повторил пример Masygreen'a:
Код: Выделить всё
#include GALNET.CCM
#include GALNET.CSC
cmSelAll       = 1219;
cmUnSelAll     = 1220;
cmDoMarkUnMark = 1221;
cmDoInvertMark = 1222;
Const
      cmSelectAll    =  cmSelAll;
      cmUnSelectAll  =  cmUnSelAll;
      cmMarkUnMark   =  cmDoMarkUnMark;
      cmInvertAll    =  cmDoInvertMark;
end;
Interface inCreatePrice (,,sci178InsPM) cyan, AlwaysReturn;
var
_MarkerCrPr:longint;
create view from KLPRICE,KATNOTES
Where (( KLPRICE.CNOTE == KATNOTES.nrec))
;
Window wnGetPrice 'Выбор прайс-листов' ('',, sci178InsPM) cyan,AlwaysReturn;
show at(2,12,260,34);

browse br_Head;
Table KLPRICE;

Fields
KLPRICE.NAME   #3'Наименование':[50] ,Protect,{font={bold=if(FoundMarker(_MarkerCrPr, KLPRICE.NREC), true, false);}};
KLPRICE.DPRICE #3'Дата цен':[10]     ,Protect,{font={bold=if(FoundMarker(_MarkerCrPr, KLPRICE.NREC), true, false);}};
KLPRICE.DBEG   #3'с:':[10]           ,Protect,{font={bold=if(FoundMarker(_MarkerCrPr, KLPRICE.NREC), true, false);}};
KLPRICE.DEND   #3'по:':[10]          ,Protect,{font={bold=if(FoundMarker(_MarkerCrPr, KLPRICE.NREC), true, false);}};
KATNOTES.NAME  #3'Статус':[20]       ,Protect,{font={bold=if(FoundMarker(_MarkerCrPr, KLPRICE.NREC), true, false);}};
end;
end;

HandleEvent // Interface

cmInit:
{
  _MarkerCrPr := InitMarker('PriceChose', 8, 100, 10);
   ClearMarker(_MarkerCrPr);
  RunWindowModal(wnGetPrice);

}
cmMarkUnMark:
{ Message('cmMarkUnMark');
  InvertMarker(_MarkerCrPr, KLPRICE.NREC);
  RedrawCurrentAndGo(br_Head,true);
}
cmSelectAll:
{
  PushPos(tnKLPRICE);
  _loop KLPRICE
   InsertMarker(_MarkerCrPr, KLPRICE.NREC);
  PopPos(tnKLPRICE);
  ReReadRecord(#KLPRICE);
}
cmUnSelectAll:
{
  ClearMarker(_MarkerCrPr);
  ReReadRecord(#KLPRICE);
}
cmDefault:
{
if(not FoundMarker(_MarkerCrPr, KLPRICE.NREC))
  InsertMarker(_MarkerCrPr, KLPRICE.NREC);
CloseWindow(wnGetPrice);
abort;
}
end;
end.

- строка статуса появилась с кнопками "Ins", "+","-"
но записи не помечаются. И не генерится событие cmMarkUnMark.
Что не так? :eek:
zna
Местный житель
 
Сообщения: 552
Зарегистрирован: Вт мар 29, 2005 17:49
Откуда: Челябинск
Reputation point: 14

Re: Еще раз...Множественный выбор в интерфейсе

Сообщение KATZ » Вт сен 11, 2012 17:42

События от статус-линии попадают в обработчик текущего окна, а у вас код их обработки вставлен в обработчик главного окна.

Да и вообще доп. окно здесь не требуется, только сложности лишние от него.
KATZ
Местный житель
 
Сообщения: 473
Зарегистрирован: Вт мар 29, 2005 17:49
Reputation point: 58

Re: Еще раз...Множественный выбор в интерфейсе

Сообщение zna » Ср сен 12, 2012 08:19

О как.. Да, убрал дополнительное окно, и записи стали помечаться! Копаю дальше.. :-)
KATZ +1
zna
Местный житель
 
Сообщения: 552
Зарегистрирован: Вт мар 29, 2005 17:49
Откуда: Челябинск
Reputation point: 14

Re: Еще раз...Множественный выбор в интерфейсе

Сообщение zna » Ср сен 12, 2012 12:21

Почти сделал интерфейс, в котором записи помечаются нормально и маркер, я надеюсь создаётся тоже нормально. Осталось дописать выход по нажатию Enter- вот здесь нужна подсказка. В интерфейсе объявлена панель, в которой делается пометка, вопрос- как нормально выйти из обработчика панели, а потом и из обработчика главного окна? Код сейчас такой:
Код: Выделить всё
Interface McSaldo 'Просмотр Мс' escclose,blue,AlwaysReturn, doAccept;
  Show at (1,1,150,40);
...    //Здесь view и прочая..
Panel Panel_ ;
  Table t_SldDt;
  Screen scMain_
  show at (, , , 5);
  fields
    dsld: noProtect;
  Buttons
   cmSetDate,,,;
   cmSetAll,,,;
<<
      <. Остатки МЦ на дату: .> .@@@@@@@@@@

      <. Показать все МЦ: .>                 
>>
  end;
  browse bmnpl (,,sci178InsPM) ;
  show at (,6 , , );
  fields
      t_SldDt.dSaldoSt1 'Дата остатков': [10], protect, {font = {bold = if(FoundMarker(_MarkerMcSaldo, t_SldDt.cMc1), true, false);}};
      t_SldDt.McName1   'Наименование' : [40], protect, {font = {bold = if(FoundMarker(_MarkerMcSaldo, t_SldDt.cMc1), true, false);}};
      t_SldDt.McKod1    'Код'          : [10], protect, {font = {bold = if(FoundMarker(_MarkerMcSaldo, t_SldDt.cMc1), true, false);}};
      t_SldDt.PodrMame1 'Склад'        : [20], protect, {font = {bold = if(FoundMarker(_MarkerMcSaldo, t_SldDt.cMc1), true, false);}};
      t_SldDt.MolName1  'МОЛ'          : [20], protect, {font = {bold = if(FoundMarker(_MarkerMcSaldo, t_SldDt.cMc1), true, false);}};
      t_SldDt.EdIzm1    'Ед. изм.'     : [10], protect, {font = {bold = if(FoundMarker(_MarkerMcSaldo, t_SldDt.cMc1), true, false);}};
      t_SldDt.Kol1      'Количество'   : [10], protect, {font = {bold = if(FoundMarker(_MarkerMcSaldo, t_SldDt.cMc1), true, false);}};
      t_SldDt.Cena1     'Цена'         : [10], protect, {font = {bold = if(FoundMarker(_MarkerMcSaldo, t_SldDt.cMc1), true, false);}};
  end;
HandleEvent                //Обработчик Panel_
cmMarkUnMark:
{
  InvertMarker(_MarkerMcSaldo, t_SldDt.cMc1);
  RedrawCurrentAndGo(bmnpl,true);
  RescanPanel(#t_SldDt);
}
cmSetDate:
{
...}
cmSetAll:
{
...
}
cmCancel:
{
  closeinterface(cmDone);
  mtChangeRefCount( #t_slddt,  -1 );
}
cmDefault:
{
if(not FoundMarker(_MarkerMcSaldo, t_slddt.cmc1))
  InsertMarker(_MarkerMcSaldo, t_slddt.cmc1);
  DoneMarker (_MarkerMcSaldo, 'McChose');         
abort;
}
end; // HandleEvent панели
end; // Panel
HandleEvent          //Обработчик главного окна
cmInit:
{
...
}
cmDefault:     //непонятно, как сюда нормально перейти
{

  abort;
}
end; // HandleEvent
end. // interface   

Хочется после пометки записей выйти по одному нажатию Enter.
zna
Местный житель
 
Сообщения: 552
Зарегистрирован: Вт мар 29, 2005 17:49
Откуда: Челябинск
Reputation point: 14

Re: Еще раз...Множественный выбор в интерфейсе

Сообщение edward_K » Ср сен 12, 2012 15:48

if(not FoundMarker(_MarkerMcSaldo, t_slddt.cmc1))
InsertMarker(_MarkerMcSaldo, t_slddt.cmc1);
- это должно быть в главном обработчике. Вообще обычно проверяют было ли что-то выбрано, если нет добавляют текущую.
Гасить маркер надо в cmDone в главном обработчике.
и без всяких abort - кто вам сказал, что это надо всегда писать?
Если вы хотите что то другое по Enter, то уберите DoAccept из заголовка фейса и обрабатывайте cmDefault сами (closeinterface(cmDefault) например) - я так одним фейсом управляю редактированием и выбором - в зависимости от режима окно закрывается или нет.
edward_K
Заслуженный деятель интернет-сообщества
 
Сообщения: 5164
Зарегистрирован: Вт мар 29, 2005 17:49
Откуда: SPB galaxy spb
Reputation point: 115

Пред.След.

Вернуться в Программирование

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 2