VC界面编程

一、改变视图背景色:
    在CView的OnDraw函数中添写如下一段程序代码:
 

  void CFileNameView::OnDraw(CDC* pDC)
  {
             CFileNameDoc* pDoc = GetDocument();
             ASSERT_VALID(pDoc);
             CRect rectClient;
             CBrush brushBkColor;
             GetClientRect(rectClient);
             brushBkColor.CreateSolidBrush(RGB(255,0,0)); //颜色设置
             pDC->DPtoLP(rectClient);
             pDC->FillRect(rectClient,&brushBkColor);
             …
  }



二、往基于对话框的程序添加菜单:
[1] 先添加菜单(IDR_MENU1)资源,并加上需要的菜单项。
[2] 编辑对话框资源IDD_DLGMENUTOOLBAR_DIALOG的属性,在属性对话框中选择IDR_MENU1即可。
 
[3] 假如您不希望在对话框属性中直接设置菜单,而通过代码在程序中动态生成可以采用如下方法:
在CFileNameDlg类声名中添加成员变量CMenu m_menu,再在CFileNameDlg::OnInitDialog() 中添加如下代码:

//加载菜单
m_menu.LoadMenu(IDR_MENU1);
//设置当前菜单
SetMenu(&m_menu);
//当你不需要菜单时可以用 SetMenu(NULL);来取消当前菜单



三、往基于Dialog的程序添加工具栏:
[1] 先添加工具栏(IDR_TOOLBAR1)资源,并画好各个按钮。
[2] 在CFileNameDlg类声名中添加成员变量 CToolBar m_wndtoolbar;
[3] 在CFileNameDlg::OnInitDialog() 中添加如下代码
//添加一个平面工具条

if (!m_wndtoolbar.CreateEx( this,TBSTYLE_FLAT ,  WS_CHILD | WS_VISIBLE | CBRS_ALIGN_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS, CRect(4,4,0,0)) || !m_wndtoolbar.LoadToolBar(IDR_TOOLBAR1) )
{
TRACE0("failed to create toolbar/n");
return FALSE;
}
m_wndtoolbar.ShowWindow(SW_SHOW);
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);



四、改变对话框背景色:
在CDlgMenuToolbarDlg::OnPaint()中修改代码实现Dialog 填充颜色:

CPaintDC dc(this);
CRect rect;
GetClientRect(rect);
dc.FillSolidRect(rect, RGB(60,110,170));


方法二、在InitInstance()(不是OnInitDialog())中加入:

SetDialogBkColor(RGB(255,0,0),RGB(0,255,0));



注意:要放在InitInstance函数的最前面!
五、为dialog的工具栏添加工具提示:
[1] 在CFileNameDlg类定义中手工添加消息映射函数的定义,如下黑体部分
 

//{{AFX_MSG(CFileNameDlg)
virtual BOOL OnInitDialog();
afx_msg void OnPaint();
afx_msg BOOL OnToolTipText(UINT, NMHDR* pNMHDR, LRESULT* pResult);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()



[2] 在CFileNameDlg.cpp添加函数的实现代码
//工具栏提示

