vc中的常用的20個方法
一、開啟cd-rom
mcisendstring("set cdaudio door open wait",null,0,null);
二、關閉cd_rom
mcisendstring("set cdaudio door closed wait",null,0,null);
三、關閉計算機
osversioninfo osversioninfo; //包含作業系統版本資訊的資料結構
osversioninfo.dwosversioninfosize = sizeof(osversioninfo);
getversionex(&osversioninfo); //獲取作業系統版本資訊
if(osversioninfo.dwplatformid == ver_platform_win32_windows)
四、重啟計算機
typedef int (callback *shutdowndlg)(int); //顯示關機對話方塊函式的指標
hinstance hinst = loadlibrary("shell32.dll"); //裝入shell32.dll
shutdowndlg shutdowndialog; //指向shell32.dll庫中顯示關機對話方塊函式的指標
if(hinst != null)
五、列舉所有字型
logfont lf;
lf.lfcharset = default_charset; // initialize the logfont structure
strcpy(lf.lffacename,"");
cclientdc dc (this);
// enumerate the font families
::enumfontfamilie***((hdc) dc,&lf, (fontenumproc) enumfontfamproc,(lparam) this,0);
//列舉函式
int callback enumfontfamproc(lpenumlogfont lpelf,
lpnewtextmetric lpntm,dword nfonttype,long lparam)
//其中m_ctlfontlist是乙個列表控制項變數
六、一次只執行乙個程式例項,如果已執行則退出
if( findwindow(null,"程式標題")) exit(0);
七、得到當前滑鼠所在位置
cpoint pt;
getcursorpos(&pt); //得到位置
八、上下文選單事件觸發事件
oncontextmenu事件
九、顯示和隱藏程式選單
cwnd *pwnd=afxgetmainwnd();
if(b_m) //隱藏選單
else
十、獲取可執行檔案的圖示
hicon hicon=::extracticon(afxgetinstancehandle(),_t("notepad.exe"),0);
if (hicon &&hicon!=(hicon)-1)
destroyicon(hicon);
十一、視窗自動靠邊程式演示
bool adjustpos(crect* lprect)
else
rcwa=rworkarea;
int ix=lprect->left;
int iy=lprect->top;
if(ix < rcwa.left + detastep && ix!=rcwa.left)
if(iy < rcwa.top + detastep && iy!=rcwa.top)
if(ix + lprect->width() > rcwa.right - detastep && ix !=rcwa.right-lprect->width())
if(iy + lprect->height() > rcwa.bottom - detastep && iy !=rcwa.bottom-lprect
->height())
return false;
}//然後在onmoveing事件中使用所下過程呼叫
crect r=*prect;
adjustpos(&r);
*prect=(rect)r;
十二、給系統選單新增乙個選單項
給系統選單新增乙個選單項需要進行下述三個步驟:
十三、執行其它程式
1、執行email或**
char szmailaddress[80];
strcpy(szmailaddress,"mailto:[email protected]");
shellexecute(null, "open", szmailaddress, null, null, sw_shownormal);
2、執行可執行程式
winexec("notepad.exe",sw_show); //執行計事本
十四、動態增加或刪除選單
1、 增加選單
新增2、 刪除選單
刪除cmenu *mainmenu;
mainmenu=afxgetmainwnd()->getmenu(); //得到主選單
cstring str ;
for(int i=(mainmenu->getsubmenu (0))->getmenuitemcount()-1;i>=0;i--) //取得選單的項數。}十
五、改變應用程式的圖示靜態更改:
修改圖示資源idr_mainframe。它有兩個圖示,乙個是16*16的,另乙個是32*32的,注意要一起修改。
動態更改: 向主視窗傳送wm_seticon訊息.**如下:
十六、另一種改變視窗標題的方法
使用語句 cwnd* m_pcwnd = afxgetmainwnd( ),然後,再以如下形式呼叫setwindowtext()函式:
setwindowtext( *m_pcwnd,(lpctstr)m_windowtext);// m_windowtext可以是乙個cstring類的變數。
十七、剪下板上通過增強元檔案拷貝影象資料
下面**拷貝通過元檔案拷貝影象資料到任何應用程式,
//其可以放置在cview派生類的函式中。
cmetafiledc * m_pmetadc = new cmetafiledc();
m_pmetadc->createenhanced(getdc(),null,null,"whatever");
//draw meta file
//do what ever you want to do: bitmaps, lines, text...
//close meta file dc and prepare for clipboard;
henhmetafile hmf = m_pmetadc->closeenhanced();
//copy to clipboard
openclipboard();
emptyclipboard();
::setclipboarddata(cf_enhmetafile,hmf);
closeclipboard();
//deletemetafile(hmf);
delete m_pmetadc;
十八、剪下板上文字資料的傳送把文字放置到剪接板上:
cstring source;
//put your text in source
if(openclipboard())
//從剪接板上獲取文字:
char * buffer;
if(openclipboard())
closeclipboard();
十九、將捕捉螢幕影象到剪下版中
void cshowbmpindlgdlg::oncutscreen()
; hbitmap hbitmap;
hbitmap=copyscreentobitmap(&r_bmp);
//hwnd為程式視窗控制代碼
if (openclipboard())
showwindow(sw_show);
}hbitmap cshowbmpindlgdlg::copyscreentobitmap(lprect lprect)}二
十、如何將位圖縮放顯示在static控制項中
//在staic控制項內顯示位圖
void cshowbmpindlgdlg::showbmpinstaic()
VC中的常用的20個方法
一 開啟cd rom mcisendstring set cdaudio door open wait null,0,null 二 關閉cd rom mcisendstring set cdaudio door closed wait null,0,null 三 關閉計算機 osversioninf...
VC中常用的20種方法
vc中常用的20種方法 一 開啟cd rom mcisendstring set cdaudio door open wait null,0,null 二 關閉cd rom mcisendstring set cdaudio door closed wait null,0,null 三 關閉計算機 ...
linux常用的20個命令
1 查詢檔案 find name filename.txt 根據名稱查詢 目錄下的filename.txt檔案 2.進入某個目錄 cd 加上目錄名 3.終止執行緒 kill 1998 終止執行緒號1998這個執行緒 4 顯示當前路徑 pwd5.檢視檔案 ls al 6.複製 cp aa 複製aa檔案...