dword DlgProc(HWND hWin,UINT uMsg,WPARAM wParam,LPARAM lParam);

#define IDD_DIALOG1			101
#define IDC_BTNMOVEDOWN	1001
#define IDC_BTNMOVEUP		1002
#define IDC_BTNINSERT		1003
#define IDC_BTNADD			1004
#define IDC_BTNDEL			1005
#define IDC_BTNTEST			1006
#define IDC_GRD1			  1007
#define IDB_BITMAP			100

//Structure used to update rows
struct ROWDATA
{
	dword nImage;			//Data for Image column. Image index
	dword lpszName;		//Data for Name column. Pointer to string
	dword nID;				//Data for ID column. Double word
	dword nAccel;			//Data for Accelerator column. Double word
	dword nCheck;			//Data for Check column. Double word TRUE or FALSE
	dword nCombo;			//Data for Combo column. Double word item data
	dword lpszButton;	//Data for Button column. Pointer to string
	dword nDate;			//Data for Date column. Double word
	dword nTime;			//Data for Time column. Double word
	dword nIP;				//Data for IPAddress (TYPE_USER)
};
byte szIPAddressClass="SysIPAddress32";

//ComboBox text
byte szComboBoxText="Button\000" "ComboBox\000" "Edit\000" "HotKey\000"
 "ListBox\000" "ScrollBar\000" "Static\000" "TabControl\000";

//Header text
byte szName="Name";
byte szID="ID";
byte szAccel="Accelerator";
byte szCheck="Check";
byte szImageCombo="Image Combo";
byte szButton="Button";
byte szDate="Date";
byte szTime="Time";
byte szIPAddress="IPAddress";

//Format string
byte szFormat="# ### ### ###";
//byte szDateFormat="yyyy'-'MM'-'dd' '";
//byte szTimeFormat="hh':'mm";

//Just some row data
byte szText1="IDM_FILE_NEW";
byte szButton1="C:\\RadASM\\RadASM.ini";
byte szText2="IDM_FILE_OPEN";
byte szButton2="C:\\RadASM\\masm.ini";
byte szText3="IDM_FILE_SAVE";
byte szButton3="C:\\RadASM\\GoAsm.ini";
byte szText4="IDM_FILE_EXIT";
byte szButton4="C:\\RadASM\\tasm.ini";

//byte szTextNew="IDM_NEW_ITEM";
//byte szButtonNew="C:\RadASM\hla.ini";

ROWDATA rdta[16]={
0,#szText1,1001,HOTKEYF_CONTROL<<8|VK_A,0,0,#szButton1,147090,3600,01020341h,
1,#szText2,1002,HOTKEYF_CONTROL<<8|VK_B,1,1,#szButton2,147091,3601,01020342h,
2,#szText3,1003,HOTKEYF_CONTROL<<8|VK_C,0,2,#szButton3,147092,3602,01020304h,
3,#szText4,1004,HOTKEYF_CONTROL<<8|VK_D,1,3,#szButton4,147093,3603,01020304h,
4,#szText1,1005,HOTKEYF_CONTROL<<8|VK_E,0,4,#szButton1,147094,3604,01020304h,
5,#szText2,1006,HOTKEYF_CONTROL<<8|VK_F,1,5,#szButton2,147095,3605,01020304h,
6,#szText3,1007,HOTKEYF_CONTROL<<8|VK_G,0,6,#szButton3,147096,3606,01020304h,
7,#szText4,1008,HOTKEYF_CONTROL<<8|VK_H,1,7,#szButton4,147097,3607,01020304h,
0,#szText1,1009,HOTKEYF_CONTROL<<8|VK_I,0,0,#szButton1,147098,3608,01020304h,
1,#szText2,1010,HOTKEYF_CONTROL<<8|VK_J,1,1,#szButton2,147099,3609,01020304h,
2,#szText3,1011,HOTKEYF_CONTROL<<8|VK_K,0,2,#szButton3,147100,3610,01020304h,
3,#szText4,1012,HOTKEYF_CONTROL<<8|VK_L,1,3,#szButton4,147101,3611,01020304h,
4,#szText1,1013,HOTKEYF_CONTROL<<8|VK_M,0,4,#szButton1,147102,3612,01020304h,
5,#szText2,1014,HOTKEYF_CONTROL<<8|VK_N,1,5,#szButton2,147103,3613,01020304h,
6,#szText3,1015,HOTKEYF_CONTROL<<8|VK_O,0,6,#szButton3,147104,3614,01020304h,
7,#szText4,1016,HOTKEYF_CONTROL<<8|VK_P,1,7,#szButton4,147105,3615,01020304h
};

//ROWDATA rdtanew={0,#szTextNew,1020,0,0,0,#szButtonNew,147105,3615,01020304h};

dword hWnd;			//Handle of dialog
dword hGrd;			//Handle of grid
dword hIml;			//Handle of imagelist
dword OldIPAddressProc;
dword fFlag;