BOOL CFileNameDlg::OnToolTipText(UINT, NMHDR* pNMHDR, LRESULT* pResult)
{
     ASSERT(pNMHDR->code == TTN_NEEDTEXTA || pNMHDR->code == TTN_NEEDTEXTW); 
     // UNICODE消息
     TOOLTIPTEXTA* pTTTA = (TOOLTIPTEXTA*)pNMHDR;
     TOOLTIPTEXTW* pTTTW = (TOOLTIPTEXTW*)pNMHDR;
     //TCHAR szFullText[512];
     CString strTipText;
     UINT nID = pNMHDR->idFrom;

     if (pNMHDR->code == TTN_NEEDTEXTA && (pTTTA->uFlags & TTF_IDISHWND) ||
         pNMHDR->code == TTN_NEEDTEXTW && (pTTTW->uFlags & TTF_IDISHWND))
     {
        // idFrom为工具条的HWND
        nID = ::GetDlgCtrlID((HWND)nID);
     }

     if (nID != 0) //不为分隔符
     {
        strTipText.LoadString(nID);
        strTipText = strTipText.Mid(strTipText.Find(’/n’,0)+1);
  
        #ifndef _UNICODE
        if (pNMHDR->code == TTN_NEEDTEXTA)
        {
           lstrcpyn(pTTTA->szText, strTipText, sizeof(pTTTA->szText));
        }
        else
        {
           _mbstowcsz(pTTTW->szText, strTipText, sizeof(pTTTW->szText));
        }
        #else
        if (pNMHDR->code == TTN_NEEDTEXTA)
        {
           _wcstombsz(pTTTA->szText, strTipText,sizeof(pTTTA->szText));
        }
        else
        {
           lstrcpyn(pTTTW->szText, strTipText, sizeof(pTTTW->szText));
        }
        #endif  
        *pResult = 0;  
        // 使工具条提示窗口在最上面
        ::SetWindowPos(pNMHDR->hwndFrom, HWND_TOP, 0, 0, 0, 0,SWP_NOACTIVATE|
        SWP_NOSIZE|SWP_NOMOVE|SWP_NOOWNERZORDER);
        return TRUE;
   }
   return TRUE;
}



[3] 在CFileNameDlg.cpp中添加消息映射,请看如下代码中的黑体部分

BEGIN_MESSAGE_MAP(CFileNameDlg, CDialog)
//{{AFX_MSG_MAP(CFileNameDlg)
ON_WM_PAINT()
ON_NOTIFY_EX( TTN_NEEDTEXT, 0, OnToolTipText )
//}}AFX_MSG_MAP
END_MESSAGE_MAP()



[4] 在CFileNameDlg.h中添加声明:

BOOL CFileNameDlg::OnToolTipText(UINT, NMHDR* pNMHDR, LRESULT* pResult);



六、给没有工具栏的窗口添加工具栏:
在资源管理器中编辑工具栏,并将其属性改为IDR_MAINFRAME,然后在MainFrm.h中声明:
CToolBar m_wndToolBar;
在MainFrm.cpp中添加:

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
    m_wndToolBar.Create(this);
    m_wndToolBar.LoadToolBar(IDR_MAINFRAME);
    ……;
}



停靠工具栏:在刚才添加的后面加入下面代码:

m_wndToolBar.SetBarStyle(m_wndToolBar.GetBarStyle()|CBRS_TOOLTIPS|CBRS_SIZE_DYNAMIC);
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndToolBar);//控制是否开启任意停靠



完善一下功能:
在菜单中添加一项“工具栏”,ID设为ID_VIEW_TOOLBAR,一切OK,试试吧!
七、创建分隔窗口:
只有框架类可以创建分隔,分隔可以嵌套。
在.h文件中声明 CSplitterWnd m_wndSplitter;并且包含COneView.h(新建视图类)和CWinFrame.h(新建框架类)文件;
然后在.cpp文件中加入:

BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
      if(!m_wndSplitter.CreateStatic(this,1,2))
         return FALSE;
      if(!m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(COneView),CSize(240,420),pContext))
         return FALSE;
      if(!m_wndSplitter.CreateView(0,1,RUNTIME_CLASS(CWinFrame),CSize(300,500),pContext))
         return FALSE;
    return TRUE;
}



当用户创建好分割窗口后,有时并不希望通过拖动切分条来调节窗口的大小。这时就必须锁定切分条。锁定切分条的最简单的方法莫过于不让 CSplitterWnd来处理WM_LBUTTONDOWN,WM_MOUSEMOVE,WM_SETCURSOR消息,而是将这些消息交给CWnd窗口进行处理,从而屏蔽掉这些消息。拿WM_LBUTTONDOWN处理过程来说。修改为如下:

