现在位置: 首页 > 代码集锦
下面是实现程序窗口圆角多角矩形的三种方法,但效果都比较差。只是简单的将边角裁 剪,从边框和标题栏上都可以看出来。不过可以通过这三个函数来学习下 SetWindowRgn()及创建一个HRGN的不同方法。 方法1 [cpp] view plaincopy void SetWindowEllipseFrame1(HWND hwnd, int nWidthEllipse, int nHeightEllipse)  {      HRGN hRgn;      RECT rect;      ...
阅读全文
上一篇讨论了托盘图标的添加,程序退出后虽然系统会自动删除托盘图标,但这种工作最好在程序中完成,以保证程序所有的动作都在我们的代码控制之内. >>>托盘图标的添加和消息响应 3.删除托盘图标 NOTIFYICONDATA nid;    nid.cbSize = sizeof nid;  nid.hWnd = GetSafeHwnd();  nid.uID = IDR_MAINFRAME;  nid.uFlags = NIF_MESSAGE | NIF_ICON;  Shell_NotifyIcon(NIM_DELETE,&nid)...
阅读全文
2012-08-31 23:03 工业·编程 ⁄ 共 739字 评论 1 条
1.如何添加一个托盘图标 #define WM_ICON_NOTIFY        WM_USER + 2  ...  BOOL CMyDlg::OnInitDialog()  {      ...      NOTIFYICONDATA nid;        nid.cbSize = sizeof nid;      nid.hWnd = GetSafeHwnd();      nid.uID = IDR_MAINFRAME;   &...
阅读全文
void Openfile() {     // TODO: Add your control notification handler code here     //显示文件打开对话框     CFileDialog dlg(TRUE, "EC", "*.aes", OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "Aes Files(*.aes)|*.aes");     if ( dlg.DoModal()!=IDOK ) return;     //获取文件的绝对路...
阅读全文
2012-08-30 20:28 工业·编程 ⁄ 共 547字 评论 1 条
void CPage1::OnXiuMian()  { if(MessageBox("确实要休眠吗?","关机程序",MB_YESNO|MB_DEFBUTTON2|MB_ICONQUESTION)==IDYES) {   static HANDLE hToken;   static TOKEN_PRIVILEGES tp;   static LUID luid;   if(::OpenProcessToken(GetCurrentProcess(),          TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY, &#...
阅读全文
2012-08-30 20:18 工业·编程 ⁄ 共 386字 暂无评论
用下面代码可获取文件关联程序的图标: CFileDialog fileDialog( TRUE,"*.*",NULL,NULL,NULL); if (fileDialog.DoModal() != IDOK) return; CString str= fileDialog.GetFileExt(); str="."+str; SHFILEINFO   sfi; SHGetFileInfo(str,0,&sfi,sizeof(sfi),SHGFI_ICON|SHGFI_LARGEICON|SHGFI_USEFILEATTRIBUTES); int i=sfi.iIcon; CStatic* pStatic = (CStatic*)...
阅读全文
2012-08-30 20:09 工业·编程 ⁄ 共 1635字 暂无评论
c++语言本身是不能删除文件或文件夹的,他们是windows操作系统里的东西,所以得借助其api函数。 其一:使用shell  接口 void FileDelete(CString directory) { SHFILEOPSTRUCT    shFileOp; char      strCurrentPath[MAX_PATH]; memset(&shFileOp,0,sizeof(shFileOp)); GetCurrentDirectory(MAX_PATH,strCurrentPath); strcat_s(strCurrentPath,sizeo...
阅读全文
注:本案例需要GDI+ int GetEncoderClsid(const WCHAR* format, CLSID* pClsid)   {       UINT num = 0;                     // number of image encoders       UINT size = 0;            ...
阅读全文
void Openfile() { // TODO: Add your control notification handler code here //显示文件打开对话框 CFileDialog dlg(TRUE, "EC", "*.aes",OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,"Aes Files(*.aes)|*.aes");  if ( dlg.DoModal()!=IDOK ) return; //获取文件的绝对路径 CString sFileName=dlg.GetPathName(); } 对文件读写的三种方法 void Savefile() { ...
阅读全文
2012-08-28 10:56 工业·编程 ⁄ 共 2844字 暂无评论
    现在网上下载的软件大部分都需要注册后才能使用其全部的功能,也就是说当前大部分软件都是建立了注册机制的,对于一个刚进入软件行业的程序员来说一定非常想了解其中的注册机制是怎样实现的。其实用VC开发软件,是可以很方便地加入注册机制的。 》》》用VC++实现版本在线升级     要实现软件注册功能,首先需要知道实现注册机制要涉及到的几个问题:1、如何加入注册检测,判断软件是否注册...
阅读全文