WGI的WDialog.h文件源代码


/**
 *
 * 文 件 名:WDialog.h
 *
 * 描    述:
 *
 * 创 建 者:赵平智   <[email protected]>
 *
 * 创建日期:20091116
 *
 * 备    注:
 *
 *
 * * 维护历史 *
 *
 *   <日期>                <修改者>
 *   <修改内容...>
 *
 **/

#ifndef __WDIALOG_H__
#define __WDIALOG_H__

#include "../go.h"
#include "../WGrinterface/WGrinterface.h"
#include "../WPanel/WPanel.h"


#define GET_X_LPARAM(lp)   ((int)(short)LOWORD(lp))
#define GET_Y_LPARAM(lp)   ((int)(short)HIWORD(lp))


/*
 *
 * Dialog styles
 */
#define   DS_MOVEBYTITLEBAR          0x00000001L    // 1: move only by dragging title-bar, 0: move by dragging where except frame.


/*
*
* NAME: CONTROL
*/
typedef struct TAG_CONTROL
{
 RECT     rect;        // control's rectangle.
 OBJECT*  pCtrl;       // control's pointer.
// BOOL     bMenu;       // TRUE: menu poped; FALSE: menu not poped
}CONTROL;


/*
*
* NAME: CONTROLS
*/
typedef struct TAG_CONTROLS
{
 int       num;        // the number of control in array.
 CONTROL*  pACtrl;     // pointer to control array.
    int       icwf;       // current control that watches focus.
 int       ichf;       // current control that holds focus.
 int       iccf;       // current control that captures focus.
}CONTROLS;

/*=======================+ INIT +========================*/

/*
*
* NAME: INIT_WDIALOG
* DESC: initialize by AC2.
*/
typedef struct TAG_INIT_WDIALOG
{
 UI32        style;        // style 
}INIT_WDIALOG;


/*==================+ Extended Member +==================*/

/*
*
* 名称:EM_WDIALOG
*/
typedef struct TAG_EM_WDIALOG
{
 WNDPROC     pWndProc;
 OBJECT*     pWGrinterface;
 OBJECT*     pWPanel;
 CONTROLS    ctrls;              // all controls in the dialog.
 UI32        style;              // style 
}EM_WDIALOG;


#endif  /* #ifndef __WDIALOG_H__ */