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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rddraw.c

?? vc環境下的pgp源碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*____________________________________________________________________________
	Copyright (C) 1997 Network Associates Inc. and affiliated companies.
	All rights reserved.

	$Id: RDdraw.c,v 1.12 1999/03/31 23:22:46 wjb Exp $
____________________________________________________________________________*/

#include "RDprecmp.h"

/*
 * OwnDraw.c  ListView draw routines to accommidate italics/strikeout
 *
 * These routines use the ownerdraw characteristic of the standard 
 * listview to provide custom drawing routines.
 *
 * Copyright (C) 1996 Network Associates Inc. and affiliated companies.
 * All rights reserved.
 */

void CreateDrawElements(PGPContextRef context,DRAWSTRUCT *ds)
{
	LOGFONT lf;

	ds->DisplayMarginal=FALSE;

    ds->stdbarbrush = 
        CreateSolidBrush (GetSysColor (COLOR_3DSHADOW));
    ds->spcbarbrush = 
        CreateHatchBrush(HS_BDIAGONAL, GetSysColor (COLOR_WINDOW));
    ds->g_seltextpen = 
        CreatePen (PS_SOLID, 0, GetSysColor (COLOR_WINDOWTEXT));
    ds->g_unseltextpen =
        CreatePen (PS_SOLID, 0, GetSysColor (COLOR_WINDOW));

	ds->barcolor = GetSysColor (COLOR_3DSHADOW);

    ds->buttonpen = CreatePen(PS_SOLID, 0, GetSysColor (COLOR_3DSHADOW));
	ds->hilightpen = CreatePen (PS_SOLID, 0, 
								GetSysColor (COLOR_3DHILIGHT));
	ds->shadowpen = CreatePen (PS_SOLID, 0, 
								GetSysColor (COLOR_3DDKSHADOW));

    ds->barbgbrush = CreateSolidBrush (GetSysColor (COLOR_3DFACE));

    ds->HighBrush=CreateSolidBrush(GetSysColor(COLOR_HIGHLIGHT));
    ds->BackBrush=CreateSolidBrush(GetSysColor(COLOR_WINDOW));

    SystemParametersInfo (SPI_GETICONTITLELOGFONT, 
		sizeof(LOGFONT), &lf, 0);

    ds->hFont=CreateFontIndirect (&lf);
    lf.lfItalic = !lf.lfItalic;
    ds->hItalic=CreateFontIndirect (&lf);
    lf.lfItalic = !lf.lfItalic;
    lf.lfStrikeOut=TRUE;
    ds->hStrikeOut = CreateFontIndirect (&lf);

	// ImageList Init

	PGPsdkUICreateImageList(&(ds->hIml));
}

void DeleteDrawElements(DRAWSTRUCT *ds)
{
    DeleteObject(ds->stdbarbrush);
    DeleteObject(ds->spcbarbrush);
    DeleteObject(ds->g_seltextpen);
    DeleteObject(ds->g_unseltextpen);
	DeleteObject(ds->hilightpen);
	DeleteObject(ds->shadowpen);
	DeleteObject(ds->buttonpen);

    DeleteObject(ds->barbgbrush); 
    DeleteObject(ds->HighBrush); 
    DeleteObject(ds->BackBrush); 
	DeleteObject(ds->hFont);
	DeleteObject(ds->hItalic);
	DeleteObject(ds->hStrikeOut);
	ImageList_Destroy(ds->hIml);
}

