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

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

?? dlgclbk.cpp

?? win2000打印機驅動代碼
?? CPP
字號:
/*
 * @file uni/dlgclbk.cpp Dialog callback function.
 *
 * W2kPrintDrvSample
 *
 * Copyright (C) 2004, terrificskyfox <terrificskyfox@yahoo.com.cn>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

#include "precomp.h"
#include "debug.h"
#include "globals.h"
#include "oemuni.h"
#include "devmode.h"
#include "resource.h"
#include "dlgclbk.h"


/*
 *  Internal datas
 */

static TCHAR szStrResource[MAX_PATH];


/*
 *  Internal prototypes
 */

static PCTSTR get_resource_string(UINT uID);
static void dlg_error_message(HWND hDlg, UINT MessageID, UINT TitleID);

static DWORD output_get_filename(HWND hDlg, PDEVOBJ pdevobj);
static BOOL output_validate_filename(HWND hDlg, PDEVOBJ pdevobj);


/*
 *  Implementations
 */

/*
 * Function: DlgOutputProc
 *
 * Purpose: Call back function for IDD_OUTPUT dialog.
 *
 * Return: BOOL value
 */
BOOL FAR PASCAL DlgOutputProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
	PDEVOBJ  pdevobj = NULL;
    POEMPDEV pOemPDEV = NULL;


	switch(message)
	{
	case WM_INITDIALOG:
		pdevobj = (PDEVOBJ)lParam;
		SetWindowLong(hDlg, DWL_USER, (LONG)pdevobj);

		break;

	case WM_COMMAND:
		pdevobj = (PDEVOBJ)GetWindowLong(hDlg, DWL_USER);
        pOemPDEV = (POEMPDEV)pdevobj->pdevOEM;

		switch(wParam)
		{
        // check "browse" button
        case IDC_BROWSE:
            {
				if(output_get_filename(hDlg, pdevobj) == SAVE_FAILED)
					dlg_error_message(hDlg, IDS_BROWSE_ERROR, IDS_OUTPUT);
            }
            break;

        // check "append page num" button
        case IDC_APPEND_PAGENUM:
            pOemPDEV->bAppendPageNum ^= 1;
            break;

        // check "start" button
		case IDOK:
            if(output_validate_filename(hDlg, pdevobj)) // validate file name
            {
			    EndDialog(hDlg, IDOK);
            }
            else
            {
                dlg_error_message(hDlg, IDS_FILENAME_INVALID, IDS_OUTPUT);

                SetFocus(GetDlgItem(hDlg, IDC_FILENAME));
                SendDlgItemMessage(hDlg, IDC_FILENAME, EM_SETSEL, 0, -1L);
            }

			break;

        // check "cancel" button
        case IDCANCEL:
            EndDialog(hDlg, IDCANCEL);
            break;

		default:
			return FALSE;
		}
		break;

	default:
		return FALSE;
	}

	return TRUE;
}


/*
 *  Internal implementations
 */

/*
 * Function: get_resource_string
 *
 * Purpose: Get resource string.
 *
 * Return: PCTSTR
 */
static PCTSTR get_resource_string(UINT uID)
{
	LoadString(ghInstance, uID, szStrResource, MAX_PATH);
	return szStrResource;
}

/*
 * Function: dlg_error_message
 *
 * Purpose: Output error message.
 *
 * Return: NULL
 */
static void dlg_error_message(HWND hDlg, UINT MessageID, UINT TitleID)
{
	TCHAR szErrorMessage[MAX_PATH] = {0};

	lstrcpy(szErrorMessage, get_resource_string(MessageID));
	MessageBox(hDlg, szErrorMessage, get_resource_string(TitleID), MB_ICONERROR | MB_OK);
}


/*
 * Function: output_get_filename
 *
 * Purpose: IDD_OUTPUT: Get preview file name.
 *
 * Return: DWORD
 */