void CXXSplitterWnd::OnLButtonDown(UINT nFlags,CPoint point)
{
  CWnd::OnLButtonDown(nFlags,point);
}



其余的处理方法类似。
八、“打开”按钮的设置:
    用类向导创建该按钮的click函数,选择默认值OnOpen,加入以下代码:

void CYourDlg::OnOpen()
{
       char szFileFilter[]=
       "BIN File(*.bin)|*.bin|"
       "All File(*.*)|*.*||";//文件类型过滤
       CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,szFileFilter);
       /* CFileDialog dlg(FALSE);
          dlg.m_ofn .lpstrFilter =_T("文本文件(*.txt)*.txt所有文件(*.*)*.*");
          dlg.m_ofn.lpstrDefExt=_T("txt"); */
       if(dlg.DoModal()==IDOK)
       {
          m_path = dlg.GetPathName();//将显示路径的Edit控件命名为m_path,并增加CString变量m_path
          UpdateData(FALSE); 
       } 
}



九、窗口居中:
在初始化(OnInit)函数中增加:CenterWindow();即可
十、对话框加状态条:
   

UINT indicators[]={ID_INITMESSAGE,ID_SEPARATOR,ID_TIMEMESSAGE,ID_PROGRESS};
m_statusbar.CreateEx(this,0,WS_CHILD | WS_VISIBLE | CBRS_BOTTOM);
m_statusbar.SetIndicators(indicators,4);
m_statusbar.ShowWindow (SW_SHOW);
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);



十一、设置初始窗口状态:

BOOL CObjectNameApp::InitInstance()
{
    m_pMainWnd->SetWindowText(""); //设置初始窗口标题文本
    m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED);//设置初始窗口为最大化
    m_pMainWnd->UpdateWindow();
}



对于MDI函数SetWindowText无效,主窗口的标题只能在资源列表中修改,子窗口标题在**doc.cpp中重载OnNewDocument(),调用SetTitle("LGdownload中文版");来修改。
设置初始窗口最大化的另一优化方法:

void CMainFrame::ActivateFrame(int nCmdShow)
{
    // TODO: Add your specialized code here and/or call the base class
    nCmdShow=SW_MAXIMIZE;
    CFrameWnd::ActivateFrame(nCmdShow);
}



十二、对话框透明特效:
在OnInitDialog()中加入以下代码:
//加入WS_EX_LAYERED扩展属性

SetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE,
GetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE)^0x80000);
HINSTANCE hInst = LoadLibrary("User32.DLL");
if(hInst)
{
   typedef BOOL (WINAPI *MYFUNC)(HWND,COLORREF,BYTE,DWORD);
   MYFUNC fun = NULL;
   //取得SetLayeredWindowAttributes函数指针
   fun=(MYFUNC)GetProcAddress(hInst, "SetLayeredWindowAttributes");
   if(fun)fun(this->GetSafeHwnd(),0,128,2);
   FreeLibrary(hInst);
}



注意:fun的参数128不能太小,否则就完全透明了!
十三、设置对话框里的STATIC控件颜色属性:
在该对话框增加WM_CTLCOLOR事件,加入以下代码:

if( nCtlColor==CTLCOLOR_STATIC )
{
    pDC->SetTextColor(RGB(255,255,255));
    pDC->SetBkColor(RGB(91,145,244));
    pDC->SetBkMode(TRANSPARENT); //设置透明
}



设置STATIC控件背景透明:

if( nCtlColor==CTLCOLOR_STATIC )
{
    pDC->SetBkMode(TRANSPARENT); //设置透明
    return (HBRUSH)::GetStockObject(NULL_BRUSH);
}



十四、使窗口的最大化和最小化按钮消失:
在PreCreateWindow函数中添加以下代码即可:
  

    int xSize = ::GetSystemMetrics( SM_CXSCREEN );
    int ySize = ::GetSystemMetrics( SM_CYSCREEN );
    cs.cx = xSize * 6 / 10;
    cs.cy = ySize * 6 / 10;
    cs.x = ( xSize - cs.cx ) / 2;
    cs.y = ( ySize - cs.cy ) / 2;

    cs.style &= ~WS_THICKFRAME;
    cs.style &= ~( WS_MAXIMIZEBOX | WS_MINIMIZEBOX );

    cs.dwExStyle |= WS_EX_TOOLWINDOW;