void DrawBar(DRAWSTRUCT *ds,HDC hdc,RECT *ptrBarRect,
             int DataValue,int MaxValue,BOOL Selected)
{
    RECT rc;
    HBRUSH oldbrush,barbrush;
    HPEN oldpen;
    COLORREF oldbkcolor;
	int cx;

	CopyRect(&rc,ptrBarRect);

    if(Selected)
    {
        FillRect (hdc, &rc, ds->HighBrush);
        oldpen = SelectObject (hdc, ds->g_unseltextpen);
    }
    else
    {
        FillRect (hdc, &rc, ds->BackBrush);
        oldpen = SelectObject (hdc, ds->g_seltextpen);
    }

    rc.top+=5;
    rc.left+=5;
    rc.bottom-=5;
    rc.right-=5;

	if(rc.right<=rc.left)
		return;

	cx=rc.right-rc.left;

	oldbrush = SelectObject (hdc, ds->barbgbrush);
	SelectObject (hdc, ds->buttonpen);

	Rectangle (hdc, rc.left - 1, rc.top - 1, 
		rc.right + 2, rc.bottom + 2);

	SelectObject (hdc, ds->shadowpen);
	MoveToEx (hdc, rc.left, rc.bottom, NULL);
	LineTo (hdc, rc.left, rc.top);
	LineTo (hdc, rc.right, rc.top);

	SelectObject (hdc, ds->hilightpen);
	LineTo (hdc, rc.right, rc.bottom);
	LineTo (hdc, rc.left, rc.bottom);
														
	if (MaxValue != 0) 
	{
		if (DataValue > MaxValue) 
		{
			barbrush = ds->spcbarbrush;
			rc.right = rc.left + cx;
		}
		else 
		{
			barbrush = ds->stdbarbrush;
			rc.right = rc.left + 
				(int)(((float)DataValue / 
				(float)MaxValue)
				* (float)cx);
		}
	}
	else 
		rc.right = rc.left;

	rc.top++;
	rc.left++;

	if (rc.right > rc.left) 
	{
		oldbkcolor=SetBkColor (hdc, ds->barcolor);
		FillRect (hdc, &rc, barbrush); 

		rc.top--;
		rc.left--;

		// hilight pen already selected 
		MoveToEx (hdc, rc.right, rc.top, NULL);
		LineTo (hdc, rc.left, rc.top);
		LineTo (hdc, rc.left,rc.bottom);

		SelectObject (hdc, ds->shadowpen);
		LineTo (hdc, rc.right, rc.bottom);
		LineTo (hdc, rc.right, rc.top);
		SetBkColor(hdc,oldbkcolor);
	}

	SelectObject (hdc, oldbrush);
	SelectObject (hdc, oldpen);
}

void DrawNoviceButton(DRAWSTRUCT *ds,HDC hdc,RECT *ptrBarRect,
             int DataValue,int MaxValue,BOOL Selected)
{
	DWORD NoviceIcon;
//	HICON hIcon;

    if(Selected)
    {
        FillRect (hdc, ptrBarRect, ds->HighBrush);
    }
    else
    {
        FillRect (hdc, ptrBarRect, ds->BackBrush);
    }

	if((ptrBarRect->right-ptrBarRect->left)>=CX_SMICON)
	{
		NoviceIcon=IDX_INVALID;

		if(DataValue>2)
			NoviceIcon=IDX_AXIOMATIC;

		if(DataValue==2)
			NoviceIcon=IDX_VALID;

		if((!ds->MarginalInvalid)&&(DataValue==1))
			NoviceIcon=IDX_VALID;

#ifdef _WIN32
		ImageList_Draw(ds->hIml,NoviceIcon,
			hdc,
			ptrBarRect->left+((ptrBarRect->right-ptrBarRect->left-16)/2),
			ptrBarRect->top+((ptrBarRect->bottom-ptrBarRect->top-16)/2),
			ILD_TRANSPARENT);
#else
		hIcon=LoadIcon(gPGPsdkUILibInst,MAKEINTRESOURCE(NoviceIcon));
	
		DrawIcon(hdc,
			ptrBarRect->left+((ptrBarRect->right-ptrBarRect->left-32)/2),
			ptrBarRect->top+((ptrBarRect->bottom-ptrBarRect->top-32)/2),
			hIcon);
	
		DeleteObject(hIcon);
#endif
	}
}

LISTSTRUCT *GetListStruct(HWND hwndList)
{
	LISTSTRUCT *lsRet;
	PRECGBL prg;

	prg=(PRECGBL)GetWindowLong(GetParent(hwndList),GWL_USERDATA);

	lsRet=&(prg->lsUser);

	if(lsRet->hwndlist==hwndList)
		return lsRet;

	lsRet=&(prg->lsRec);

	if(lsRet->hwndlist==hwndList)
		return lsRet;

	MessageBox(NULL,"Something's fishy","Ooops",MB_OK);

	return 0;
}

DRAWSTRUCT *GetDrawStruct(HWND hDlg)
{
	PRECGBL prg;

	prg=(PRECGBL)GetWindowLong(hDlg,GWL_USERDATA);

	return &(prg->ds);
}