static DWORD output_get_filename(HWND hDlg, PDEVOBJ pdevobj)
{
    POEMPDEV pOemPDEV = (POEMPDEV)pdevobj->pdevOEM;
	DWORD    Ret = SAVE_SUCCESS; // return value
	OPENFILENAME ofn = {0};


	// init OPENFILENAME structure
	ofn.lStructSize = sizeof(OPENFILENAME);
	ofn.hwndOwner = hDlg;
	ofn.lpstrFilter = TEXT("bmp (*.bmp)\0*.bmp\0");
	ofn.lpstrFile = pOemPDEV->szPreviewFileName;
	ofn.nMaxFile = MAX_PATH;
	ofn.Flags = OFN_LONGNAMES | OFN_OVERWRITEPROMPT | OFN_HIDEREADONLY | OFN_NONETWORKBUTTON;
	ofn.lpstrDefExt = TEXT("bmp");

	if(GetSaveFileName(&ofn))
    {
		SetDlgItemText(hDlg, IDC_FILENAME, ofn.lpstrFile);
    }
	else
	{
		if(CommDlgExtendedError())
			Ret = SAVE_FAILED;
		else
			Ret = SAVE_CANCEL;
	}

	return Ret;
}

/*
 * Function: output_validate_filename
 *
 * Purpose: IDD_OUTPUT: Validate preview filename.
 *
 * Return: BOOL
 */