十五、设置控件字体颜色:(例如STATIC控件)
在OnCtlColor函数中添加如下代码:(可能需要选择STATIC的简单属性)

if(nCtlColor==CTLCOLOR_STATIC)  
{  pDC->SetTextColor(RGB(255,0,0));
   pDC->SetBkColor(RGB(128,128,128));//设置文本背景色
   pDC->SetBkMode(TRANSPARENT);//设置背景透明
}



其他控件的宏定义为:
  .CTLCOLOR_BTN       按钮控件
  .CTLCOLOR_DLG       对话框
  .CTLCOLOR_EDIT      编辑框
  .CTLCOLOR_LISTBOX   列表控件
  .CTLCOLOR_MSGBOX    消息控件
  .CTLCOLOR_SCROLLBAR 滚动条控件
  .CTLCOLOR_STATIC    静态控件 
十六、将字符转换为数字:

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



十七、调用外部应用程序可使用的函数:

CreateProcess、WinExec、ShellExecute。


例:ShellExecute(pWnd->m_wnd, "open", "my.exe", NULL, NULL, SW_NORMAL)
一、父窗体句柄,二、命令"open",三、文件路径,四、参数,五、运行路径,六、显示方式
十八、经典安装程序制作软件:InstallShield for Microsoft Visual C++6.0
release 方式是在build菜单中的Set Active configuration中改
在project菜单里面,选Add to Project的component and control来加入ocx控件
十九、控件的注册:
1.注册
regsvr32 x:/xxx/demo.ocx 不一定非得在 Windows 系统目录
2.卸载
regsvr32 /u x:/xxx/demo.ocx
二十、获取当前时间:

CTime m_time=CTime::GetCurrentTime();
char szText[100];
memset(szText,0,100);
sprintf(szText,"%d_%d_%d",m_time.GetHour(),m_time.GetMinite(),m_time.GetSecond());
// 如何得到当前时间日期
CTime time = CTime::GetCurrentTime();  
CString m_strTime = time.Format("%Y-%m-%d %H:%M:%S");
// 方法二
SYSTEMTIME ti;
GetSystemTime(&ti); // 如何得到当前时间日期
ti.wMilliseconds; // 得到毫秒时间
SYSTEMTIME time;
CString str;
GetLocalTime( &time );
str.Format( "%04d:%02d:%02d",time.wYear,time.wMonth.....);



二一、修改单文档程序的标题:

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);  



三一、文件查找:(例查找连续的换行符)

FILE *fp,*fp1;
int flag=0;
int ch;
fp=fopen("c://test.txt","r");
fp1=fopen("c://wrttest.txt","w");

while(!feof(fp))
{
  ch=fgetc(fp);
  if(feof(fp))
   break;
  if(ch==’/n’&&flag==1)
   continue;
  else if(ch==’/n’&&flag==0)
   flag=1;
  else
   flag=0;
  fputc(ch,fp1);
}
fclose(fp1);
fclose(fp);



三二、托盘菜单不点击不能消失的解决办法:
在菜单之后使用下述代码:
     

  CPoint pt;
  GetCursorPos(&pt);
        
  SetForegroundWindow();
  NotifyMenu.TrackPopupMenu(TPM_RIGHTBUTTON,pt.x,pt.y,this);
  PostMessage(WM_NULL,0,0);



三三、对话框由小到大显示的动画效果:
在InitDialog中增加:

ShowWindow(SW_HIDE);
CRect dlgRect;
GetClientRect(&dlgRect);
CPoint centerPoint;
centerPoint.x=dlgRect.Width()/2;
centerPoint.y=dlgRect.Height()/2;//得到对话框的中点坐标
CRgn testrgn;
this->ShowWindow(SW_HIDE);  
int m=GetSystemMetrics(SM_CYSIZEFRAME);

