锘??xml version="1.0" encoding="utf-8" standalone="yes"?> 鍦ㄦ垜浠啓鐨勭▼搴忓綋涓?鎬繪湁涓浜涢厤緗俊鎭渶瑕佷繚瀛樹笅鏉?浠ヤ究瀹屾垚紼嬪簭鐨勫姛鑳?鏈綆鍗曠殑鍔炴硶灝辨槸灝嗚繖浜涗俊鎭啓鍏NI鏂囦歡涓?紼嬪簭鍒濆鍖栨椂鍐嶈鍏?鍏蜂綋搴旂敤濡備笅: 銆銆涓.灝嗕俊鎭啓鍏?INI鏂囦歡涓? 銆銆1.鎵鐢ㄧ殑WINAPI鍑芥暟鍘熷瀷涓? 銆銆鍏朵腑鍚勫弬鏁扮殑鎰忎箟: 銆銆銆LPCTSTR lpAppName 鏄疘NI鏂囦歡涓殑涓涓瓧孌靛悕. 銆銆銆LPCTSTR lpKeyName 鏄痩pAppName涓嬬殑涓涓敭鍚?閫氫織璁插氨鏄彉閲忓悕. 銆銆銆LPCTSTR lpString 鏄敭鍊?涔熷氨鏄彉閲忕殑鍊?涓嶈繃蹇呴』涓篖PCTSTR鍨嬫垨CString鍨嬬殑. 銆銆銆LPCTSTR lpFileName 鏄畬鏁寸殑INI鏂囦歡鍚? 銆銆2.鍏蜂綋浣跨敤鏂規(guī)硶:璁劇幇鏈変竴鍚嶅鐢?闇鎶婁粬鐨勫鍚嶅拰騫撮緞鍐欏叆 c:\stud\student.ini 鏂囦歡涓? 銆銆姝ゆ椂c:\stud\student.ini鏂囦歡涓殑鍐呭濡備笅: 銆銆銆[StudentInfo] 銆銆3.瑕佸皢瀛︾敓鐨勫勾榫勪繚瀛樹笅鏉?鍙渶灝嗘暣鍨嬬殑鍊煎彉涓哄瓧絎﹀瀷鍗沖彲: 浜?灝嗕俊鎭粠INI鏂囦歡涓鍏ョ▼搴忎腑鐨勫彉閲? 銆銆1.鎵鐢ㄧ殑WINAPI鍑芥暟鍘熷瀷涓? 銆銆鍏朵腑鍚勫弬鏁扮殑鎰忎箟: 銆銆銆鍓嶄簩涓弬鏁頒笌 WritePrivateProfileString涓殑鎰忎箟涓鏍? 銆銆銆lpDefault : 濡傛灉INI鏂囦歡涓病鏈夊墠涓や釜鍙傛暟鎸囧畾鐨勫瓧孌靛悕鎴栭敭鍚?鍒欏皢姝ゅ艱祴緇欏彉閲? 銆銆銆lpReturnedString : 鎺ユ敹INI鏂囦歡涓殑鍊肩殑CString瀵硅薄,鍗崇洰鐨勭紦瀛樺櫒. 銆銆銆nSize : 鐩殑緙撳瓨鍣ㄧ殑澶у皬. 銆銆銆lpFileName : 鏄畬鏁寸殑INI鏂囦歡鍚? 銆銆2.鍏蜂綋浣跨敤鏂規(guī)硶:鐜拌灝嗕笂涓姝ヤ腑鍐欏叆鐨勫鐢熺殑淇℃伅璇誨叆紼嬪簭涓? 銆銆鎵ц鍚?strStudName 鐨勫間負(fù):”寮犱笁”,鑻ュ墠涓や釜鍙傛暟鏈夎,鍏跺間負(fù):”榛樿濮撳悕”. 銆銆3.璇誨叆鏁村瀷鍊艱鐢ㄥ彟涓涓猈INAPI鍑芥暟: 銆銆榪欓噷鐨勫弬鏁版剰涔変笌涓婄浉鍚?浣跨敤鏂規(guī)硶濡備笅: 涓?寰幆鍐欏叆澶氫釜鍊?璁劇幇鏈変竴紼嬪簭,瑕佸皢鏈榪戜嬌鐢ㄧ殑鍑犱釜鏂囦歡鍚嶄繚瀛樹笅鏉?鍏蜂綋紼嬪簭濡備笅: 銆銆1.鍐欏叆: 銆銆2.璇誨嚭: 銆銆琛ュ厖鍥涚偣: 銆銆銆1.INI鏂囦歡鐨勮礬寰勫繀欏誨畬鏁?鏂囦歡鍚嶅墠闈㈢殑鍚勭駭鐩綍蹇呴』瀛樺湪,鍚﹀垯鍐欏叆涓嶆垚鍔?璇ュ嚱鏁拌繑鍥?FALSE 鍊? 銆銆銆2.鏂囦歡鍚嶇殑璺緞涓繀欏諱負(fù) \\ ,鍥犱負(fù)鍦╒C++涓? \\ 鎵嶈〃紺轟竴涓?\ . 銆銆銆3.涔熷彲灝咺NI鏂囦歡鏀懼湪紼嬪簭鎵鍦ㄧ洰褰?姝ゆ椂 lpFileName 鍙傛暟涓? “.\\student.ini”. 蹇熼摼鎺?http://www.vsing.cn/go/6142.html 鍏堟潵璋堣皥闂儊浜х敓鐨勫師鍥?/p>
鍘熷洜涓錛?br>濡傛灉鐔熸?zhèn)夋槕謲″師鐞嗙殑璇濆Q岃皟鐢℅DI鍑芥暟鍚戝睆騫曡緭鍑虹殑鏃跺欏茍涓嶆槸绔嬪埢灝辨樉紺哄湪灞忓箷 涓鑸樉鍗$殑鍒鋒柊鍛ㄦ湡鏄?1/80縐掑乏鍙籌紝鍏蜂綋鏁板瓧鍙互鑷繁璁劇疆鐨勩?/p>
榪欐牱闂灝辨潵浜嗭紝涓鑸敾鍥鵑兘鏄厛鐢昏儗鏅壊錛岀劧鍚庡啀鎶婂唴瀹圭敾涓婂幓錛屽鏋滆繖涓ゆ鎿嶄綔涓嶅湪鍚屼竴涓?br>鍒鋒柊鍛ㄦ湡鍐呭畬鎴愶紝閭d箞緇欎漢鐨勮瑙夋劅鍙楀氨鏄紝鍏堢湅鍒板彧鏈夎儗鏅壊鐨勫浘鍍忥紝鐒跺悗鐪嬪埌鐢諱笂鍐呭鐨勫浘鍍忥紝 瑙e喅鏂規(guī)硶錛氬敖閲忓揩鐨勮緭鍑哄浘鍍忥紝浣胯緭鍑哄湪涓涓埛鏂板懆鏈熷唴瀹屾垚錛屽鏋滆緭鍑哄唴瀹瑰緢澶氭瘮杈冩參錛岄偅涔堥噰鐢?br>鍐呭瓨緙撳啿鐨勬柟娉曪紝鍏堟妸瑕佽緭鍑虹殑鍐呭鍦ㄥ唴瀛樺噯澶囧ソ錛岀劧鍚庝竴嬈¤緭鍑哄埌鏄懼瓨銆傝鐭ラ亾涓嬈PI璋冪敤涓鑸彲浠?br>鍦ㄤ竴涓埛鏂板懆鏈熷唴瀹屾垚銆?/p>
瀵逛簬GDI錛岀敤鍒涘緩鍐呭瓨DC鐨勬柟娉曞氨鍙互浜?/p>
鍘熷洜浜岋細(xì) 澶嶆潅鐨勭晫闈㈡湁澶氬眰紿楀彛緇勬垚錛屽綋windows鍦ㄧ獥鍙f敼鍙樺ぇ灝忕殑鏃跺欐槸鍏堥噸鐢葷埗紿楀彛錛岀劧鍚庨噸鐢誨瓙紿楀彛錛屽瓙鐖?br>紿楀彛閲嶇敾鐨勮繃紼嬩竴鑸棤娉曞湪涓涓埛鏂板懆鏈熷唴瀹屾垚錛屾墍浠ヤ細(xì)鍛堢幇闂儊銆?/p>
鎴戜滑鐭ラ亾鐖剁獥鍙d笂琚瓙紿楀彛鎸′綇鐨勯儴鍒嗗叾瀹炴病蹇呰閲嶇敾鐨?/p>
瑙e喅鏂規(guī)硶錛氱粰紿楀彛鍔犱釜椋庢牸 WS_CLIPCHILDREN ,榪欐牱鐖剁獥鍙d笂琚瓙紿楀彛鎸′綇鐨勯儴鍒嗗氨涓嶄細(xì)閲嶇敾浜嗐?/p>
濡傛灉鍚岀駭紿楀彛涔嬮棿鏈夐噸鍙狅紝閭d箞闇瑕佸啀鍔犱笂 WS_CLIPSIBLINGS 椋庢牸 鍘熷洜涓夛細(xì) 鏈夋椂鍊欓渶瑕佸湪紿楀彛涓婁嬌鐢ㄤ竴浜涙帶浠訛紝姣斿IE錛屽綋浣犵殑紿楀彛鏀瑰彉澶у皬鐨勬椂鍊橧E浼?xì)闂儊锛屽嵆鋴射綘鏈変簡WS_CLIPCHILDREN 瑙e喅鏂規(guī)硶錛氭敞鍐岀獥鍙g被鐨勬椂鍊欎笉瑕佷嬌鐢ㄨ繖涓や釜椋庢牸錛屽鏋滅獥鍙i渶瑕佸湪鏀瑰彉澶у皬鐨勬椂鍊欓噸鐢伙紝閭d箞鍙互鍦╓M_SIZE鐨勬椂鍊?br>璋冪敤RedrawWindow銆?/p>
鍘熷洜鍥涳細(xì) 鐣岄潰涓婄獥鍙e緢澶氾紝鑰屼笖鏀瑰彉澶у皬鏃跺緢澶氱獥鍙i兘瑕佺Щ鍔ㄥ拰鏀瑰彉澶у皬錛屽鏋滀嬌鐢∕oveWindow鎴栬匰etWindowPos涓や釜API鏉?br>鏀瑰彉紿楀彛鐨勫ぇ灝忓拰浣嶇疆錛岀敱浜庝粬浠槸絳夊緟紿楀彛閲嶇敾瀹屾垚鍚庢墠榪斿洖錛屾墍浠ヨ繃紼嬪緢鎱紝榪欐牱瑙嗚鏁堟灉灝卞彲鑳戒細(xì)闂儊銆?/p>
瑙e喅鏂規(guī)硶錛?/p>
浣跨敤浠ヤ笅API鏉ュ鐞嗙獥鍙gЩ鍔紝BeginDeferWindowPos, DeferWindowPos錛孍ndDeferWindowPos 鏈変釜鍦版柟瑕佺壒鍒敞鎰忥紝瑕佷粩緇嗚綆楁竻妤氳縐誨姩澶氬皯涓獥鍙o紝BeginDeferWindowPos璁懼畾
涓嬮潰鏄?緗戜笂 鐨?閭g墖 鏂囩珷銆傘傘?/span>
BOOL WritePrivateProfileString(
LPCTSTR lpAppName,
LPCTSTR lpKeyName,
LPCTSTR lpString,
LPCTSTR lpFileName
);
CString strName,strTemp;
int nAge;
strName="寮犱笁";
nAge=12;
::WritePrivateProfileString("StudentInfo","Name",strName,
"c:\\stud\\student.ini");
銆銆銆strTemp.Format("%d",nAge);
::WritePrivateProfileString("StudentInfo","Age",strTemp,
"c:\\stud\\student.ini");
DWORD GetPrivateProfileString(
LPCTSTR lpAppName,
LPCTSTR lpKeyName,
LPCTSTR lpDefault,
LPTSTR lpReturnedString,
DWORD nSize,
LPCTSTR lpFileName
);
CString strStudName;
int nStudAge;
GetPrivateProfileString("StudentInfo","Name","榛樿濮撳悕",
strStudName.GetBuffer(MAX_PATH),MAX_PATH,"c:\\stud\\student.ini");
UINT GetPrivateProfileInt(
LPCTSTR lpAppName,
LPCTSTR lpKeyName,
INT nDefault,
LPCTSTR lpFileName
);
nStudAge=GetPrivateProfileInt("StudentInfo","Age",10,
"c:\\stud\\student.ini");
CString strTemp,strTempA;
int i;
int nCount=6;
file://鍏辨湁6涓枃浠跺悕闇瑕佷繚瀛?
for(i=0;i {strTemp.Format("%d",i);
strTempA=鏂囦歡鍚?
file://鏂囦歡鍚嶅彲浠ヤ粠鏁扮粍,鍒楄〃妗嗙瓑澶勫彇寰?
::WritePrivateProfileString("UseFileName","FileName"+strTemp,strTempA,
"c:\\usefile\\usefile.ini");
}
strTemp.Format("%d",nCount);
::WritePrivateProfileString("FileCount","Count",strTemp,
"c:\\usefile\\usefile.ini");
file://灝嗘枃浠舵繪暟鍐欏叆,浠ヤ究璇誨嚭.
nCount=::GetPrivateProfileInt("FileCount","Count",0,
"c:\\usefile\\usefile.ini");
for(i=0;i {strTemp.Format("%d",i);
strTemp="FileName"+strTemp;
::GetPrivateProfileString("CurrentIni",strTemp,
"default.fil", strTempA.GetBuffer(MAX_PATH),MAX_PATH,
"c:\\usefile\\usefile.ini");
file://浣跨敤strTempA涓殑鍐呭.
}
濂戒簡錛岀湅鎴戠殑涓戦檵鐨勪唬鐮?鑳藉璁╁鉤闈欑殑姘撮潰 紼嶅井嫻偣嫻姳鍚~ 涓嬭澆鍦板潃 DEMO download
]]>
涓鑸殑windows 澶嶆潅鐨勭晫闈㈤渶瑕佷嬌鐢ㄥ灞傜獥鍙h屼笖瑕佺敤璐村浘鏉ョ編鍖栵紝鎵浠ヤ笉鍙伩鍏嶅湪紿楀彛縐誨姩鎴栬呮敼鍙樺ぇ灝忕殑鏃跺欏嚭鐜伴棯鐑併?/p>
涓婂彧鏄啓鍒頒簡鏄懼瓨閲岋紝鑰屾樉鍗℃瘡闅斾竴孌墊椂闂存妸鏄懼瓨鐨勫唴瀹硅緭鍑哄埌灞忓箷涓婏紝榪欏氨鏄埛鏂板懆鏈熴?/p>
榪欐牱灝變細(xì)鎰熻闂儊浜嗐?/p>
涔熸病鐢ㄣ傚師鍥犲湪浜庣獥鍙g殑綾婚鏍兼湁CS_HREDRAW 鎴栬?CS_VREDRAW錛岃繖涓や釜椋庢牸琛ㄧず紿楀彛鍦ㄥ搴︽垨鑰呴珮搴﹀彉鍖栫殑鏃跺?br>閲嶇敾錛屼絾鏄繖鏍峰氨浼?xì)寮曡捣IE闂儊
鍏堣皟鐢?BeginDeferWindowPos 璁懼畾闇瑕佺Щ鍔ㄧ殑紿楀彛鐨勪釜鏁?br>浣跨敤DeferWindowPos錛屾潵縐誨姩紿楀彛錛岃繖涓狝PI騫朵笉鐪熺殑閫犳垚紿楀彛縐誨姩
EndDeferWindowPos 涓嬈℃у畬鎴愭墍鏈夌獥鍙g殑澶у皬鍜屼綅緗殑鏀瑰彉銆?/p>
鐨勪釜鏁頒竴瀹氳鍜屽疄闄呯殑涓暟涓鑷達(dá)紝鍚﹀垯鍦╓in9x涓嬶紝濡傛灉瀹為檯縐誨姩鐨勭獥鍙f暟澶氫簬璋冪敤BeginDeferWindowPos
鏃惰瀹氱殑涓暟錛屽彲鑳戒細(xì)閫犳垚緋葷粺宕╂簝銆傚湪Windows NT緋誨垪涓嬩笉浼?xì)鏈墭q欐牱鐨勯棶棰樸?/p>