mirror of
https://github.com/reactos/reactos.git
synced 2024-08-19 18:02:55 +00:00
45 lines
1.1 KiB
C
45 lines
1.1 KiB
C
/* ----------- box.c ------------ */
|
|
|
|
#include "dflat.h"
|
|
|
|
int DfBoxProc(DFWINDOW wnd, DFMESSAGE msg, DF_PARAM p1, DF_PARAM p2)
|
|
{
|
|
int rtn;
|
|
DFWINDOW oldFocus;
|
|
DF_CTLWINDOW *ct = DfGetControl(wnd);
|
|
static BOOL SettingFocus = FALSE;
|
|
if (ct != NULL)
|
|
{
|
|
switch (msg)
|
|
{
|
|
case DFM_SETFOCUS:
|
|
SettingFocus = DfIsVisible(wnd);
|
|
rtn = DfBaseWndProc(DF_BOX, wnd, msg, p1, p2);
|
|
SettingFocus = FALSE;
|
|
return rtn;
|
|
|
|
case DFM_PAINT:
|
|
return FALSE;
|
|
case DFM_LEFT_BUTTON:
|
|
case DFM_BUTTON_RELEASED:
|
|
return DfSendMessage(DfGetParent(wnd), msg, p1, p2);
|
|
case DFM_BORDER:
|
|
if (SettingFocus)
|
|
return TRUE;
|
|
oldFocus = DfInFocus;
|
|
DfInFocus = NULL;
|
|
rtn = DfBaseWndProc(DF_BOX, wnd, msg, p1, p2);
|
|
DfInFocus = oldFocus;
|
|
if (ct != NULL)
|
|
if (ct->itext != NULL)
|
|
DfWriteLine(wnd, ct->itext, 1, 0, FALSE);
|
|
return rtn;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
return DfBaseWndProc(DF_BOX, wnd, msg, p1, p2);
|
|
}
|
|
|
|
/* EOF */
|