static BOOL output_validate_filename(HWND hDlg, PDEVOBJ pdevobj)
{
    POEMPDEV pOemPDEV = (POEMPDEV)pdevobj->pdevOEM;


	// get current file name in edit box
	GetDlgItemText(hDlg, IDC_FILENAME, pOemPDEV->szPreviewFileName, MAX_PATH);

	if(lstrlen(pOemPDEV->szPreviewFileName))
	{
		TCHAR szBuffer[MAX_PATH] = {0};
		PTSTR pFilePart = NULL;

		// get full path name
		GetFullPathName(pOemPDEV->szPreviewFileName, MAX_PATH, szBuffer, &pFilePart);

		// create temp file
		HANDLE hFile = CreateFile(szBuffer, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
		if(hFile == INVALID_HANDLE_VALUE)
        {
			return FALSE;
        }
		else
		{
            // close & delete file
			CloseHandle(hFile);
			DeleteFile(szBuffer);
		}

		// update szPreviewFileName
		lstrcpy(pOemPDEV->szPreviewFileName, szBuffer);
	}
	else
		return FALSE;

	return TRUE;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品亚洲专一区二区三区| 69堂亚洲精品首页| 国产日韩欧美a| 久久福利资源站| 日韩欧美在线不卡| 日韩二区三区在线观看| 欧美久久久久久久久| 午夜电影一区二区三区| 欧美日韩一区高清| 亚洲成av人影院| 3d动漫精品啪啪| 奇米影视一区二区三区小说| 91精品国产高清一区二区三区| 天堂蜜桃一区二区三区| 欧美久久久久久久久久| 日本中文一区二区三区| 日韩视频一区二区在线观看| 精品在线你懂的| 久久综合色综合88| 国产成人一区二区精品非洲| 欧美精彩视频一区二区三区| 国产91在线看| 国产精品久久久爽爽爽麻豆色哟哟| 不卡视频一二三四| 欧美日韩色一区| 青青草原综合久久大伊人精品| 制服丝袜一区二区三区| 九九久久精品视频| 国产网红主播福利一区二区| 成人免费视频caoporn| 中文字幕在线观看一区| 色国产精品一区在线观看| 亚洲国产精品久久人人爱| 欧美精品一二三四| 激情久久五月天| 国产精品水嫩水嫩| 一本久道久久综合中文字幕| 亚洲国产精品久久久久秋霞影院 | 成人免费一区二区三区视频| 91高清在线观看| 美女在线观看视频一区二区| 欧美不卡一二三| 国产91丝袜在线播放九色| 亚洲人成人一区二区在线观看| 欧美无砖专区一中文字| 日产欧产美韩系列久久99| 国产视频911| 色网站国产精品| 全国精品久久少妇| 国产亚洲自拍一区| 欧日韩精品视频| 久久99蜜桃精品| **网站欧美大片在线观看| 欧美日韩中文字幕精品| 久久精品国产亚洲aⅴ| 国产精品卡一卡二卡三| 欧美精品乱码久久久久久| 国产一区二区三区高清播放| 亚洲品质自拍视频| 制服丝袜在线91| 不卡一二三区首页| 秋霞午夜av一区二区三区 | 欧美精品一区二区高清在线观看 | 欧美性猛片xxxx免费看久爱| 九色|91porny| 一区二区三区欧美日| 欧美mv日韩mv国产网站| 色婷婷国产精品久久包臀 | 黄网站免费久久| 亚洲精品中文在线观看| 欧美一二三在线| av在线不卡免费看| 奇米四色…亚洲| 亚洲日本欧美天堂| 日韩精品一区二区三区老鸭窝 | 正在播放一区二区| 成人免费av网站| 蜜乳av一区二区三区| 亚洲精品成a人| 久久久久久久综合| 欧美人牲a欧美精品| 成人h动漫精品一区二区| 日本色综合中文字幕| 亚洲欧洲精品成人久久奇米网| 欧美大片日本大片免费观看| 日本丶国产丶欧美色综合| 国产乱一区二区| 日韩中文字幕区一区有砖一区 | 欧美一区二区播放| 欧洲一区二区三区免费视频| 成人性视频网站| 久久精品av麻豆的观看方式| 亚洲综合一区二区三区| 国产精品人成在线观看免费 | 一区二区在线观看视频在线观看| 亚洲精品在线三区| 在线不卡中文字幕| 在线观看亚洲一区| www.av亚洲| 国产麻豆成人精品| 裸体在线国模精品偷拍| 亚洲国产精品久久久男人的天堂| 国产精品短视频| 国产日本欧美一区二区| 精品久久久久久最新网址| 欧美日韩免费一区二区三区| 91视视频在线直接观看在线看网页在线看| 精品亚洲欧美一区| 男女男精品网站| 亚洲成av人片| 亚洲一级在线观看| 亚洲精品亚洲人成人网在线播放| 中文字幕欧美日韩一区| 久久久噜噜噜久久中文字幕色伊伊| 欧美精品色综合| 欧洲av在线精品| 91久久精品一区二区二区| 99久久国产综合精品麻豆 | 国产乱妇无码大片在线观看| 蜜桃视频免费观看一区| 日本成人在线网站| 日韩av网站在线观看| 亚洲成人黄色影院| 亚洲激情六月丁香| 一个色在线综合| 亚洲另类春色校园小说| 亚洲精品福利视频网站| 亚洲欧美乱综合| 一区二区三区色| 依依成人精品视频| 亚洲精品网站在线观看| 亚洲精品国产精华液| 一区二区三区国产精华| 亚洲资源中文字幕| 亚洲成人福利片| 日本不卡一区二区三区高清视频| 日韩精品一级中文字幕精品视频免费观看 | 欧美一区二区性放荡片| 日韩一区二区三区电影在线观看 | 蜜桃av一区二区在线观看| 久久精品99国产精品日本| 国内精品久久久久影院薰衣草 | 成人av网址在线| 99精品桃花视频在线观看| 99精品黄色片免费大全| 在线免费视频一区二区| 欧美少妇一区二区| 4hu四虎永久在线影院成人| 欧美一区二区三区喷汁尤物| 精品国产青草久久久久福利| 久久久精品人体av艺术| 国产精品美女久久久久久久久| 国产精品久久久久9999吃药| 亚洲视频一区二区在线观看| 亚洲精品国产精华液| 日韩专区中文字幕一区二区| 九色综合国产一区二区三区| 粉嫩aⅴ一区二区三区四区五区| eeuss鲁片一区二区三区| 日本高清不卡在线观看| 91精品欧美一区二区三区综合在| 欧美年轻男男videosbes| 欧美变态tickle挠乳网站| 国产精品午夜在线| 亚洲综合激情另类小说区| 日韩成人精品在线观看| 国产一区二区三区在线看麻豆| 粉嫩av一区二区三区粉嫩| 色吧成人激情小说| 欧美一区二区在线观看| 国产欧美日韩在线| 亚洲最色的网站| 极品美女销魂一区二区三区 | 91精品国产福利| 国产调教视频一区| 亚洲激情校园春色| 久久精品72免费观看| 成人av在线观| 欧美二区三区的天堂| 欧美极品aⅴ影院| 亚洲一卡二卡三卡四卡五卡| 狠狠色狠狠色合久久伊人| av网站一区二区三区| 欧美一区三区二区| 综合av第一页| 美女免费视频一区| 94-欧美-setu| www国产成人| 亚洲国产精品影院| 成人午夜精品一区二区三区| 欧美日韩精品欧美日韩精品一| 久久人人97超碰com| 亚洲在线视频一区| 国产酒店精品激情| 欧美三级日韩三级| 国产精品青草综合久久久久99| 日韩在线a电影| 一本大道综合伊人精品热热| 精品久久久久一区二区国产| 亚洲综合在线电影|