void DrawStuff(LPDRAWITEMSTRUCT lpDrawItem)
{
	PUSERKEYINFO pui;
	DRAWSTRUCT *ds;
	LISTSTRUCT *ls;
	int index;
	RECT rc;
	//HICON hIcon;
	HWND hDlg,hwndList;
	int max;
	BOOL focused;

	focused=TRUE;

	if(lpDrawItem->hwndItem!=0)
	{
		if(GetFocus()!=lpDrawItem->hwndItem)
			focused=FALSE;
	}

	hwndList=lpDrawItem->hwndItem;
	hDlg=GetParent(hwndList);
	
	ls=GetListStruct(hwndList);
	ds=GetDrawStruct(hDlg);

	pui=(PUSERKEYINFO)(lpDrawItem->itemData);
	CopyRect(&rc,&(lpDrawItem->rcItem));
#ifdef _WIN32
	ImageList_Draw(ds->hIml,pui->icon,
		lpDrawItem->hDC,
		rc.left+((CX_SMICON-16)/2),
		rc.top+((CY_SMICON-16)/2),
		ILD_TRANSPARENT);
#else
	hIcon=LoadIcon(gPGPsdkUILibInst,MAKEINTRESOURCE(pui->icon));
	
	DrawIcon(lpDrawItem->hDC,
		rc.left+((CX_SMICON-32)/2),
		rc.top+((CY_SMICON-32)/2),
		hIcon);
	
	DeleteObject(hIcon);
#endif
	rc.right=rc.left;
	rc.left=rc.left+16;

	max=0;

	for(index=0;index<NUMCOLUMNS;index++)
	{
#if LISTBOX
		max=max+ls->colwidth[index];
#else
		max=max+
			ListView_GetColumnWidth(lpDrawItem->hwndItem,index);
#endif
	}

	for(index=0;index<NUMCOLUMNS;index++)
	{
#if LISTBOX
		rc.right=rc.right+ls->colwidth[index];
#else
		rc.right=rc.right+
			ListView_GetColumnWidth(lpDrawItem->hwndItem,index);
#endif
		switch(index)
		{
			case 0:
			{
				HFONT oldFont;
				RECT origrc;

				// Save original rect
				CopyRect(&origrc,&rc);

				oldFont=SelectObject(lpDrawItem->hDC,
						ds->hFont);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲mv大片欧洲mv大片精品| 偷窥少妇高潮呻吟av久久免费| 555夜色666亚洲国产免| 色婷婷综合久久久久中文| 国产91色综合久久免费分享| 国产成人精品免费在线| 高清国产一区二区| 成人一区二区三区在线观看 | 91丨porny丨中文| 99久久精品免费看国产| 91国产福利在线| 日韩亚洲国产中文字幕欧美| 欧美大尺度电影在线| 久久久噜噜噜久噜久久综合| 国产目拍亚洲精品99久久精品| 欧美激情在线观看视频免费| 亚洲天堂av老司机| 午夜日韩在线电影| 久久99久久精品欧美| 国产成人亚洲综合色影视 | 亚洲欧美激情小说另类| 亚洲精品日产精品乱码不卡| 亚洲国产另类精品专区| 免费在线观看精品| 成人自拍视频在线| 欧美人与z0zoxxxx视频| 精品国产91亚洲一区二区三区婷婷| 国产欧美一区二区三区网站| 亚洲自拍偷拍综合| 国产剧情一区二区| 欧美日韩高清不卡| 久久蜜臀精品av| 一区二区三区不卡视频在线观看| 美日韩一区二区| 色婷婷综合久久久中文字幕| 精品国产乱码久久| 亚洲午夜视频在线观看| 国产东北露脸精品视频| 欧美卡1卡2卡| 亚洲蜜臀av乱码久久精品蜜桃| 蜜桃av一区二区| 色狠狠综合天天综合综合| 精品第一国产综合精品aⅴ| 亚洲另类在线视频| 国产麻豆91精品| 欧美欧美午夜aⅴ在线观看| 综合自拍亚洲综合图不卡区| 精品一区二区av| 欧美日韩一区二区三区免费看 | 99这里只有精品| 精品粉嫩超白一线天av| 亚洲成av人片| 在线视频综合导航| 国产精品久久久久三级| 国产盗摄精品一区二区三区在线| 欧美精品乱码久久久久久 | 日韩欧美一区电影| 亚洲18色成人| 欧美一a一片一级一片| 国产精品久久久久久久久免费相片 | 久久久av毛片精品| 青青草成人在线观看| 欧美视频在线不卡| 亚洲综合免费观看高清完整版 | 日本不卡1234视频| 欧美日韩国产色站一区二区三区| 国产精品污www在线观看| 国产盗摄视频一区二区三区| 2019国产精品| 国产精品 欧美精品| 久久久久97国产精华液好用吗| 美女视频一区二区三区| 日韩一卡二卡三卡| 久久国产精品99久久久久久老狼| 3d成人h动漫网站入口| 丝袜美腿高跟呻吟高潮一区| 欧美裸体bbwbbwbbw| 日韩专区一卡二卡| 欧美一区二区三区男人的天堂| 奇米精品一区二区三区四区 | 色综合夜色一区| 亚洲一区二区三区自拍| 制服丝袜在线91| 久久91精品国产91久久小草| 精品女同一区二区| 国产成人啪免费观看软件| 欧美激情一区二区三区不卡| 91啪亚洲精品| 亚州成人在线电影| 日韩免费视频一区二区| 粉嫩av一区二区三区在线播放| 国产色婷婷亚洲99精品小说| 国产**成人网毛片九色| 亚洲精品欧美激情| 日韩欧美激情四射| 丰满亚洲少妇av| 亚洲大片在线观看| 精品99999| 91亚洲精品一区二区乱码| 午夜久久久久久久久| 久久日韩粉嫩一区二区三区| jizz一区二区| 日韩高清不卡一区二区三区| 久久蜜桃一区二区| 在线观看日韩精品| 国产一区二区影院| 亚洲最大色网站| 久久久精品天堂| 在线不卡中文字幕播放| 国产成人在线免费观看| 一区二区三区精品| 欧美激情一区在线| 91精品国产入口在线| 99热在这里有精品免费| 久久99蜜桃精品| 一个色综合网站| 国产精品久久久久久福利一牛影视| 欧美日韩精品一区视频| 国产电影一区二区三区| 日韩电影一二三区| 亚洲色图都市小说| 久久精品一区四区| 91精品国产一区二区三区蜜臀 | 狠狠色丁香婷婷综合| 一区二区三区免费看视频| 国产日韩精品一区二区三区在线| 欧美在线观看视频在线| www.色精品| 国产91精品免费| 国产一区三区三区| 免费成人av资源网| 亚洲成国产人片在线观看| 亚洲人成网站色在线观看| 久久综合久久综合九色| 欧美大片一区二区| 777a∨成人精品桃花网| 欧美日韩久久久久久| 色综合av在线| 91老司机福利 在线| 成人污视频在线观看| 国产精品一二三| 国产资源精品在线观看| 日本视频在线一区| 日韩极品在线观看| 日韩 欧美一区二区三区| 午夜免费久久看| 秋霞午夜鲁丝一区二区老狼| 日韩中文字幕一区二区三区| 亚洲国产一二三| 亚洲成在人线免费| 免费美女久久99| 韩日av一区二区| 国产91综合网| 91在线观看成人| 欧美亚洲愉拍一区二区| 欧美日韩大陆在线| 欧美一级二级三级蜜桃| 欧美电影免费提供在线观看| 日韩欧美的一区二区| 久久噜噜亚洲综合| 国产精品欧美久久久久一区二区 | 欧美一区二区私人影院日本| 欧美精品日日鲁夜夜添| 日韩久久精品一区| 久久久天堂av| 一区在线播放视频| 亚洲综合色噜噜狠狠| 午夜欧美视频在线观看| 男男视频亚洲欧美| 国产成人免费9x9x人网站视频| 国产不卡在线一区| 欧洲国产伦久久久久久久| 欧美精品三级日韩久久| www国产成人免费观看视频 深夜成人网| 精品久久五月天| 日韩毛片视频在线看| 日韩国产欧美三级| 国产91综合一区在线观看| 日本高清不卡aⅴ免费网站| 欧美一三区三区四区免费在线看 | 91在线精品一区二区三区| 欧美影院午夜播放| 欧美tickle裸体挠脚心vk| 国产欧美视频一区二区三区| 亚洲精品视频观看| 精品一区二区三区免费播放| 99久久99久久久精品齐齐| 制服丝袜一区二区三区| 国产精品久久综合| 男女男精品视频网| 色综合久久天天| 精品国产一区二区国模嫣然| 自拍偷拍亚洲激情| 美美哒免费高清在线观看视频一区二区| 福利一区二区在线| 日韩一区二区在线看| 亚洲男人的天堂在线aⅴ视频| 免费观看一级欧美片| 色综合久久久久网| 国产婷婷色一区二区三区|