//以下代码实现对话框的动态弹出

for (int i=10;i<dlgRect.Width()/2+m;i+=1)
{   
  testrgn.CreateRectRgn(centerPoint.x-i,centerPoint.y-i,centerPoint.x+i,centerPoint.y+i);
  SetWindowRgn((HRGN) testrgn,TRUE);
  ShowWindow(SW_SHOW);
  CenterWindow();
  testrgn.DeleteObject();
}



三四、按行读出文本文件:
下面的例子演示了一行一行取,直到取完。

CStdioFile myFile;
CString ReadFileString;
if(myFile.Open("C://Readme.txt", Cfile::modeRead) == TRUE)
{
  while(myFile.ReadString(ReadFileString) != FALSE)
  {
        //... 处理代码
  }
}



三五、使用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:
  

CFileDialog file(true);
if(file.DoModal()==IDOK)
{
        CString filename=file.GetFileName();
        if(hwnd!=NULL)
        {
            MCIWndDestroy(hwnd);
        }
        hwnd=MCIWndCreate(this->m_hWnd,NULL,MCIWNDF_NOPLAYBAR,filename);
        ::ShowWindow(hwnd,SW_HIDE);
        MCIWndSetVolume(hwnd,1000);
        MCIWndPlay(hwnd);
}



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

CPoint pos;
GetCursorPos(&pos);//获取鼠标坐标
HDC hDC = ::GetDC(NULL);
COLORREF clr = ::GetPixel(hDC, pos.x, pos.y);
    
CString ClrText;
ClrText.Format("R:%d G:%d B:%d",GetRvalue(clr),GetGvalue(clr),GetBvalue(clr));



三九、打开一个网址:
打开[url]http://www.sina.com.cn[/url]这个站点如下:

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



此命令将以默认浏览器打开[url]http://www.sina.com.cn[/url],并将加开后的窗口最大化。
又例:

ShellExecute(NULL, "open", "IEXPLORE.exe [url]http://www.sina.com.cn[/url]",NULL, NULL, SW_MAXIMIZE );



此命令将直接用IE打开一个sina的站点。不过将开一个新的窗口。
四十、位图按钮:

