VC涓嬫墦鍗版満鐨勪娇鐢
鍙戝竷: 2008-6-26 12:38 | 浣滆: admin | 鏌ョ湅: 82娆
VC 5.0鏄紑鍙慦indows 95涓嬪簲鐢ㄧ▼搴忕殑寮哄ぇ宸ュ叿銆傛湰鏂囧皢閫氳繃涓
涓叿浣撳疄渚嬭璁虹敤VC鎵撳嵃鏂囧瓧鍜屽浘褰㈢殑涓浜涙妧鏈傚湪Windows 95涓,
鏄剧ず鍣ㄥ拰鎵撳嵃鏈恒佺粯鍥句华閮借瑙嗕负杈撳嚭璁惧銆傜郴缁熼粯璁ょ殑杈撳嚭璁惧鏄
鏄剧ず鍣ㄣ傝浣跨敤鎵撳嵃鏈,棣栧厛闇瑕佸垱寤轰竴涓寚鍚戞墦鍗版満鐨勮澶囩幆澧冨彞鏌,
鐒跺悗閫氳繃璇ュ彞鏌勮皟鐢ㄧ浉鍏崇殑缁樺浘鍑芥暟鎶婃墍闇鐨勬枃瀛楀拰鍥惧舰杈撳嚭鑷虫墦鍗
鏈轰笂銆傚綋鎵撳嵃缁撴潫鍚,鍒犻櫎杩欎釜璁惧鐜鍙ユ焺鍗冲彲銆
涓銆佹妧鏈粏鑺
褰撴垜浠湪Windows95涓嬪畨瑁呭ソ鎵撳嵃鏈哄悗,鎬绘槸闇瑕佽缃竴涓负榛樿
鎵撳嵃鏈,鍦╓indows95鐨勫惎鍔ㄩ厤缃枃浠禬IN.INI涓璠window]娈典腑鍒楀嚭浜
甯︽湁鍏抽敭瀛梔evice鐨勯粯璁ゆ墦鍗版満銆傚鏋滃湪鏂囦欢WIN.INI涓湁濡備笅鍑犺:
[windows]
[鍏朵粬绋嬪簭琛宂
device=EPSON LQ-1600K,EPSON24,LPT1:
鍦╠evice鍚庣殑瀛楃涓蹭腑灏卞寘鍚簡绯荤粺涓粯璁ょ殑鎵撳嵃鏈虹殑涓変釜閲嶈
灞炴.瀹冧滑渚濇鏄墦鍗版満鐨勮澶囧悕鏄疞Q-1600K,椹卞姩绋嬪簭鍚嶆槸EPSON24,
杈撳嚭绔彛涓篖PT1銆傚湪绋嬪簭涓垜浠彲璋冪敤API鍑芥暟GetProfileString浠
WIN.INI鏂囦欢涓幏寰楄繖涓澶囧瓧绗︿覆銆傚啀灏嗚繖涓澶囧瓧绗︿覆杩涜鍒嗚В,
鑾峰緱杩欎笁涓睘鎬,浣滀负鍙傛暟鐢ˋPI鍑芥暟CreateDC璋冪敤銆傚鏋滆皟鐢ㄦ垚鍔,
鍒欎负榛樿鎵撳嵃鏈哄垱寤轰竴涓澶囩幆澧冨彞鏌,鍚﹀垯杩斿洖涓涓┖鍊(NULL)銆
CreateDC鍑芥暟鐨勫師褰㈠涓:
HDC CreateDC(
LPCTSTR lpszDriver,
LPCTSTR lpszDevice,
LPCTSTR lpszOutput,
CONST DEVMODE *lpinitData
);
浜屻佺▼搴忎唬鐮佸強璇存槑
鏂板缓涓涓悕涓篢est鐨勫伐绋嬶紝绐椾綋绫诲瀷涓哄璇濇(Dialog based)
妯″紡銆傚湪绐椾綋涓姞鍏ヤ竴涓寜閽(Button),璁剧疆杩欎釜Button鐨勫睘鎬:
ID=IDC_PRINT,CAPTION="鎵撳嵃"銆傚湪绫诲悜瀵间腑鎵惧埌璇utton
鐨勫崟鍑讳簨浠跺搴旂殑娑堟伅BN_CLICKED,澧炲姞鍏舵垚鍛樺嚱鏁癘nPrint銆
鍦═estDlg.cpp鏂囦欢涓壘鍒癘nPrint鍑芥暟骞朵綔濡備笅鏀瑰姩銆
void CTestDlg::OnPrint()
{
// 澧炲姞濡備笅浠g爜
char szprinter[80];
char *szDevice,*szDriver,*szOutput;
HDC hdcprint; // 瀹氫箟涓涓澶囩幆澧冨彞鏌
//瀹氫箟涓涓墦鍗颁綔涓
Static DOCINFO di={sizeof(DOCINFO),"printer",NULL};
// 寰楀埌璁惧瀛楃涓插瓨鍏ユ暟缁剆zprinter涓
GetProfileString("windows","device",",,,",szprinter,80);
// 灏嗚澶囧瓧绗︿覆鍒嗚В
if(NULL!=(szDevice=strtok(szprinter,","))&&
NULL!=(szDriver=strtok(NULL,","))&&
NULL!=(szOutput=strtok(NULL,",")))
// 鍒涘缓涓涓墦鍗版満璁惧鍙ユ焺
if((hdcprint=CreateDC(szDriver,szDevice,szOutput,NULL))!=0)
{
if(StartDoc(hdcprint,&di)>0) //寮濮嬫墽琛屼竴涓墦鍗颁綔涓
{
StartPage(hdcprint); //鎵撳嵃鏈鸿蛋绾,寮濮嬫墦鍗
SaveDC(hdcprint); //淇濆瓨鎵撳嵃鏈鸿澶囧彞鏌
// 杈撳嚭涓琛屾枃瀛
TextOut(hdcprint,1,1,"杩欐槸涓涓緥瀛",12);
// 杈撳嚭涓鏉$洿绾
MoveToEx(hdcprint,20,20,NULL);
LineTo(hdcprint,120,120);
RestoreDC(hdcprint,-1); //鎭㈠鎵撳嵃鏈鸿澶囧彞鏌
EndPage(hdcprint); //鎵撳嵃鏈哄仠绾,鍋滄鎵撳嵃
EndDoc(hdcprint); //缁撴潫涓涓墦鍗颁綔涓
MessageBox("鎵撳嵃瀹屾瘯!","鎻愮ず",MB_ICONINFORMATION);
}
// 鐢ˋPI鍑芥暟DeleteDC閿姣佷竴涓墦鍗版満璁惧鍙ユ焺
DeleteDC(hdcprint);
}
else
{
MessageBox("娌℃湁榛樿鎵撳嵃鏈,鎴栬呮病鏈夊畨瑁呮墦鍗版満!");
return;
}
}




发表于 2009-1-5 19:48
| 











