# DN_RESIZECONSOLE

Событие `DN_RESIZECONSOLE` передаётся процедуре обработки диалога после изменения размера консоли (например, после того, как пользователь нажал `Alt`+`F9`).

### Param1

0

### Param2

Указатель на структуру COORD, в которой указаны текущие размеры консоли.

### Return

`TRUE`.

### Элементы

Элемент | Описание
--- | ---
Диалог | сообщение затрагивает только диалог

### Замечания

Событие `DN_RESIZECONSOLE` полезно в том случае, когда плагин умеет подстраиваться под текущие размеры консоли. Пример работы данного события можно наблюдать в диалоге поиска файлов (`Alt`+`F7`).

### Пример

Изменение размеров диалога поиска (`Alt`+`F7`) при изменении размеров консоли.

    case DN_RESIZECONSOLE:
    {
      COORD coord=(*(COORD*)Param2);
      SMALL_RECT rect;
      int IncY=coord.Y-DlgHeight-4;

      ...

      Info.SendDlgMessage(hDlg,DM_ENABLEREDRAW,FALSE,0);

      Info.SendDlgMessage(hDlg,DM_GETDLGRECT,0,&rect);
      coord.X=rect.Right-rect.Left+1;
      DlgHeight+=IncY;
      coord.Y=DlgHeight;

      if (IncY > 0)
        Info.SendDlgMessage(hDlg,DM_RESIZEDIALOG,0,&coord);

      for (I=0; I < 2; I++)
      {
        Info.SendDlgMessage(hDlg,DM_GETITEMPOSITION,I,&rect);
        rect.Bottom+=(short)IncY;
        Info.SendDlgMessage(hDlg,DM_SETITEMPOSITION,I,&rect);
      }

      for (I=2; I < 10; I++)
      {
        Info.SendDlgMessage(hDlg,DM_GETITEMPOSITION,I,&rect);
        if (I==2)
          rect.Left=-1;
        rect.Top+=(short)IncY;
        Info.SendDlgMessage(hDlg,DM_SETITEMPOSITION,I,&rect);
      }

      if (IncY <= 0)
        Info.SendDlgMessage(hDlg,DM_RESIZEDIALOG,0,&coord);

      Info.SendDlgMessage(hDlg,DM_ENABLEREDRAW,TRUE,0);

      ...

      return TRUE;
    }

Смотрите также:
DialogInit