VC++技术点滴

VC++中添加了RichEdit控件无法显示对话框解决方法

BOOL CDlgApp::InitInstance()
{
 AfxInitRichEdit();//添加该函数
}
*********************************************************************************************
m_listctrl_ChatMembers.SetExtendedStyle  ///listctrl的风格设定函数(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_HEADERDRAGDROP|LVS_EX_TRACKSELECT);

外部程序调用:WinExec("d://gnugk//bin//gnugk.exe -ttt" ,0);  //0后台运行 1 前台运行
**********************************************************************************************
用进程快照杀死进程:
void CTextkillDlg::OnButton1()
{
 // TODO: Add your control notification handler code here

 //#include <tlhelp32.h> ///在前面添加该头函数
 HANDLE hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
 if (hProcessSnap == INVALID_HANDLE_VALUE)
 {
  return ;
}
 PROCESSENTRY32 pe32 = {0};
 pe32.dwSize = sizeof(PROCESSENTRY32);
 // 遍历拍下来的所有进程
 if (Process32First(hProcessSnap, &pe32))
 {
  do
  {
   if (pe32.th32ProcessID && pe32.dwSize<=sizeof(PROCESSENTRY32))
   {
    CString s;
    s.Format("%s",pe32.szExeFile);
    if(!s.Compare("gnugk.exe"))
    {
     HANDLE hd;
     hd=OpenProcess(PROCESS_ALL_ACCESS,FALSE,pe32.th32ProcessID);
     if(hd!=NULL) TerminateProcess(hd,1);
    }
   }
  } while (Process32Next(hProcessSnap, &pe32));
 }

 CloseHandle(hProcessSnap);
}
***********************************************************************************************
                                           VC中如何给标题栏添加控件(单文档或多文档窗口)
1、先建立工程文件。在资源视图的Dialog栏,右键,Insert..... 在出的资源中,展开Dialog树。选择第一个对话框资源IDD_DIALOGBAR,在点新建。资源的ID是IDD_DIALOGBAR。
2、在MainFrm.h中的析构函数virtual ~CMainFrame();前添加CDialogBar m_wndDialogBar;
3、在MainFrm.cpp中的int CMainFrame::OnCreate的return 0;之前添加代码
 m_wndDialogBar.Create(this,IDD_DIALOGBAR,CBRS_TOP|CBRS_GRIPPER|CBRS_TOOLTIPS|CBRS_FLYBY|CBRS_SIZE_DYNAMIC,IDD_DIALOGBAR);
    m_wndDialogBar.EnableDocking(CBRS_ALIGN_ANY);
 EnableDocking(CBRS_ALIGN_ANY);
 DockControlBar(&m_wndDialogBar);
*********************************************************************************************
                                           ActiveSkin 4.3在VC++6.0的使用
                                                     (不断补充完善,请留意本站更新)

1、A simple dialog-based application.
      先在对话框中加入皮肤控件:对话框右键Inser ActiveX Control->ActiveSkin4.3控件
      控件出来后,在控件右键,加载皮肤,找到皮肤文件(*.skn)加载进去。
      在stdafx.h文件的//{{AFX_INSERT_LOCATION}}之前加代码:    
      #import "actskn43.ocx" no_implementation raw_interfaces_only raw_native_types
      using namespace ACTIVESKINLib;
       #include "atlbase.h"
     
然后在**Dlg.cpp中的OnInitDialog()的return之前加
    
CComQIPtr<ISkin> pSkin = GetDlgItem(IDC_SKIN1)->GetControlUnknown();
     //pSkin->ApplySkin((long)m_hWnd);//标准皮肤
     pSkin->ApplySkinByName((long)m_hWnd,L"Skin_Object_Name");//自由皮肤
     然后编译运行即可见皮肤效果
    皮肤事件触发处理
    打开ClassWizard,对皮肤控件的Click事件添加消息处理函数OnClickSkin 
    对
OnClickSkin 函数添加代码:
    CComBSTR bstrName; // Name of the SkinObject that has generated Click event
    CComQIPtr<ISkinObject> pSkinObject = Source; // Get this SkinObject
    pSkinObject->GetName(&bstrName); // Get its name
    USES_CONVERSION; 
    MessageBox(W2T(bstrName)); // Convert its name to multibyte and display it in message box.

  
MessageBox将自由皮肤上的伪控件对象名返回,我们可以根据名字判断用户对皮肤进行的鼠标点击操作我们从而可以根据不同的操作进行不同的处理。

2、MDI or SDI applications

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值