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

如何设置让一个窗口总在最前(Exaware OnTop和PushPin)软件下载 Windows中打开一个新窗口或切换任务时,原有的活动窗口就会被它所覆盖。不过,像Winamp等软件,却有一个能让自己的操作窗口总在最前的功能,非常实用。其实,只要你安装了像ExaWare OnTop和PushPin这样的免费小软件,也一样可以让任意Windows操作窗口总在最前面,不让其他的窗口挡住它! 1.好用的ExaWare OnTop 下载并安装该软件后,双击桌面上的ExaWare OnTop 图标启动程序,我们看不到它的任何窗口界面,但在系统托盘上可以发现它的图标。单击该图标会弹出一个菜单,在这里列出了当前系统中所有窗口的标题。要想让某个窗口总在最前面,只要将鼠标移到相应的窗口标题项并点击鼠标(左右键均可)即可,如图所示。单击后该窗口标题前面的图标也相应地多了一个方框(如果没有图标则会显示一个对勾),表明该窗口已经设置成功。这时打开该窗口,再打开其他程序窗口,看看它是否一直总在其他窗口的前面而不被遮住?怎么样,是不是有种高高在上的感觉?要想取消 OnTop 状态,只要重复一遍上面的操作就可以了。 看到这里你是不是有一个疑问:如果同时将两个窗口设置为总在最前(Always OnTop)的状态,那将会发生什么事情呢?其实也很简单,如果两个(或多个)窗口同时处于总在最前的状态,那说明它们的地位平等,这时先激活谁谁就在最上面(和设置前一样看待)。另外还有一个问题需要注意:如果需要退出该软件,建议点击系统托盘上的软件图标并选择菜单中的“Exit and Restore”命令,这样在退出软件的同时可以恢复各个窗口的原始状态,以免给使用带来不便。 2.小巧的PushPin 相对于ExaWare OnTop 来说,PushPin 的体积更为小巧,只有区区的22KB 下载得到的是一个压缩包,由于它是一款绿色软件,我们只要直接将该压缩包解压缩到某个指定的目录下即可运行(主程序文件名为Pushpin.exe),同样看不到主程序窗口,只会发现系统托盘处多了一个图标。要想让某个操作窗口总在最前面,只要在其标题栏上(在任务栏按钮上也可)单击鼠标右键并从弹出的菜单中选择“Always on top”命令即可。要退出程序只需用鼠标右击系统托盘上的软件图标,并从弹出的菜单中选择“Remove”命令即可
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值