DN_RESIZECONSOLE
The DN_RESIZECONSOLE event is sent to the dialog callback function after the console
window size has changed (for example, when the user presses Alt-F9).
Param1
0
Param2
Pointer to a COORD structure containing the current size of
the console.
Return
TRUE
.
Controls
Control | Description |
---|---|
Dialog | This event apllies only to the dialog |
Remarks
The DN_RESIZECONSOLE message is useful in the case when a dialog can adapt to the
current size of the console. An example of such functionality is the Find files dialog (Alt-F7).
Example
Adaptation of Find File's (Alt-F7) dialog size when console size changes:
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,(LONG_PTR)&rect); coord.X=rect.Right-rect.Left+1; DlgHeight+=IncY; coord.Y=DlgHeight; if (IncY > 0) Info.SendDlgMessage(hDlg,DM_RESIZEDIALOG,0,(LONG_PTR)&coord); for (I=0; I < 2; I++) { Info.SendDlgMessage(hDlg,DM_GETITEMPOSITION,I,(LONG_PTR)&rect); rect.Bottom+=(short)IncY; Info.SendDlgMessage(hDlg,DM_SETITEMPOSITION,I,(LONG_PTR)&rect); } for (I=2; I < 10; I++) { Info.SendDlgMessage(hDlg,DM_GETITEMPOSITION,I,(LONG_PTR)&rect); if (I==2) rect.Left=-1; rect.Top+=(short)IncY; Info.SendDlgMessage(hDlg,DM_SETITEMPOSITION,I,(LONG_PTR)&rect); } if (IncY <= 0) Info.SendDlgMessage(hDlg,DM_RESIZEDIALOG,0,(LONG_PTR)&coord); Info.SendDlgMessage(hDlg,DM_ENABLEREDRAW,TRUE,0); ... return TRUE; }
See also: