亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? babygrid.cpp

?? 一個(gè)功能強(qiáng)大的代碼編輯器源代碼
?? CPP
?? 第 1 頁 / 共 5 頁
字號(hào):
//BABYGRID code is copyrighted (C) 20002 by David Hillard
//
//This code must retain this copyright message
//
//Printed BABYGRID message reference and tutorial available.
//email: mudcat@mis.net for more information.

/* 
Add WM_MOUSEWHEEL, WM_LBUTTONDBLCLK and WM_RBUTTONUP events
Modified by Don HO <don.h@free.fr>
*/

#include "babygrid.h"


#define MAX_GRIDS 20

#define MAX_ROWS 32000
#define MAX_COLS 256


//global variables



HFONT hfontbody,hfontheader,hfonttitle;

HFONT holdfont;

struct _gridhandlestruct 
	{
        UINT gridmenu;
		HWND hlist1;
		char protect[2];
        char title[305];
        char editstring[305];
        char editstringdisplay[305];
		int rows;
		int cols;
		int gridwidth;
		int gridheight;
		int homerow;
		int homecol;
		int rowheight;
		int leftvisiblecol;
		int rightvisiblecol;
		int topvisiblerow;
		int bottomvisiblerow;
		int headerrowheight;
		int cursorrow;
		int cursorcol;
        int ownerdrawitem;
        int visiblecolumns;
        int titleheight;
        int fontascentheight;
		COLORREF cursorcolor;
		COLORREF protectcolor;
		COLORREF unprotectcolor;
		COLORREF textcolor;
		COLORREF highlightcolor;
		COLORREF gridlinecolor;
        COLORREF highlighttextcolor;
		BOOL DRAWHIGHLIGHT;
        BOOL ADVANCEROW;
        BOOL CURRENTCELLPROTECTED;
		BOOL GRIDHASFOCUS;
        BOOL AUTOROW;
        RECT activecellrect;
        HFONT hfont;
        HFONT hcolumnheadingfont;
        HFONT htitlefont;
		BOOL ROWSNUMBERED;
		BOOL COLUMNSNUMBERED;
        BOOL EDITABLE;
        BOOL EDITING;
        BOOL EXTENDLASTCOLUMN;
        BOOL HSCROLL;
        BOOL VSCROLL;
        BOOL SHOWINTEGRALROWS;
        BOOL SIZING;
        BOOL ELLIPSIS;
        BOOL COLAUTOWIDTH;
        BOOL COLUMNSIZING;
        BOOL ALLOWCOLUMNRESIZING;
        int columntoresize;
        int columntoresizeinitsize;
        int columntoresizeinitx;
        int cursortype;
		int columnwidths[MAX_COLS+1];
        BOOL REMEMBERINTEGRALROWS;
        int wannabeheight;
        int wannabewidth;

    } BGHS[MAX_GRIDS];


_BGCELL BGcell,*LPBGcell;

int BG_GridIndex;
int FindResult;
char data[1000];







CREATESTRUCT cs,*lpcs;


int         AddGrid(UINT);
int         FindGrid(UINT);
void		ShowVscroll(HWND,int);
void		ShowHscroll(HWND,int);
int         BinarySearchListBox(HWND,char*);
void        DisplayEditString(HWND ,int ,char*);
int         CountGrids(void);




////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
int HomeColumnNthVisible(int SI)
    {  
     int j,hc,count;
     count=0;
     hc=BGHS[SI].homecol;
     for(j=1;j<=hc;j++)
         {
          if(BGHS[SI].columnwidths[j]>0)
              {
               count++;
              }
         }
     return count;
    }


void RefreshGrid(HWND hWnd)
	{
	 RECT rect;
     int SI;
	 GetClientRect(hWnd,&rect);
	 InvalidateRect(hWnd,&rect,FALSE);
	 SI=FindGrid((UINT)GetMenu(hWnd));
     if(BGHS[SI].EDITING)
         {
          DisplayEditString(hWnd,SI,"");
         }

	}

int GetNextColWithWidth(int SI, int startcol, int direction)
    {
     //calls with direction == 1 for right, direction == -1 for left
     //returns 0 if no more cols in that direction, else column number
     int j;
     int ReturnValue;
     j=startcol;
     if(direction == 1){j++;}
     if(direction != 1){j--;}

     while((BGHS[SI].columnwidths[j] == 0)&&(j<=BGHS[SI].cols)&&(j>0))
         {
         if(direction == 1){j++;}
         if(direction != 1){j--;}
         }
     if((BGHS[SI].columnwidths[j] > 0)&&(j<=BGHS[SI].cols))
         {
          ReturnValue = j;
         }
     else
         {
          ReturnValue = 0;
         }
     return ReturnValue;
    }


int GetRowOfMouse(int SI,int y)
	{
	 int ReturnValue;
	 if(y<=(BGHS[SI].titleheight))
		 {
		  return -1;
		 }
	 if((y>=BGHS[SI].titleheight)&&(y<=BGHS[SI].headerrowheight + BGHS[SI].titleheight))
		 {
		  return 0;
		 }


	 y=y-(BGHS[SI].headerrowheight + BGHS[SI].titleheight);
	 y=y/BGHS[SI].rowheight;
	 ReturnValue = BGHS[SI].homerow + y;
	 if(ReturnValue > BGHS[SI].rows){ReturnValue = -1;}
	 return ReturnValue;
	}


int GetColOfMouse(int SI,int x)
	{
	 int ReturnValue;
	 int j;
	 if(x<=BGHS[SI].columnwidths[0])
		 {
		  return 0;
		 }

	 x-=BGHS[SI].columnwidths[0];

	 j=BGHS[SI].homecol;
	 while(x>0)
		 {
		  x-=BGHS[SI].columnwidths[j];
		  j++;
		 }
	 j--;
	 
	 ReturnValue = j;
     if(BGHS[SI].EXTENDLASTCOLUMN)
         {
	      if(j>BGHS[SI].cols){ReturnValue = BGHS[SI].cols;}
         }
     else
         {
          if(j>BGHS[SI].cols){ReturnValue = -1;}
         }
	 return ReturnValue;
	}

BOOL OutOfRange(_BGCELL *cell)
    {
      if((cell->row > MAX_ROWS)||(cell->col > MAX_COLS))
          {return TRUE;}
      else
          {return FALSE;}
    }

void SetCell(_BGCELL *cell,int row, int col)
	{
	 cell->row = row;
	 cell->col = col;
	}
/*
int DetermineDataType(char* data)
    {
     //return values:
     //       1 = Text or Alpha
     //       2 = Numeric
     //       3 = Boolean TRUE
     //       4 = Boolean FALSE
	 //       5 = Graphic - user drawn (cell text begins with ~)
     int j,k,numberofperiods,numberofpositives,numberofnegatives;
     char tbuffer[1000];
     BOOL DIGIT,ALPHA,PERIOD,WHITESPACE,SYMBOL,POSITIVE,NEGATIVE;
     strcpy(tbuffer,data);
     k=strlen(tbuffer);
     strupr(tbuffer);
     //is it boolean?
     if(!strcmp(tbuffer,"TRUE"))
         {
          return 3; 
         }
     if(!strcmp(tbuffer,"FALSE"))
         {
          return 4;
         }
	 //is it graphic (~)
	 if(tbuffer[0]=='~')
		 {
		  return 5;
		 }
     DIGIT=FALSE;
     ALPHA=FALSE;
     PERIOD=FALSE;
     WHITESPACE=FALSE;
	 SYMBOL=FALSE;
	 POSITIVE=FALSE;
	 NEGATIVE=FALSE;

     numberofperiods=0;
	 numberofpositives=0;
	 numberofnegatives=0;
     for(j=0;j<k;j++)
         {
         if(iswalpha(tbuffer[j])){ALPHA=TRUE;}
         if(iswdigit(tbuffer[j])){DIGIT=TRUE;}
         if(iswspace(tbuffer[j])){WHITESPACE=TRUE;}
         if(tbuffer[j]=='.'){PERIOD=TRUE;numberofperiods++;}
		 if(tbuffer[j]=='+'){if(j>0){ALPHA=TRUE;}}
		 if(tbuffer[j]=='-'){if(j>0){ALPHA=TRUE;}}
         }
     if((ALPHA)||(WHITESPACE))
         {
          return 1;
         }
     if((DIGIT)&&(!ALPHA)&&(!WHITESPACE))
         {
          if(numberofperiods>1)
              {
               return 1;
              }
          else
              {
               return 2;
              }
         }
     return 1;
    }
*/

