vc使用技巧集(對話框控件)

十五、設置控件字體顏色:(例如STATIC控件)

OnCtlColor函數中添加如下代碼:(可能需要選擇STATIC的簡單屬性)

其他控件的宏定義爲:

  .CTLCOLOR_BTN       按鈕控件

  .CTLCOLOR_DLG       對話框

  .CTLCOLOR_EDIT      編輯框

  .CTLCOLOR_LISTBOX   列表控件

  .CTLCOLOR_MSGBOX    消息控件

  .CTLCOLOR_SCROLLBAR 滾動條控件

  .CTLCOLOR_STATIC    靜態控件  

十六、將字符轉換爲數字:

int i = atoi("12345"); sscanf("12345","%d",&i);  

十七、調用外部應用程序可使用的函數

  CreateProcessWinExecShellExecute

例:ShellExecute(pWnd->m_wnd, "open", "my.exe", NULL, NULL, SW_NORMAL)

1、父窗體句柄,2、命令"open",3、文件路徑,4、參數,5、運行路徑,6、顯示方式

十八、經典安裝程序製作軟件InstallShield for Microsoft Visual C++6.0

release 方式是在build菜單中的Set Active configuration中改

project菜單裏面,Add to Projectcomponent and control來加入ocx控件

十九、控件的註冊

1.註冊

regsvr32 x:/xxx/demo.ocx 不一定非得在 Windows 系統目錄

2.卸載

regsvr32 /u x:/xxx/demo.ocx

二十、獲取當前時間:

二一、修改單文檔程序的標題:

OnCreat()中加入  SetWindowText("weichao");

CMainFrame::PreCreateWindow(CREATESTRUCT& cs)中加入  cs.style =WS_OVERLAPPEDWINDOW;

 

二二、隱藏程序在任務欄的圖標:

對話框程序放OnInitDialog()函數:

SetWindowLong(this->m_hWnd,GWL_EXSTYLE,WS_EX_TOOLWINDOW);//隱藏任務攔按鈕

二三、讀取編輯框內容:

    GetDlgItemText(IDC_EDIT_TXDATA,m_strTXData);

二四、自繪菜單寬度不對,高度是對的,解決辦法:

ClassWizard中的ClassName,CMianFrame,Messages下選WM_CONTEXTMENU並生成相應的函數,如下:

 void CMainFrame::OnContextMenu(CWnd* pWnd, CPoint point)

 {

  CMenu menu;

     menu.LoadMenu(IDR_MENU1);//IDR_MENU1是你要彈出菜單的ID.

     CMenu *popup=menu.GetSubMenu(0);

     popup->TrackPopupMenu(TPM_LEFTALIGN,point.x,point.y,this);

 }

二五、重啓計算機

調用一個API函數ExitWindowsEx就可以了,

兩個參數:UFlag,標記,可以選擇EWX_REBOOT,EWX_SHUTDOWN,EWX_POWEROFF再或上EWX_FORCE第二個參數就是0

二六、無title對話框的移動

void CScreenSnapDlg::OnLButtonDown(UINT nFlags, CPoint point)

{

    //實現窗體無標題移動

    PostMessage(WM_NCLBUTTONDOWN,HTCAPTION,MAKELPARAM(point.x,point.y));

    

    CDialog::OnLButtonDown(nFlags, point);

}

二七、獲取操作系統版本

OSVERSIONINFO OsVersionInfo;//包含操作系統版本信息的數據結構

OsVersionInfo.dwOSVersionInfoSize= sizeof(OSVERSIONINFO);

GetVersionEx(&OsVersionInfo);//獲取操作系統版本信息

二八、設置對話框爲最頂層:(在OnInitDialog中添加)

SetWindowPos(&wndTopMost,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);

二九、對話框程序不在任務欄顯示:(在OnInitDialog中添加)

ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWINDOW);

三十、向對話框窗口添加右鍵菜單:

 CMenu  menu,*pmenu;  

 menu.LoadMenu(IDR_MENU1);  

 pmenu=menu.GetSubMenu(0);  

 

 CPoint  ptScreen(point);  

 ClientToScreen(&ptScreen);  

 

 pmenu->TrackPopupMenu(TPM_RIGHTBUTTON,ptScreen.x,ptScreen.y,this);  

三一、文件查找:(例查找連續的換行符)

三二、托盤菜單不點擊不能消失的解決辦法:

在菜單之後使用下述代碼:

三、對話框由小到大顯示的動畫效果:

InitDialog中增加:

 

三四、按行讀出文本文件:

下面的例子演示了一行一行取,直到取完。

 

三五、使用IDC_HAND時提示未定義,加入以下代碼

#if(WINVER >= 0x0500)

#define IDC_HAND            MAKEINTRESOURCE(32649)

#endif /* WINVER >= 0x0500 */

三六、使應用程序啓動時不自動創建新文檔

在默認情況下,用AppWizard開發的SDI/MDI應用程序在啓動時創建一個新的文檔。如果要使應用程序在啓動時不創建新

 

文檔,只需在應用類CmyApp::InitInstance()函數的ProcessShellCommand調用前加上下面的語句就可以了:

 

 cmdInfo.m_nShellCommand = CComandLineInfo::FileNothing;

三七、播放mp3

    

三八、獲取屏幕RGB值:OnTimer中添加

三九、打開一個網址:

打開http://www.sina.com.cn這個站點如下:

ShellExecute(NULL, "open", "http://www.sina.com.cn",NULL, NULL, SW_MAXIMIZE );

此命令將以默認瀏覽器打開http://www.sina.com.cn,並將加開後的窗口最大化。

又例:

ShellExecute(NULL, "open", "IEXPLORE.exe http://www.sina.com.cn",NULL, NULL,

SW_MAXIMIZE );

此命令將直接用IE打開一個sina的站點。不過將開一個新的窗口。

四十、位圖按鈕:

CButton *pRadio = (CButton*)GetDlgItem(IDC_RADIO);

pRadio->SetBitmap(::LoadBitmap(AfxGetInstanceHandle(),

MAKEINTRESOURCE(IDB_BITMAP)));

 

 

26..Dll調用

   

27.透明窗口

 

  

 

28.去掉Dialog標題欄

 ModifyStyle( WS_CAPTION, WS_MINIMIZEBOX, SWP_DRAWFRAME );

 設置鼠標:

  BOOL CPartTransparentDlg::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)

 {

 // TODO: Add your message handler code here and/or call default

 SetCursor(AfxGetApp()->LoadCursor(IDC_CURSOR1));

 return TRUE;

 }

  拖動窗口,OnLButtonDown時調用

  PostMessage(WM_NCLBUTTONDOWN,HTCAPTION,MAKELPARAM(point.x, point.y));

 

 

29.啓動程序

 ::ShellExecute(NULL,"open","http://www.tomcom",NULL,NULL,SW_SHOWNORMAL);

 

30. 獲取系統信息

   

31. 如何去掉CStatic討厭的背景顏色 

 

重載WM_CTLCOLOR,同時將static的屬性設置爲TRANSPARENT

  

32. 窗口總在最前

 ::SetWindowPos(m_wndMsn.GetSafeHwnd(), HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);

 

33. 獲取本機IP

發佈了8 篇原創文章 · 獲贊 2 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章