VC中的常用的20個方法

2021-05-21 15:37:47 字數 4232 閱讀 6265

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檔案...