void CalcVisibleCellBoundaries(int SelfIndex)
{
 int gridx,gridy;
 int j;
 gridx=BGHS[SelfIndex].gridwidth;
 gridy=BGHS[SelfIndex].gridheight;



 j=	BGHS[SelfIndex].homecol;
 BGHS[SelfIndex].leftvisiblecol = BGHS[SelfIndex].homecol;
 BGHS[SelfIndex].topvisiblerow = BGHS[SelfIndex].homerow;
 //calc columns visible
 //first subtract the width of col 0;
 gridx = gridx - BGHS[SelfIndex].columnwidths[0];
 do
 {
  gridx = gridx - BGHS[SelfIndex].columnwidths[j];
  j++;
 }while ((gridx >= 0)&&(j<BGHS[SelfIndex].cols));

 if(j>BGHS[SelfIndex].cols){j=BGHS[SelfIndex].cols;}
 BGHS[SelfIndex].rightvisiblecol = j;




 //calc rows visible;
 gridy = gridy - BGHS[SelfIndex].headerrowheight;
 j=	BGHS[SelfIndex].homerow;
 do
 {
  gridy = gridy - BGHS[SelfIndex].rowheight;
  j++;
 }while ((gridy > 0)&&(j<BGHS[SelfIndex].rows));

 if(j>BGHS[SelfIndex].rows){j=BGHS[SelfIndex].rows;}
 BGHS[SelfIndex].bottomvisiblerow = j;
}


RECT GetCellRect(HWND hWnd,int SI, int r, int c)
	{
	 RECT rect;
	 int offset;
	 int j;
	 //c and r must be greater than zero

	 //get column offset
	   //first get col 0 width
	   offset=BGHS[SI].columnwidths[0];
	   for(j=BGHS[SI].homecol;j<c;j++)
		   {
			offset += BGHS[SI].columnwidths[j];
		   }
	   rect.left = offset;
	   rect.right = offset + BGHS[SI].columnwidths[c];

    if(BGHS[SI].EXTENDLASTCOLUMN)
        {
	        //see if this is the last column
	        if(!GetNextColWithWidth(SI,c,1))
		        {
		         //extend this column
		         RECT trect;
		         int temp;
		         GetClientRect(hWnd,&trect);
		         temp = (offset +(trect.right - rect.left))-rect.left;
		         if(temp > BGHS[SI].columnwidths[c])
			         {
		              rect.right = offset + (trect.right - rect.left);
			         }
		        }
        }

	   //now get the top and bottom of the rect
	   offset = BGHS[SI].headerrowheight+BGHS[SI].titleheight;
	   for(j=BGHS[SI].homerow;j<r;j++)
		   {
			offset += BGHS[SI].rowheight;
		   }
	   rect.top = offset;
	   rect.bottom = offset + BGHS[SI].rowheight;
	   return rect;
	}


void DisplayTitle(HWND hWnd,int SI,HFONT hfont)
    {
     RECT rect;
     HDC gdc;
     HFONT holdfont;

     GetClientRect(hWnd,&rect);
     


     gdc=GetDC(hWnd);
     SetBkMode(gdc,TRANSPARENT);
     holdfont=(HFONT)SelectObject(gdc,hfont);
     rect.bottom = BGHS[SI].titleheight;
	 DrawEdge(gdc,&rect,EDGE_ETCHED,BF_MIDDLE|BF_RECT|BF_ADJUST);
	 DrawTextEx(gdc,BGHS[SI].title,-1,&rect,DT_END_ELLIPSIS|DT_CENTER|DT_WORDBREAK|DT_NOPREFIX,NULL);
     SelectObject(gdc,holdfont);
     ReleaseDC(hWnd,gdc);
    }