CButton *pRadio = (CButton*)GetDlgItem(IDC_RADIO);
pRadio->SetBitmap(::LoadBitmap(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_BITMAP)));


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VC6界面编程小实例\A Drag and Drop List Control.doc ...................\MFC窗口位置管理详细分析及实例.doc ...................\Toolbar制作菜单条过程详解.doc ...................\VC++6.0定制窗口的方法.doc ...................\VC++中MFC窗口对象的清除.doc ...................\VC++任务栏提示区图标的实现.doc ...................\VC++动态加入和删除菜单的方法.doc ...................\VC++环境下浮动工具条的编程.doc ...................\VC++环境下菜单和工具栏的动态修改技术.doc ...................\VC中如何捕获和释放鼠标.doc ...................\VC控件 TreeCtrl 与 ListCtrl 演示.doc ...................\VC界面编程总结.doc ...................\VC编程中如何在界面上实现3D文字.doc ...................\VC编程实现IE风格的界面.doc ...................\VC编程实现IE风格的界面之叙述.doc ...................\VC设计分割视图通用创建框架.doc ...................\VC通用控件编程之CImageList控件.doc ...................\Visual C++中位图按钮的新颖设计.doc ...................\Visual C++中实现对图像数据的读取显示.doc ...................\Visual C++中的图形特技.doc ...................\Visual C++模态对话框消息处理机制的分析.doc ...................\Visual C++窗体设计技巧集.doc ...................\Visual C++窗口标题改变的几种方法.doc ...................\Windows 界面设计:拉帘按钮设计.doc ...................\XListBox-自画条目背景和文字颜色的listbox控件.doc ...................\XP风格控件界面库.doc ...................\一个功能强大的MFC界面处理扩展库:CJ60Lib.doc ...................\一个屏幕捕捉的例子.doc ...................\一段使窗口透明的代码(仅适用于2000).doc ...................\一种漂亮的自绘菜单.doc ...................\为CListBox加上智能水平滚动条.doc ...................\为列表控件添加水平滚动条.doc ...................\为对话框程序添加工具条和状态栏.doc ...................\从资源中加载皮肤, 使用免费界面库 AppFace For VC 0.2 美化您的软件.doc ...................\位图文件读写综述.doc ...................\使用CRectTracker类进行对象动态定位.doc ...................\使用CTabCtrl控件实现属性页功能.doc ...................\使用测试优先方法开发用户界面.doc ...................\关于内存DC绘图防止屏幕闪烁说明.doc ...................\创建有个性的对话框之MFC篇.doc ...................\利用VC编程界面上实现3D文字.doc ...................\利用钩子实现菜单阴影效果.doc ...................\制作 MSN、QQ 的消息提示窗口.doc ...................\单文档与多视的实现方法.doc ...................\图像平滑滚动效果的VC实现.doc ...................\在(CListView)列表视图中添加右键菜单.doc ...................\在ATL Browser Helper对象中使用WTL TreeView.doc ...................\在SDI MDI程序的工具条上加入漂亮的标题头.doc ...................\在VC++6.0开发中实现全屏显示.doc ...................\在VC下显示JPEG、GIF格式图像的一种简便方法.doc ...................\在VC中用CMenuXP使应用程序拥有Office XP风格的界面.doc ...................\在VC中透明浮动按键的实现.doc ...................\在Windows95,98中实现苹果窗口界面.doc ...................\在单文档中添加系统菜单项.doc ...................\在单文档程序中动态切换多个窗体.doc ...................\在对话框上加超链接.doc ...................\在类VC界面实现中加入目录树.doc ...................\在视图中同步显示鼠标的位置.doc ...................\如何创建一个不规则形状的窗口.doc ...................\如何创建无模式对话框.doc ...................\如何创建有模式对话框.doc ...................\如何制作弹出式菜单.doc ...................\如何在VC中改变控件的背景色.doc ...................\如何在状态条中加入图像.doc ...................\如何模拟《WORD》的窗口形式.doc ...................\如何编写类似于Word97的工具栏.doc ...................\如何隐藏显示在任务栏中的对话框程序.doc ...................\实现带阴影弹出的窗口.doc ...................\实现真正的Windows屏幕保护程序.doc ...................\对CXPStyleButtonST的改造.doc ...................\对话框隐藏的几种方法.doc ...................\带有菜单的EDIT控件实现.doc ...................\平面、带图片的按钮.doc ...................\扩展COleDropTarget类来支持任意窗口拖放.doc ...................\拖拉机客户端任务书.doc ...................\数据库开发之窗体编程.doc ...................\文档与视图的建立和关联.doc ...................\无闪烁刷屏技术的实现.doc ...................\显示作为窗口或对话框背景的位图.doc ...................\最简单的界面增强库EasySkin.doc ...................\树视控件在多文档中的使用.doc ...................\根据文本串的长度改变窗口的大小.doc ...................\用MFC对话框做无闪烁图片重绘.doc ...................\用SDK实现分隔条.doc ...................\用VC++制作有滚动字幕效果的软件封面.doc ...................\用VC设计托盘图标程序.doc ...................\用Visual C++实现带阴影弹出窗口的技术.doc ...................\用户界面设计的技巧与技术.doc ...................\百叶窗式面板组.doc ...................\窗口类的诞生.doc ...................\类似Vc和Outlook的界面.doc ...................\编程打开特殊的系统窗口.doc ...................\自绘菜单的实现.doc ...................\自绘边框窗口.doc ...................\让对话框显示背景图.doc ...................\谈VC++中的Progress控件的使用.doc

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值