void DisplayColumn(HWND hWnd,int SI,int c,int offset,HFONT hfont,HFONT hcolumnheadingfont)
{
	HDC gdc;
	RECT rect,rectsave;
    HFONT holdfont;
	int r;
	char buffer[1000];
	int iDataType,iProtection;
	if(BGHS[SI].columnwidths[c]==0){return;}

	 gdc=GetDC(hWnd);
	 SetBkMode(gdc,TRANSPARENT);
     ShowHscroll(hWnd,SI);
	 ShowVscroll(hWnd,SI);
     

    holdfont = (HFONT)SelectObject(gdc,hcolumnheadingfont);
	SetTextColor(gdc,BGHS[SI].textcolor);
	//display header row
	r=0;



	rect.left = offset + 0;
	rect.top = BGHS[SI].titleheight;//0
	rect.right = BGHS[SI].columnwidths[c] + offset;
	rect.bottom = BGHS[SI].headerrowheight + BGHS[SI].titleheight;

    if(BGHS[SI].EXTENDLASTCOLUMN)
        {
	        //see if this is the last column

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区蜜桃| 亚洲小说春色综合另类电影| 99精品桃花视频在线观看| 偷窥少妇高潮呻吟av久久免费| 国产网红主播福利一区二区| 在线亚洲一区二区| 粉嫩高潮美女一区二区三区| 日本aⅴ亚洲精品中文乱码| 亚洲欧洲精品天堂一级| 精品国产乱码91久久久久久网站| 在线观看日韩电影| 99视频一区二区三区| 国产一区二区0| 日本亚洲欧美天堂免费| 一区二区高清免费观看影视大全| 国产色91在线| 欧美大肚乱孕交hd孕妇| 欧美精品九九99久久| 在线观看亚洲a| 99久久精品99国产精品| 国产精品66部| 精品无码三级在线观看视频 | 中文字幕欧美日韩一区| 精品嫩草影院久久| 69堂精品视频| 欧美午夜精品理论片a级按摩| 91网站黄www| 91最新地址在线播放| 播五月开心婷婷综合| 成人综合在线观看| 国产91精品一区二区麻豆网站| 国产真实乱对白精彩久久| 麻豆91免费观看| 日本午夜精品一区二区三区电影 | 亚洲人一二三区| 国产精品久久久久婷婷二区次| 国产欧美一区二区三区在线看蜜臀 | 懂色av一区二区在线播放| 紧缚奴在线一区二区三区| 免费看欧美美女黄的网站| 日本特黄久久久高潮| 免费观看一级欧美片| 老鸭窝一区二区久久精品| 久久成人av少妇免费| 久久精品99久久久| 国产永久精品大片wwwapp| 国产精品一区不卡| 成人丝袜高跟foot| 97se亚洲国产综合自在线| 91黄色免费看| 欧美日韩国产另类一区| 7777女厕盗摄久久久| 日韩欧美国产系列| 国产亚洲1区2区3区| 国产精品天天摸av网| 亚洲视频免费看| 午夜视频在线观看一区二区| 免费xxxx性欧美18vr| 国产一区二区三区在线观看精品 | 欧美va在线播放| 久久九九99视频| 日韩毛片视频在线看| 亚洲成人黄色小说| 麻豆中文一区二区| 国产成人免费在线视频| 色成年激情久久综合| 欧美美女激情18p| 久久综合久久鬼色| 亚洲视频一二三| 日本特黄久久久高潮| 国产一区二区三区四| 色综合色综合色综合色综合色综合 | 中文字幕制服丝袜成人av | 亚洲免费观看高清完整版在线| 亚洲v中文字幕| 国产乱码精品一区二区三区av | 奇米影视7777精品一区二区| 国产精品12区| 欧美视频第二页| 久久人人爽人人爽| 亚洲老司机在线| 久久99日本精品| 色婷婷综合久久久久中文一区二区 | 欧美高清激情brazzers| 久久在线免费观看| 夜夜精品视频一区二区| 国产一区二区成人久久免费影院 | 91在线视频在线| 欧美电视剧免费观看| 亚洲精品国产品国语在线app| 精品亚洲porn| 欧美日韩日本视频| 中文文精品字幕一区二区| 亚洲成av人综合在线观看| 成人影视亚洲图片在线| 欧美一区二区三区成人| 亚洲欧美日韩小说| 国产精品一二三区在线| 欧美高清精品3d| 一区二区三区在线视频免费| 国产精品一品二品| 日韩一区二区在线看| 有码一区二区三区| 成人综合在线网站| 2017欧美狠狠色| 青青草原综合久久大伊人精品| 色噜噜偷拍精品综合在线| 亚洲国产精品v| 国产一区二区在线影院| 欧美电影一区二区| 亚洲一区二区av在线| av电影天堂一区二区在线观看| 精品乱码亚洲一区二区不卡| 亚洲超碰精品一区二区| 色综合久久天天| 成人欧美一区二区三区黑人麻豆 | 成人午夜看片网址| 欧美xxx久久| 久久成人av少妇免费| 欧美一区二区三区四区五区| 一区二区三区资源| 91麻豆6部合集magnet| 亚洲国产岛国毛片在线| 国产v日产∨综合v精品视频| www亚洲一区| 激情图区综合网| 精品国产一区二区三区av性色| 日韩av午夜在线观看| 91精品国产色综合久久不卡蜜臀| 亚洲国产精品久久艾草纯爱| 欧美在线观看视频在线| 亚洲一级二级在线| 欧美网站一区二区| 视频一区二区三区中文字幕| 欧美专区在线观看一区| 亚洲午夜免费电影| 欧美另类z0zxhd电影| 婷婷成人激情在线网| 欧美精品久久久久久久多人混战| 香蕉av福利精品导航| 777奇米成人网| 美女爽到高潮91| 欧美精品一区二区精品网| 国产在线精品不卡| 国产精品拍天天在线| 91免费观看视频在线| 亚洲午夜激情网站| 日韩色视频在线观看| 国产专区综合网| 国产精品久久国产精麻豆99网站| 99久久精品免费| 亚洲一级二级在线| 91精品国产91久久综合桃花| 精品一区二区在线免费观看| 国产亚洲精品bt天堂精选| yourporn久久国产精品| 亚洲一区二区三区小说| 欧美一区二区免费| 国产成人免费在线观看不卡| 亚洲欧洲av在线| 欧美美女bb生活片| 国产米奇在线777精品观看| 中文字幕精品—区二区四季| 91福利国产精品| 麻豆91免费观看| 中文在线免费一区三区高中清不卡| 99r国产精品| 日日夜夜精品视频免费| 亚洲精品一区二区在线观看| 99国产精品国产精品毛片| 天天色天天爱天天射综合| 久久精品欧美一区二区三区不卡 | 美女在线一区二区| 一区视频在线播放| 91 com成人网| 成人免费毛片app| 日韩影院免费视频| 国产精品初高中害羞小美女文| 欧美精品丝袜久久久中文字幕| 国产麻豆精品一区二区| 洋洋av久久久久久久一区| 欧美精品一区二区三区在线播放| 91女厕偷拍女厕偷拍高清| 九九在线精品视频| 樱桃视频在线观看一区| 久久久不卡影院| 欧美精品自拍偷拍| 93久久精品日日躁夜夜躁欧美| 久久精品国产成人一区二区三区 | 国产成人在线视频网址| 亚洲成人资源网| 国产精品成人免费在线| 欧美xxxxx裸体时装秀| 欧美私人免费视频| 福利视频网站一区二区三区| 日本欧美一区二区三区| 亚洲中国最大av网站| 国产精品国产三级国产aⅴ入口 | 亚洲综合成人在线| 国产欧美在线观看一区|